You are on page 1of 2218

REST API Reference

Cornerstone SBX | Update 56 | Jul 2023


Published: 06/12/2023
Part Number: G-RAR-SCU56-0
REST API Reference | Contents | iii

Contents

Limitations on Warranties and Liability................................xxiii

Preface: About This Guide.......................................................xxv


Intended Audience............................................................................................................................xxv
How to Contact Cornerstone........................................................................................................xxv

Part I: REST Web Services..........................................................27

Chapter 1: Introduction.......................................................29

Chapter 2: Use Cornerstone SBX REST APIs.......................31


Authentication...........................................................................................................................32
Maximum number of REST API calls..................................................................................32
URL Format.................................................................................................................................32
Enabling REST Web Services in Cornerstone SBX.........................................................33
Example (a typical client side program)...........................................................................33

Chapter 3: Some Quick Info................................................37


Status/Error Codes..................................................................................................................38
Using custom fields with the supported data types and values..............................39
No support for Microsites.......................................................................................................41
Search REST APIs......................................................................................................................41
Special Characters..................................................................................................................43
Encoding space for the criteria parameter value........................................................43
POST methods - Duplicate records....................................................................................44
Using Lookup fields..................................................................................................................44
Retrieving additional details using Field Selectors.......................................................47
Deprecated URLs.....................................................................................................................48
Field length of the data fields..............................................................................................49
Retrieve locale specific data using REST APIs...............................................................50
Specifying multiple conditions in POST based searches.............................................51
Audit reason for audit actions..............................................................................................51
Sorting of the result set.........................................................................................................52
APIs excluded from Monthly API limit................................................................................52
REST API Reference | Contents | iv

Chapter 4: Authentication..................................................53
Using Certificate based Authentication...........................................................................54
Using OAuth 2.0.........................................................................................................................55
Getting a Consumer key.............................................................................................55
Getting the Authorization code...............................................................................55
Getting the Access Token..........................................................................................56
Invoking REST APIs.......................................................................................................59

Chapter 5: People.................................................................61
Getting started with the People web services...............................................................62
Extracting Metadata of the available Attributes...............................................62
Searching People data................................................................................................63
Using GET to retrieve People data..........................................................................65
Using POST to create People data..........................................................................67
Using PUT to update People data.............................................................................71
Using DELETE to delete a sub object of People data........................................73
Attributes for the People end point........................................................................74
GET Methods.............................................................................................................................99
FIND PROFILE INFORMATION.....................................................................................99
GET ALL PERSONS (INTERNAL/EXTERNAL).........................................................106
GET CERTIFICATIONS/ENROLLMENTS/TRANSCRIPTS FOR A PERSON.......108
GET DETAILS OF DESIRED COMPONENT FOR A PERSON.................................114
GET METADATA OF SPECIFIC PEOPLE ATTRIBUTES..........................................117
GET REQUIRED PROFILE DETAILS OF A PARTICULAR PERSON......................119
GET JOB / SECURITY ROLES OF A PARTICULAR PERSON................................123
GETAUDIENCETYPE/AUDIENCESUBTYPESASSIGNEDTOAPERSON(DEPRECATED).128
GET AUDIENCE TYPE / AUDIENCE SUB TYPES ASSIGNED TO A PERSON.....129
GET PROFILE PIC URL.................................................................................................130
GET PROFILE PIC...........................................................................................................131
GET PERSON'S RESOURCE DETAILS........................................................................131
GET PERSON'S FOLLOWERS.....................................................................................133
GET PERSON'S FOLLOWINGS...................................................................................134
POST Methods..........................................................................................................................135
SEARCH PROFILE INFORMATION.............................................................................135
ADD EDUCATION DETAILS FOR A PERSON...........................................................143
ADD CUSTOM SECTION DETAILS FOR A PERSON..............................................146
ADD FLIGHTRISK DETAILS FOR A PERSON...........................................................148
ADD LANGUAGE DETAILS FOR A PERSON............................................................149
ADD POTENTIAL POSITIONS DETAILS OF A PERSON..........................................151
ADD RETIREMENT RISK DETAILS OF A PERSON..................................................152
ADD CAREER INTERESTS DETAILS OF A PERSON..............................................153
ADD EXTERNAL CERTIFICATIONS DETAILS OF A PERSON..............................154
REST API Reference | Contents | v

ADD IM PROFILE DETAILS OF A PERSON...............................................................157


ADD INTERNAL WORK HISTORY DETAILS OF A PERSON..................................158
ADD EXTERNAL WORK HISTORY DETAILS OF A PERSON................................160
ADD MOBILITY DETAILS OF A PERSON..................................................................162
ADD POTENTIAL RATING DETAILS OF A PERSON...............................................163
ADD SECURITY ROLES OF A PERSON.....................................................................164
ADD REQUIRED JOB ROLES OF A PERSON...........................................................166
ADD OPTIONAL JOB ROLES OF A PERSON...........................................................167
ADD GRID CUSTOM SECTION'S DETAILS FOR A PERSON.................................167
ASSIGN AUDIENCE TYPE / SUB AUDIENCE TYPE TO A PERSON....................169
ASSIGN PERSON AS A RESOURCE...........................................................................170
ADD SECONDARY ADDRESS FOR A PERSON........................................................172
ADD CURRENCY TO PERSON....................................................................................173
FOLLOW PERSONS.......................................................................................................175
CREATE A PROFILE [EXTERNAL PERSON]............................................................176
CREATE A PROFILE [INTERNAL PERSON].............................................................185
PUT Methods............................................................................................................................195
UPDATE A PERSON'S FLIGHTRISK DETAILS.........................................................195
UPDATE PERSON'S RESOURCE AND RATE DETAILS..........................................197
UPDATE A PROFILE FOR GIVEN PERSON ID [EXTERNAL]................................199
UPDATE A PROFILE FOR GIVEN PERSON ID [INTERNAL]..................................213
UPDATE A PROFILE FOR GIVEN PERSON NAME [EXTERNAL]........................226
UPDATE A PROFILE FOR GIVEN PERSON NAME [INTERNAL].........................240
UPDATE COREPROFILE DETAILS OF A PERSON.................................................254
UPDATE LANGUAGES DETAILS OF A PERSON....................................................255
UPDATE CAREER INTERESTS DETAILS OF A PERSON......................................257
UPDATE EDUCATION DETAILS OF A PERSON.....................................................258
UPDATE EXTERNAL CERTIFICATIONS DETAILS OF A PERSON.......................261
UPDATE IM PROFILE DETAILS OF A PERSON......................................................263
UPDATE INTERESTS DETAILS OF A PERSON.......................................................264
UPDATE INTERNAL WORK HISTORY DETAILS OF A PERSON..........................265
UPDATE EXTERNAL WORK HISTORY DETAILS OF A PERSON.........................267
UPDATE MOBILITY DETAILS OF A PERSON..........................................................269
UPDATE NETWORK INFO DETAILS OF A PERSON..............................................270
UPDATE POTENTIAL POSITIONS DETAILS OF A PERSON.................................271
UPDATE POTENTIAL RATING DETAILS OF A PERSON.......................................272
UPDATE RETIREMENT RISK DETAILS OF A PERSON..........................................274
UPDATE Cornerstone SBX MEETING PROFILE DETAILS OF A PERSON......276
UPDATE SECONDARY ADDRESS DETAILS OF A PERSON.................................277
UPDATE CUSTOM SECTION OF A PERSON...........................................................278
UPDATE CUSTOM SECTION OF A PERSON (WITHOUT PASSING SECTION ID).280
UPDATE AUDIENCE TYPES / AUDIENCE SUB TYPES ASSIGNED TO A PERSON.282
UPDATE A PERSON'S GRID CUSTOM SECTION DETAILS.................................284
UPDATEAPERSON'SGRIDCUSTOMSECTIONDETAILS(PERSONLOOKUPSUPPORTED)
.....................................................................................................................................285
REST API Reference | Contents | vi

UPDATE TALENT DATA OF A PERSON..................................................................286


REMOVE/UPDATE JOB / SECURITY ROLES OF A PERSON..............................289
UPDATE TEAM DETAILS OF A PERSON.................................................................290
MARK CURRENCY ACTIVE/INACTIVE....................................................................293
MERGE PERSON'S PROFILE......................................................................................294
UPDATE A PERSON'S PROFILE PIC.........................................................................296
ASSESS PERSON'S COMPETENCY..........................................................................297
DELETE Methods....................................................................................................................300
DELETE A SPECIFIC COMPONENT FROM A PERSON.......................................300
DELETE A SECURITY ROLE FROM A PERSON......................................................302
DELETE A REQUIRED JOB ROLE FROM A PERSON............................................302
DELETE AN OPTIONAL JOB ROLE FROM A PERSON.........................................303
DELETE AN AUDIENCE TYPE / AUDIENCE SUB TYPES ASSIGNED TO A PERSON.304
DELETE PERSON'S QUALIFIED LEARNING INFORMATION...............................305
DELETE PERSON'S RATE INFORMATION..............................................................305
DELETE PERSON'S SPOKEN LANGUAGE INFORMATION.................................306
DELETE PERSON'S CURRENCY................................................................................307
DELETE PERSON'S INTERNAL WORK HISTORY DETAILS..................................307
DELETE PERSON'S CURRENCY BASED ON CURRENCY ISOCODE LOOKUP.308
PURGE PERSON'S PROFILE......................................................................................309
CANCEL ALL ENROLLMENTS OF A LEARNER.....................................................309
STOP FOLLOWING A PERSON..................................................................................310
DELETE A PERSON'S PROFILE PIC............................................................................311

Chapter 6: Common...........................................................313
Retrieve all privileges for a component..........................................................................314
Retrieve all privileges for a component in the given domain..................................314
Retrieve specific privileges for a component in the given domain.......................314

Chapter 7: Foundation.......................................................317
Common....................................................................................................................................318
GLOBAL SEARCH..........................................................................................................318
Attachment..............................................................................................................................322
FIND DETAILS OF ATTACHMENT FOR A GIVEN ID..............................................323
GET ACTUAL CONTENT OF AN ATTACHMENT...................................................326
FIND ALL ATTACHMENTS..........................................................................................326
FIND ALL PUBLIC/PRIVATE ATTACHMENTS........................................................328
CREATE A NEW ATTACHMENT (FILE)...................................................................330
CREATE A NEW ATTACHMENT (URL).....................................................................331
UPDATE AN ATTACHMENT.......................................................................................334
GET ATTACHMENT RESOURCE...............................................................................335
ADD ATTACHMENT TO OBJECT..............................................................................336
DELETE ATTACHMENT RESOURCE........................................................................337
REST API Reference | Contents | vii

GET ALL ATTACHMENTS FOR AN OBJECT..........................................................337


Audience Type........................................................................................................................338
GET ALL AUDIENCETYPES........................................................................................338
FIND META DETAILS OF AUDIENCE TYPES..........................................................339
FIND DETAILS OF AUDIENCETYPES.......................................................................344
GET DETAILS OF A PARTICULAR AUDIENCE TYPE............................................345
CREATE A NEW AUDIENCE TYPE............................................................................347
UPDATE DETAILS OF AN AUDIENCE TYPE...........................................................348
GET PERSONS ASSIGNED TO AUDIENCE TYPE..................................................350
ASSIGN PERSONS TO AUDIENCE TYPE.................................................................350
Sub Audience Type................................................................................................................352
FIND DETAILS OF SUB AUDIENCE TYPES..............................................................352
FIND META DETAILS OF SUB AUDIENCE TYPES.................................................353
GET ALL SUB AUDIENCE TYPES..............................................................................358
GET DETAILS OF A PARTICULAR SUB AUDIENCE TYPE...................................360
CREATE A NEW SUB AUDIENCE TYPE....................................................................361
FINDTHEDETAILSOFSUBAUDIENCETYPE(USINGPOST-RANGEBASEDSEARCH).362
UPDATE DETAILS OF A SUB AUDIENCE TYPE.....................................................363
Competency............................................................................................................................365
GET ALL COMPETENCIES.........................................................................................365
FIND DETAILS OF COMPETENCIES.........................................................................366
GET DETAILS OF A PARTICULAR COMPETENCY...............................................368
GET META DETAILS OF COMPETENCIES..............................................................370
CREATE A NEW COMPETENCY................................................................................374
UPDATE DETAILS OF A COMPETENCY..................................................................378
UPDATE LOCALE-SPECIFIC DETAILS OF COMPETENCY.................................383
Country......................................................................................................................................385
FIND DETAILS OF COUNTRY.....................................................................................385
GET ALL COUNTRIES..................................................................................................386
GET DETAILS OF A PARTICULAR COUNTRY........................................................387
GET META DETAILS OF COUNTRY..........................................................................388
CREATE A NEW COUNTRY........................................................................................390
UPDATE DETAILS OF A COUNTRY...........................................................................391
UPDATE LOCALE-SPECIFIC DETAILS OF COUNTRY..........................................392
Language..................................................................................................................................393
FIND DETAILS OF THE LANGUAGE.........................................................................393
GET ALL LANGUAGES................................................................................................394
GET DETAILS OF A PARTICULAR LANGUAGE......................................................397
GET THE DETAILS OF A PARTICULAR LANGUAGE WITH SEARCH FIELDS...397
CREATE A NEW LANGUAGE.....................................................................................398
UPDATE THE DETAILS OF A LANGUAGE..............................................................399
Locales......................................................................................................................................400
GET LOCALES..............................................................................................................400
State............................................................................................................................................401
FIND DETAILS OF STATE............................................................................................401
REST API Reference | Contents | viii

GET ALL STATES.........................................................................................................402


GET DETAILS OF A PARTICULAR STATE...............................................................404
GET META DETAILS OF STATE................................................................................404
CREATE A NEW STATE..............................................................................................406
UPDATE DETAILS OF A STATE.................................................................................407
DELETE STATE.............................................................................................................408
UPDATE LOCALE-SPECIFIC DETAILS OF STATE................................................409
Currency....................................................................................................................................410
FIND DETAILS OF CURRENCIES................................................................................410
FIND META DETAILS OF CURRENCY........................................................................411
GET ALL CURRENCIES................................................................................................413
GET DETAILS OF A PARTICULAR CURRENCY.......................................................414
FIND DETAILS OF CURRENCY (USING POST - RANGE BASED SEARCH)......415
Currency Exchange Rate......................................................................................................417
FIND META DETAILS OF EXCHANGE RATE............................................................417
GET ALL EXCHANGE RATES.....................................................................................420
GET DETAILS OF A PARTICULAR EXCHANGE RATE...........................................421
FIND DETAILS OF EXCHANGE RATE.......................................................................422
FIND DETAILS OF EXCHANGE RATE (USING POST - RANGE BASED SEARCH).424
CREATE A NEW EXCHANGE RATE..........................................................................427
UPDATE DETAILS OF A EXCHANGE RATE............................................................428
DELETE A EXCHANGE RATE.....................................................................................429
Facility.......................................................................................................................................430
GET ALL FACILITIES....................................................................................................430
FIND DETAILS OF FACILITIES....................................................................................431
GET DETAILS OF A PARTICULAR FACILITY..........................................................432
GET META DETAILS OF FACILITIES........................................................................433
CREATE A NEW FACILITY..........................................................................................442
UPDATE DETAILS OF A FACILITY............................................................................445
DELETE A FACILITY.....................................................................................................447
Job Type...................................................................................................................................448
GET ALL JOBTYPES....................................................................................................448
FIND DETAILS OF JOBTYPES...................................................................................449
FIND META DETAILS OF JOB TYPES.......................................................................451
GET DETAILS OF JOB TYPE.......................................................................................457
CREATE A NEW JOB TYPE........................................................................................459
UPDATE DETAILS OF A JOB TYPE...........................................................................461
UPDATE LOCALE-SPECIFIC DETAILS OF JOBTYPE...........................................463
Job Family................................................................................................................................465
GET ALL JOBFAMILIES...............................................................................................465
FIND DETAILS OF JOBFAMILIES..............................................................................466
FIND META DETAILS OF JOB FAMILIES.................................................................467
GET DETAILS OF A PARTICULAR JOB FAMILY....................................................468
CREATE A NEW JOB FAMILY....................................................................................469
UPDATE DETAILS OF A JOB FAMILY......................................................................470
REST API Reference | Contents | ix

UPDATE LOCALE-SPECIFIC DETAILS OF JOB FAMILY......................................472


List Value...................................................................................................................................473
GET A PARTICULAR LIST VALUE.............................................................................473
GET LIST VALUE BY LIST ID AND LIST VALUE NAME.........................................474
SEARCH LIST VALUES................................................................................................475
ADD VALUE TO LOV FOR AN ATTRIBUTE..............................................................476
UPDATE VALUE OF LIST.............................................................................................477
DELETE ITEM FROM LIST...........................................................................................478
DELETE ITEM FROM LIST (BY LISTID AND NAME OF LIST VALUE).................479
Location.....................................................................................................................................479
GET ALL LOCATIONS..................................................................................................480
FIND DETAILS OF LOCATIONS.................................................................................480
FIND META DETAILS OF LOCATIONS.....................................................................482
GET DETAILS OF A PARTICULAR LOCATION.......................................................489
CREATE A NEW LOCATION........................................................................................491
UPDATE DETAILS OF A PARTICULAR LOCATION...............................................494
Organization............................................................................................................................497
GET ALL ORGANIZATIONS........................................................................................497
FIND DETAILS OF INTERNAL/EXTERNAL ORGANIZATIONS.............................499
GET DETAILS OF AN ORGANIZATION.....................................................................502
GET META DETAILS OF AN ORGANIZATION........................................................505
CREATE A NEW INTERNAL ORGANIZATION.........................................................526
UPDATE DETAILS OF AN INTERNAL ORGANIZATION........................................532
CREATE A NEW EXTERNAL ORGANIZATION........................................................542
UPDATE DETAILS OF AN EXTERNAL ORGANIZATION.......................................548
Positions....................................................................................................................................558
GET META DETAILS OF POSITIONS........................................................................558
FIND DETAILS OF POSITIONS...................................................................................566
FIND DETAILS OF POSITIONS (Using POST - Range based search)............567
GET ALL POSITIONS....................................................................................................569
GET DETAILS OF A PARTICULAR POSITION.........................................................570
CREATE A NEW POSITION.........................................................................................572
UPDATE DETAILS OF A POSITION...........................................................................578
DELETE POSITION OF A PERSON............................................................................580
UPDATE POSITION INCUMBENT OF A PERSON...................................................582
ASSIGN POSITION FOR A PERSON..........................................................................583
Roles...........................................................................................................................................585
GET ALL ROLES............................................................................................................585
FIND DETAILS OF ROLES...........................................................................................586
GET META DETAILS OF AVAILABLE ROLES.........................................................587
GET DETAILS OF A PARTICULAR ROLE..................................................................591
CREATE A NEW ROLE.................................................................................................593
UPDATE DETAILS OF A ROLE...................................................................................597
UPDATE LOCALE-SPECIFIC DETAILS OF ROLE..................................................600
Note.............................................................................................................................................601
REST API Reference | Contents | x

FIND DETAILS OF NOTES...........................................................................................601


FIND DETAILS OF NOTES FOR GIVEN NOTE ID...................................................603
FIND DETAILS OF NOTES FOR GIVEN REFERENCE ID.......................................604
FIND META DETAILS OF NOTES..............................................................................605
CREATE A NEW NOTE................................................................................................608
Security Roles.........................................................................................................................609
GET SECURITY ROLE'S METADATA........................................................................609
GET ALL SECURITY ROLES........................................................................................612
GET DETAILS OF A PARTICULAR SECURITY ROLE.............................................614
FIND DETAILS OF SECURITY ROLES........................................................................615
Security Domain......................................................................................................................616
GET SECURITY DOMAIN'S METADATA...................................................................616
GET ALL SECURITY DOMAINS...................................................................................621
GET DETAILS OF A PARTICULAR SECURITY DOMAIN.......................................623
Smart List.................................................................................................................................624
GET ALL SMARTLISTS................................................................................................624
FIND META DETAILS OF SMARTLISTS...................................................................625
FIND DETAILS OF SMARTLISTS................................................................................627
GET DETAILS OF A PARTICULAR SMARTLIST.....................................................629
GET PERSON'S MATCHING CRITERIA OF A PARTICULAR SMARTLIST..........631
CREATE A NEW SMARTLIST.....................................................................................633
UPDATE DETAILS OF A SMARTLIST........................................................................641
DELETE A SMARTLIST................................................................................................649
UPDATE LOCALE-SPECIFIC DETAILS OF SMARTLIST......................................649
ADD SMARTLIST AS CRITERIA FOR AUDIENCE TYPE.......................................650
Timezone...................................................................................................................................651
GET TIMEZONE'S METADATA...................................................................................651
GET ALL TIMEZONES..................................................................................................653
GET DETAILS OF A PARTICULAR TIMEZONE.......................................................655

Chapter 8: Social...............................................................657
Resource...................................................................................................................................658
GET DETAILS OF A SOCIAL RESOURCE................................................................658
FIND SOCIAL RESOURCES.........................................................................................661
FIND SOCIAL RESOURCES (USING POST - RANGE BASED SEARCH)...........666
FIND SOCIAL RESOURCE OF A GROUP...................................................................671
FIND SOCIAL RESOURCE OF A GROUP (USING POST - RANGE BASED SEARCH).674
POST IDEA TO Cornerstone SBX ACTIVITY STREAM........................................675
POST ISSUE TO Cornerstone SBX ACTIVITY STREAM......................................677
POST LINK TO Cornerstone SBX ACTIVITY STREAM........................................679
POST FILE TO Cornerstone SBX ACTIVITY STREAM.........................................681
UPDATE IDEA POSTED ON Cornerstone SBX ACTIVITY STREAM.................684
UPDATE ISSUE POSTED ON Cornerstone SBX ACTIVITY STREAM..............686
UPDATE LINK POSTED ON Cornerstone SBX ACTIVITY STREAM.................689
REST API Reference | Contents | xi

UPDATE FILE POSTED ON Cornerstone SBX ACTIVITY STREAM..................691


DELETE IDEA POSTED ON Cornerstone SBX ACTIVITY STREAM..................693
DELETE ISSUE POSTED ON Cornerstone SBX ACTIVITY STREAM...............694
DELETE LINK POSTED ON Cornerstone SBX ACTIVITY STREAM..................694
DELETE FILE POSTED ON Cornerstone SBX ACTIVITY STREAM..................695
Interactions.............................................................................................................................695
LIKE OR DISLIKE A RESOURCE.................................................................................695
UNLIKE A RESOURCE.................................................................................................696
GET COMMENT DETAILS OF A RESOURCE..........................................................697
GET LIKE DETAILS OF A RESOURCE......................................................................698
POST A COMMENT ON A RESOURCE....................................................................699
GET SOCIAL INTERACTIONS OF A USER...............................................................700
Groups.......................................................................................................................................703
GET GROUP DETAILS..................................................................................................703
SEARCH MY GROUPS.................................................................................................704
SEARCH ALL GROUPS (ADMIN MODE)..................................................................706
SEARCH MY GROUPS (POST BASED)....................................................................708
MANAGE GROUP MEMBERSHIP...............................................................................710
Discussions.................................................................................................................................711
GET DISCUSSION DETAILS..........................................................................................711
START A NEW DISCUSSION........................................................................................712
UPDATE THE DISCUSSION DETAILS........................................................................713
DELETE A DISCUSSION................................................................................................714

Chapter 9: Learning...........................................................717
Attendance...............................................................................................................................718
GET META DETAILS OF ATTENDANCE...................................................................718
GET DETAILS OF A PARTICULAR ATTENDANCE.................................................720
MARK ATTENDANCE FOR A LEARNER....................................................................721
UPDATE ATTENDANCE IN BULK..............................................................................723
SEARCH DETAILS OF AN ATTENDANCE................................................................725
SEARCH DETAILS OF AN ATTENDANCE (USING POST - RANGE BASED SEARCH).728
Common.....................................................................................................................................731
GET ALL RECORDS OF A COMPONENT..................................................................731
GET DETAILS OF A PARTICULAR COMPONENT..................................................732
GET META DETAILS OF A COMPONENT................................................................737
DELETE A PATH, MODULE OR INTERVENTION....................................................782
Class...........................................................................................................................................783
GET ALL CLASSES.......................................................................................................783
FIND DETAILS OF CLASSES......................................................................................785
GET META DETAILS OF A BLENDED CLASS.........................................................793
GET META DETAILS OF AN ILT CLASS...................................................................807
GET DETAILS OF A CLASS.........................................................................................821
FIND EXTENDED DETAILS OF CLASSES................................................................860
REST API Reference | Contents | xii

FIND EXTENDED DETAILS OF CLASSES (Using POST - Range based search).865


GET META DETAILS OF A VIRTUAL CLASS............................................................871
GET META DETAILS OF A WBT CLASS..................................................................885
CREATE A NEW BLENDED CLASS..........................................................................899
CREATE A NEW ILT CLASS.......................................................................................908
CREATE A NEW VIRTUAL CLASS.............................................................................921
CREATE A NEW WBT CLASS.....................................................................................941
UPDATE A BLENDED CLASS....................................................................................950
UPDATE AN ILT CLASS...............................................................................................956
UPDATE A VIRTUAL CLASS.......................................................................................967
UPDATE A WBT CLASS..............................................................................................983
GET ALL OFFERINGS OF INSTRUCTOR.................................................................988
RETRIEVE ALL LEARNING ASSIGNMENTS OF A CLASS....................................994
ADD LEARNING ASSIGNMENTS TO A CLASS......................................................996
UPDATE LEARNING ASSIGNMENTS OF A CLASS...............................................997
PUBLISH LEARNING ASSIGNMENTS.......................................................................999
MARK CLASS AS DELIVERED/CANCELLED.........................................................1001
CANCEL ALL ENROLLMENTS OF A CLASS..........................................................1012
RETRIEVE ALL SESSIONS OF AN OFFERING........................................................1012
MARK CLASS REGISTRATION AS NO_SHOW/WALK_IN...................................1021
ADD DROP POLICY TO CLASS................................................................................1022
DELETE DROP POLICY FROM CLASS...................................................................1023
UPDATE LOCALE-SPECIFIC DETAILS OF BLENDED CLASS...........................1024
UPDATE LOCALE-SPECIFIC DETAILS OF ILT CLASS.......................................1025
UPDATE LOCALE-SPECIFIC DETAILS OF VIRTUAL CLASS.............................1027
UPDATE LOCALE-SPECIFIC DETAILS OF WBT OFFERING.............................1028
Certification...........................................................................................................................1030
GET DETAILS OF A CERTIFICATION......................................................................1030
FIND DETAILS OF CERTIFICATION/CURRICULUM.............................................1037
FINDDETAILSOFCERTIFICATION/CURRICULUM(UsingPOST-Rangebasedsearch).1047
CREATE A NEW CERTIFICATION............................................................................1055
UPDATE DETAILS OF A CERTIFICATION..............................................................1067
UPDATE LOCALE-SPECIFIC DETAILS OF CERTIFICATION.............................1075
Course......................................................................................................................................1076
GET ALL COURSES.....................................................................................................1077
FIND DETAILS OF COURSES....................................................................................1078
FIND DETAILS OF COURSE (Using POST - Range based search)................1081
GET DETAILS OF A PARTICULAR COURSE.........................................................1085
GET META DETAILS OF COURSE...........................................................................1088
CREATE A NEW COURSE...........................................................................................1122
UPDATE DETAILS OF A COURSE.............................................................................1133
UPDATE LOCALE-SPECIFIC DETAILS OF COURSE............................................1142
Recurring Course Completions........................................................................................1144
FIND DETAILS OF RECURRING COURSE COMPLETIONS.................................1144
FINDDETAILSOFRECURRINGCOURSECOMPLETIONS(UsingPOST-Rangebasedsearch).1151
REST API Reference | Contents | xiii

Categories...............................................................................................................................1158
GET ALL CATEGORIES...............................................................................................1159
GET DETAILS OF A PARTICULAR CATEGORY.....................................................1160
GETDETAILSOFAPARTICULARCATEGORYALONGWITHITSHIERARCHY(SUB-CATEGORIES).1162
REMOVE A CATEGORY..............................................................................................1164
ADD CATEGORIES TO A COURSE...........................................................................1165
ADD CATEGORIES TO A COURSE (LOOKUP BASED)........................................1166
REMOVE CATEGORY FROM A COURSE................................................................1167
CREATE A NEW CATEGORY.....................................................................................1167
UPDATE CATEGORY....................................................................................................1171
FIND DETAILS OF CATEGORIES...............................................................................1175
ADD TAGS TO CATEGORY........................................................................................1178
REMOVE TAGS FROM CATEGORY..........................................................................1179
Catalog.....................................................................................................................................1180
GET ALL DETAILS OF POLICIES ON COURSE, DELIVERY MODE OR OFFERING.1180
GETDETAILSOF(SPECIFIC)POLICIESONCOURSE,DELIVERYMODEOROFFERING.1182
UPDATE DETAILS OF POLICIES ON COURSE, DELIVERY MODE OR OFFERING.1183
Curriculum...............................................................................................................................1188
GET DETAILS OF A CURRICULUM...........................................................................1188
FIND DETAILS OF CERTIFICATION/CURRICULUM..............................................1192
FINDDETAILSOFCERTIFICATION/CURRICULUM(UsingPOST-Rangebasedsearch).1200
CREATE A NEW CURRICULUM................................................................................1207
UPDATE DETAILS OF A CURRICULUM...................................................................1215
UPDATE LOCALE-SPECIFIC DETAILS OF CURRICULUM.................................1222
Delivery mode........................................................................................................................1223
GET META DETAILS OF DELIVERY MODE............................................................1224
GET ALL DELIVERY MODE........................................................................................1234
GET DETAILS OF A PARTICULAR DELIVERY MODE..........................................1235
FIND DETAILS OF DELIVERY MODE.......................................................................1237
FIND DETAILS OF DELIVERY MODE (USING POST - RANGE BASED SEARCH).1238
CREATE A NEW DELIVERY MODE..........................................................................1239
UPDATE DETAILS OF A DELIVERY MODE............................................................1242
Held Checklist........................................................................................................................1244
GET META DETAILS OF HELD CHECKLIST..........................................................1245
GET DETAILS OF A PARTICULAR HELD CHECKLIST .......................................1253
GET ALL HELD CHECKLIST......................................................................................1257
FIND DETAILS OF HELD CHECKLIST.....................................................................1259
FIND DETAILS OF HELD CHECKLIST (USING POST - RANGE BASED SEARCH).1261
Checklist..................................................................................................................................1264
GET META DETAILS OF CHECKLIST.....................................................................1264
GET DETAILS OF A PARTICULAR CHECKLIST ...................................................1280
GET ALL CHECKLIST.................................................................................................1286
FIND DETAILS OF CHECKLIST.................................................................................1287
FIND DETAILS OF CHECKLIST (USING POST - RANGE BASED SEARCH)....1288
Enrollment...............................................................................................................................1295
REST API Reference | Contents | xiv

GET ALL ENROLLMENTS..........................................................................................1295


FIND DETAILS OF ENROLLMENTS.........................................................................1296
SEARCH ENROLLMENTS BASED ON GIVEN CRITERIA....................................1299
SEARCHENROLLMENTSBASEDONGIVENCRITERIA(USINGPOST-RANGEBASEDSEARCH).1307
FIND LEARNING ASSIGNMENTS FOR REGISTRATIONS....................................1319
FIND EVALUATIONS FOR REGISTRATIONS.........................................................1322
GET DETAILS OF AN ENROLLMENT......................................................................1325
GET EVALUATION DETAILS OF AN ENROLLMENT.............................................1341
GETEXISTINGREGISTRATIONDETAILSORAUTOENROLLUSERANDGETREGISTRATIONDETAILS.1342
CREATE A NEW ENROLLMENT (Self registration)...........................................1348
ENROLL FOR OTHER USERS/SELF........................................................................1365
ENROLL FOR OTHER USERS/SELF WITH PAYMENT..........................................1381
MARK AN ENROLLMENT COMPLETE.....................................................................1414
CANCEL AN ENROLLMENT.......................................................................................1415
CREATE A NEW PACKAGE ORDER.........................................................................1416
ADD OR UPDATE CUSTOM FIELDS OF AN ENROLLMENT...............................1432
MARK A TASK COMPLETE.......................................................................................1433
Fields of Study.......................................................................................................................1435
GET META DETAILS OF FIELD OF STUDY............................................................1435
GET ALL FIELDS OF STUDY.....................................................................................1439
GET DETAILS OF A PARTICULAR FIELD OF STUDY..........................................1444
FIND DETAILS OF FIELDS OF STUDY.....................................................................1445
FIND DETAILS OF FIELD OF STUDY (USING POST - RANGE BASED SEARCH).1449
Learning Event......................................................................................................................1454
GET HELD CERTIFICATION/CURRICULUM ACTIVITY DETAILS......................1454
GET COMPLETION AND LESSON DETAILS OF THE LEARNING EVENT.......1456
GETHELDCERTIFICATION/CURRICULUMDETAILSALONGWITHALLTHEACTIVITIES.1462
SEARCHALLTHECERTIFICATIONS/CURRICULAASSIGNEDTOALEARNERBASEDONTHESTATUS,TIMESTAMP.1467
SEARCHALLTHECERTF
IC
I ATO
I NS/CURRC I ULAASSG I NEDTOALEARNERBASEDONTHESTATUST ,M
I ESTAMP(Usn i gPOST-Rangebasedsearch).1483
SEARCH CERTIFICATIONS/CURRICULA OF LOGGED IN USER......................1488
AUTO-ENROLLLEARNERSINTOCOURSESINSIDETHECERTIFICATION/CURRICULUM.1498
ASSIGN CERTIFICATION/CURRICULUM TO A PERSON...................................1500
GRANT CERTIFICATION/CURRICULUM TO A LEARNER..................................1502
UPDATETARGETDAYS/DATEFORASSIGNEDCERTIFICATION/CURRICULUMACTIVITY.1504
UPDATE EXPIRATION DATE OF HELD CERTIFICATION...................................1504
REMOVE CERTIFICATION/CURRICULUM ACTIVITY OF A LEARNER............1506
GET META DETAILS OF COURSE ACTIVITY........................................................1506
GET DETAILS OF A PARTICULAR COURSE ACTIVITY......................................1508
GET ALL COURSE ACTIVITIES OF LOGGED IN USER........................................1509
FIND DETAILS OF COURSE ACTIVITIES BASED ON CRITERIA.........................1511
FIND DETAILS OF RECURRING COURSE ACTIVITIES BASED ON CRITERIA.1512
SEARCHALLCOURSEACTIVITIESBASEDONGIVENCRITERIA(USINGPOST-RANGEBASEDSEARCH).1514
ASSIGN A COURSE OR A RECURRING COURSE TO A PERSON......................1517
UPDATE DETAILS OF A COURSE ACTIVITY..........................................................1518
REMOVE A COURSE OR A RECURRING COURSE FROM A LEARNER............1519
REST API Reference | Contents | xv

CHANGE STATUS OF HELD CERTIFICATION/CURRICULUM...........................1519


Learning Module...................................................................................................................1523
CREATE A NEW LEARNING MODULE....................................................................1523
UPDATE DETAILS OF A LEARNING MODULE......................................................1525
DELETE A PARTICULAR MODULE..........................................................................1527
Order.........................................................................................................................................1528
GET ALL ORDERS.......................................................................................................1528
FIND DETAILS OF ORDERS.......................................................................................1529
APPROVE / REJECT AN ORDER ITEM...................................................................1534
APPROVE / REJECT AN ORDER INVOICE PAYMENT........................................1534
APPROVE / REJECT AN ORDER PAID USING TUA.............................................1535
UPDATE ORDER'S CUSTOM FIELDS......................................................................1536
GET ORDER DETAILS OF A PARTICULAR ORDER..............................................1544
MARK ORDER ITEM AS BILLED...............................................................................1560
GET ORDER ITEM BILLING DETAILS.......................................................................1561
CANCEL AN ORDER...................................................................................................1562
Path...........................................................................................................................................1562
CREATE A NEW PATH ..............................................................................................1563
UPDATE DETAILS OF A PATH.................................................................................1565
DELETE A PARTICULAR PATH................................................................................1568
Packages.................................................................................................................................1568
FIND THE DETAILS OF THE PACKAGES...............................................................1568
GET ALL PACKAGES..................................................................................................1573
GET THE DETAILS OF A PARTICULAR PACKAGE..............................................1574
CREATE A NEW PACKAGE.......................................................................................1577
UPDATE THE DETAILS OF A PACKAGE................................................................1582
DELETE PACKAGE.....................................................................................................1586
Purchase Order.....................................................................................................................1587
GET ALL PURCHASE ORDERS.................................................................................1587
FIND DETAILS OF PURCHASE ORDER..................................................................1588
FIND DETAILS OF PURCHASE ORDER (Using POST - Range based search).1590
GET DETAILS OF A PARTICULAR PURCHASE ORDER......................................1591
GET META DETAILS OF PURCHASE ORDER.......................................................1593
CREATE A NEW PURCHASE ORDER.....................................................................1598
UPDATE DETAILS OF A PURCHASE ORDER.......................................................1600
DELETE DETAILS OF A PARTICULAR PURCHASE ORDER..............................1603
Price List..................................................................................................................................1603
GET DETAILS OF PRICELIST...................................................................................1603
SEARCH PRICELIST BY CRITERIA..........................................................................1604
Price List Entry......................................................................................................................1605
GETDETAILSOFPRICELISTENTRYONCOURSE,DELIVERYMODE,OFFERING,PACKAGE,TRAININGUNIT.1606
SEARCH PRICELIST ENTRY BY CRITERIA............................................................1607
SEARCH PRICELIST ENTRY BY CRITERIA POST BASED SEARCH................1608
CREATE A NEW PRICELIST ENTRY FOR A LEARNING ITEM...........................1609
UPDATE PRICELIST ENTRY FOR A LEARNING ITEM..........................................1610
REST API Reference | Contents | xvi

DELETE A PARTICULAR PRICELIST ENTRY..........................................................1612


Resource..................................................................................................................................1612
SEARCH RESOURCE BASED ON TYPE..................................................................1612
SEARCH RESOURCE BASED ON TYPE AND CRITERIA......................................1616
GET RESOURCE DETAILS........................................................................................1620
SEARCH PURPOSE LIST...........................................................................................1622
GET PURPOSE DETAILS............................................................................................1623
GET RESOURCE FOR A GIVEN OFFERING...........................................................1623
GET SESSION FOR A GIVEN OFFERING................................................................1625
RETRIEVE DETAILS OF AN INDIVIDUAL SESSION..............................................1626
RETRIEVE ASSIGNMENT DETAILS..........................................................................1627
ASSIGN A RESOURCE TO AN OFFERING.............................................................1629
UPDATE AN EXISTING RESOURCE ASSIGNMENT..............................................1631
REMOVE AN EXISTING ASSIGNED RESOURCE...................................................1632
GET ALL EXTERNAL CO-PRESENTERS OF VC OFFERING..............................1633
ASSIGN EXTERNAL CO-PRESENTERS TO VC OFFERING................................1634
DELETE EXTERNAL CO-PRESENTERS FROM VC OFFERING.........................1635
Subscription...........................................................................................................................1635
GET META DETAILS OF SUBSCRIPTION..............................................................1635
GET DETAILS OF A PARTICULAR SUBSCRIPTION.............................................1647
GET ALL SUBSCRIPTIONS.......................................................................................1650
FIND DETAILS OF SUBSCRIPTION..........................................................................1651
CREATE A NEW SUBSCRIPTION.............................................................................1654
UPDATE DETAILS OF A SUBSCRIPTION...............................................................1656
FIND DETAILS OF SUBSCRIPTION (Using POST - Range based search)...1659
ADD AUDIENCE TYPE TO A SUBSCRIPTION.......................................................1660
REMOVE AUDIENCE TYPE FROM A SUBSCRIPTION..........................................1661
ADD DELIVERY TYPE / SUBSCRIPTION ITEM TO A SUBSCRIPTION.............1662
REMOVE DELIVERY TYPE / SUBSCRIPTION ITEM FROM A SUBSCRIPTION.1663
ADD SUBSCRIPTION PRICE TO A SUBSCRIPTION.............................................1664
ADD COST LIMIT PRICE TO A SUBSCRIPTION....................................................1665
REMOVE SUBSCRIPTION PRICE / COST LIMIT PRICE FROM A SUBSCRIPTION.1666
UPDATE LOCALE-SPECIFIC DETAILS OF SUBSCRIPTION..............................1666
Subscription Order..............................................................................................................1668
FIND DETAILS OF SUBSCRIPTION ORDERS........................................................1668
GET ORDER DETAILS OF A PARTICULAR SUBSCRIPTION ORDER...............1670
SEARCH ALL SUBSCRIPTION ORDERS.................................................................1678
SEARCH SUBSCRIPTION ORDER - ALL (ORDER HISTORY FLOW)................1679
SEARCH SUBSCRIPTION ORDER - WITH SEARCH CRITERIA.........................1680
SEARCHSUBSCRIPTIONORDER-WITHSEARCHCRITERIA(ORDERHISTORYFLOW).1683
CREATE A SUBSCRIPTION ORDER........................................................................1685
UPDATE SUBSCRIPTION ORDER'S CUSTOM FIELDS........................................1696
GET DETAILS OF A PARTICULAR LEARNING SUBSCRIPTION.......................1696
CHANGE LEARNER OF A PARTICULAR LEARNING SUBSCRIPTION.............1699
Session Template..................................................................................................................1701
REST API Reference | Contents | xvii

FIND DETAILS OF SESSION TEMPLATES..............................................................1701


FIND DETAILS OF SESSION TEMPLATE (USING POST - RANGE BASED SEARCH).1707
GET ALL SESSION TEMPLATES...............................................................................1713
GET DETAILS OF A SESSIONTEMPLATE................................................................1717
GET META DETAILS OF SESSIONTEMPLATE.......................................................1718
CREATE A NEW SESSION TEMPLATE....................................................................1721
UPDATE DETAILS OF A SESSION TEMPLATE.....................................................1722
DELETE A SESSIONTEMPLATE...............................................................................1723
Transcript................................................................................................................................1724
GET ALL TRANSCRIPTS............................................................................................1724
FIND DETAILS OF TRANSCRIPTS............................................................................1725
FIND TRANSCRIPTS THAT HAVE CHANGED OVER A GIVEN PERIOD OF TIME.1734
FIND DETAILS OF TRANSCRIPTS (Using POST - Range based search).....1736
GET DETAILS OF TRANSCRIPT (Using the component framework)..........1744
GET DETAILS OF TRANSCRIPT...............................................................................1745
GET META DETAILS OF TRANSCRIPT...................................................................1747
CREATE A NEW TRANSCRIPT.................................................................................1756
UPDATE A TRANSCRIPT...........................................................................................1766
UPDATE CUSTOM FIELDS OF A TRANSCRIPT....................................................1769
DELETE A TRANSCRIPT............................................................................................1774
Training Unit............................................................................................................................1775
GET ALL TRAINING UNITS.........................................................................................1775
FIND DETAILS OF TRAINING UNIT...........................................................................1777
FIND DETAILS OF TRAINING UNIT (Using POST - Range based search)....1779
GET META DETAILS OF TRAINING UNIT................................................................1781
GET DETAILS OF A PARTICULAR TRAINING UNIT.............................................1789
CREATE A NEW TRAINING UNIT.............................................................................1790
UPDATE DETAILS OF A TRAINING UNIT...............................................................1792
DELETE A PARTICULAR TRAINING UNIT..............................................................1794
GET DETAILS OF A PARTICULAR DISCOUNT ENTRY FOR TRAINING UNIT..1795
CREATE A NEW DISCOUNT ENTRY FOR TRAINING UNIT.................................1796
DELETE A PARTICULAR DISCOUNT ENTRY FOR TRAINING UNIT..................1797
GET DETAILS OF A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT..1797
CREATE A NEW PRICELIST ENTRY FOR TRAINING UNIT.................................1798
UPDATE DETAILS OF A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT.1800
DELETE A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT.................1800
UPDATE LOCALE-SPECIFIC DETAILS TRAINING UNIT......................................1801
Training Unit Agreement...................................................................................................1803
GET ALL TRAINING UNIT AGREEMENTS..............................................................1803
GET DETAILS OF A PARTICULAR TRAINING UNIT AGREEMENT...................1804
GET META DETAILS OF TRAINING UNIT AGREEMENT.....................................1805
FIND DETAILS OF TRAINING UNIT AGREEMENT..................................................1811
CREATE A NEW TRAINING UNIT AGREEMENT....................................................1812
UPDATE DETAILS OF A TRAINING UNIT AGREEMENT......................................1815
Images.......................................................................................................................................1817
REST API Reference | Contents | xviii

UPLOAD IMAGE OF AN OBJECT (LEARNING OBJECTS)..................................1817


GET IMAGE URL OF AN OBJECT (LEARNING OBJECTS).................................1822
Tasks.........................................................................................................................................1823
GET META DETAILS OF TASKS...............................................................................1824
GET ALL TASK.............................................................................................................1834
GET DETAILS OF TASK.............................................................................................1835
FIND DETAILS OF TASKS..........................................................................................1836
FIND DETAILS OF TASKS (Using POST based search)...................................1838
CREATE TASK.............................................................................................................1840
UPDATE TASK.............................................................................................................1842
DELETE TASK..............................................................................................................1844

Chapter 10: Performance................................................1845


Goals.........................................................................................................................................1846
GET ALL GOALS FOR A PERSON...........................................................................1846
GET DETAILS OF A PARTICULAR GOAL...............................................................1849
CREATE GOAL FOR SELF/TEAM............................................................................1856
CREATE PROGRESS OF A GOAL............................................................................1873
CHANGE STATUS OF A GOAL.................................................................................1874
UPDATE APPROVER OF GOAL................................................................................1876
UPDATE GOAL FOR SELF/TEAM............................................................................1877
Pulse.........................................................................................................................................1886
GET PULSE DASHBOARD DETAILS.......................................................................1886
GET CHART QUESTION DATA.................................................................................1894
GET ADMIN HEATMAP DATA..................................................................................1897
GET ACTIVE SURVEY DETAIL (DEPRECATED)....................................................1901
GET ACTIVE SURVEY INFO.......................................................................................1910
GET ACTIVE SURVEY QUESTION DETAILS (DEPRECATED)............................1912
SUBMIT PULSE SURVEY............................................................................................1919
Attribute details for PULSE APIs..........................................................................1920
Competency...........................................................................................................................1923
GET ALL COMPETENCIES FOR A PERSON..........................................................1923
GET DETAILS OF A PARTICULAR COMPETENCY OF A PARTICULAR PERSON.1926
GET ALL ASSESSMENTS OF COMPETENCIES FOR A PERSON......................1927
Review......................................................................................................................................1928
FIND ALL REVIEWS....................................................................................................1928
FIND DETAILS OF REVIEW CYCLES.......................................................................1930
FIND DETAILS OF REVIEWS.....................................................................................1932
GET ALL REVIEW CYCLES.......................................................................................1933
GET DETAILS OF A PARTICULAR REVIEW...........................................................1935
GET DETAILS OF A PARTICULAR REVIEW CYCLE............................................1936
GET EXTENDED DETAILS OF A PARTICULAR REVIEW....................................1938
GET EXTENDED DETAILS OF A PARTICULAR REVIEW CYCLE......................1943
GET META DETAILS OF A REVIEW-CYCLE..........................................................1949
REST API Reference | Contents | xix

GET META DETAILS OF A REVIEW........................................................................1965


FIND DETAILS OF REVIEWS WITH POST BASED SEARCH...............................1974

Chapter 11: Recruiting......................................................1977


Job Requisition......................................................................................................................1978
FIND DETAILS OF JOB REQUISITION.....................................................................1978
FIND DETAILS OF JOB REQUISITION (Using POST - Range based search).1980
GET ALL JOB REQUISITIONS...................................................................................1983
GET DETAILS OF A PARTICULAR JOB REQUISITION........................................1984
GET META DETAILS OF JOB REQUISITION........................................................2000
CREATE A NEW JOB REQUISITION.......................................................................2028
UPDATE JOB REQUISITION.....................................................................................2034
UPDATE LOCALE-SPECIFIC DETAILS OF JOB REQUISITION........................2042
Job Applications..................................................................................................................2044
CREATE A NEW JOB APPLICATION.....................................................................2044
UPDATE JOB APPLICATION...................................................................................2048
Job Postings..........................................................................................................................2052
GET ALL ACTIVE JOB-POSTINGS.........................................................................2052
GET DETAILS OF A PARTICULAR JOB-POSTING..............................................2053
Candidate...............................................................................................................................2055
CREATE A NEW CANDIDATE..................................................................................2055
UPDATE CANDIDATE................................................................................................2058

Chapter 12: Analytics......................................................2063


Reports...................................................................................................................................2064
GET REPORT DEFINITION........................................................................................2064
GET REPORT LIST......................................................................................................2067
REPORT ASYNC EXECUTION STATUS.................................................................2069
EXECUTE ASYNC REPORT......................................................................................2072
EXECUTE REPORT.....................................................................................................2075

Chapter 13: Calendar.......................................................2081


FIND CALENDAR EVENTS...................................................................................................2082
Appointment.........................................................................................................................2085
GET DETAILS OF A PARTICULAR APPOINTMENT............................................2085
CREATE A NEW APPOINTMENT............................................................................2086
UPDATE AN EXISTING APPOINTMENT................................................................2088
DELETE AN EXISTING APPOINTMENT.................................................................2090

Chapter 14: Platform.......................................................2091


Data Extract..........................................................................................................................2092
GET LIST OF DATA EXTRACT JOBS.....................................................................2092
REST API Reference | Contents | xx

SCHEDULE DATA EXTRACT JOB..........................................................................2093


Data Import...........................................................................................................................2097
MONITOR SCHEDULED JOB...................................................................................2097
MONITOR SCHEDULED JOB - POST BASED......................................................2099
GET ALL SCHEDULED DATA IMPORT JOBS.......................................................2102
GET ALL SCHEDULED DATA IMPORT JOBS - POST BASED...........................2104
GET DETAILS OF A SCHEDULED DATA IMPORT JOB.......................................2107
TRIGGER A SCHEDULED JOB.................................................................................2108
IP Address Management APIs..........................................................................................2109
ADD AN IP RANGE......................................................................................................2109
RETRIEVE ADDED IPs.................................................................................................2110
DELETE IP RANGE........................................................................................................2111

Chapter 15: Bulk APIs........................................................2113


GET AUTHENTICATION TOKEN FOR BULK APIS - USING THE 2-LEGGED OAUTH.2114
PREPARE CALLS.....................................................................................................................2115
GET STATUS OF JOB............................................................................................................2134
FETCH DATA URL..................................................................................................................2135

Chapter 16: CIF..................................................................2137


Content Inventory................................................................................................................2138
GET ALL CONTENT INVENTORY.............................................................................2138
FIND DETAILS OF CONTENT INVENTORY............................................................2138
GET CONTENT'S DETAILS ALONG WITH THE METADATA..............................2140
GETCONTENT'SDETAILSALONGWITHTHESUBSCRIPTIONS,TAGS,CATEGORIES,LANGUAGES.2142
GETCONTENT'SDETAILSALONGWITHTHESUBSCRIPTIONS,TAGS,CATEGORIES,LANGUAGES(UsingPOST).2145
PUBLISH CONTENT....................................................................................................2147
UPDATE CONTENT INVENTORY.............................................................................2156
Content Folder.......................................................................................................................2161
GET ALL CONTENT FOLDER...................................................................................2162
FIND DETAILS OF CONTENT FOLDER...................................................................2162
GETDETAILSOFAPARTICULARCONTENTFOLDER,ROOTFOLDERS,ORALISTOFALLTHESUBFOLDERS.2164
CREATE A NEW CONTENT FOLDER......................................................................2165
Core Services.........................................................................................................................2166
GET VERSION DETAILS OF PRODUCT..................................................................2166
GET A LIST OF SITES..................................................................................................2167
GET A CIF CERTIFICATE...........................................................................................2168
GETINITIALSYSTEMVALUESFORCONTENTTYPES,CONTENTFORMATS,CONTENTSERVERS.2169
Partner.....................................................................................................................................2173
REPORT RESULT.........................................................................................................2173
CANCEL REGISTRATION...........................................................................................2177
RESULT REPORTING.............................................................................................................2178
REST API Reference | Contents | xxi

Chapter 17: Integration APIs............................................2183


Virtual Classroom (For third party meeting connectors).......................................2184
Adapter Configuration............................................................................................2185
Create Meeting..........................................................................................................2185
Update Meeting..........................................................................................................2187
Delete Meeting...........................................................................................................2190
Get Meeting................................................................................................................2190
Create Meeting Attendee.......................................................................................2192
Delete Meeting Attendee........................................................................................2192
Get Host URL...............................................................................................................2193
Get Attendee URL.....................................................................................................2194
Meeting attendance.................................................................................................2195

Index..........................................................................................................2197
Notice

Limitations on Warranties and Liability

Saba Software, Inc. reserves the right to make changes to


the information contained in this document without notice.
In no event shall Saba or its suppliers be liable for any
damages whatsoever (including, without limitation, damages
for loss of business profits, business interruption, loss of
business information, or any other pecuniary loss) arising out
of or relating to this documentation or the information
contained in it, even if Saba has been advised of the possibility
of such damages and whether arising from tort (including
negligence), breach of contract or otherwise.
This document may only be reproduced and distributed in
whole for use by licensed users. No part of this document may
be reproduced in any form for any other purpose without the
prior written consent of Saba Software, Inc.
The software described in this documentation is copyrighted
and is confidential information and a proprietary product of
Saba Software, Inc.
U.S. GOVERNMENT RESTRICTED RIGHTS. If licensee is the
United States Government or any contractor thereof, all
licenses granted in the License Agreement accompanying
this product are subject to the following: (i) for acquisition by
or on behalf of civilian agencies, as necessary to obtain
protection as "commercial computer software" and related
documentation in accordance with the terms of this
Commercial Software Agreement as specified in 48 C.F.R.
12.212 of the Federal Acquisition Regulations and its
successors; (ii) for acquisition by or on behalf of units of the
Department of Defense ("DOD") as necessary to obtain
protection as "commercial computer software" and related
documentation in accordance with the terms of this
commercial computer software license as specified in 48
C.F.R. 227-7202-2 of the DOD F.A.R. Supplement and its
successors.
Saba and the Saba logo are registered trademarks of Saba
Software, Inc. and Saba product names are the trademarks
of Saba Software, Inc. All other product names mentioned in
this manual are the property and may be trademarks or
registered trademarks of their respective owners and are
used for identification purposes only.
© 2023 Saba Software, Inc. All rights reserved.
Preface

About This Guide

Welcome to the REST API Reference for Cornerstone SBX. This document describes the
following:
1. REST Web Services: Describes the available REST Web services. It also indicates how to
write client code that uses the Cornerstone SBX's REST web services to access information
in the Cornerstone SBX data store and integrate it with external applications.
2. Integration APIs: Describes the specifications for the REST end points that a third party
meeting provider needs to adhere to in order to integrate with Cornerstone SBX.

Intended Audience
This guide is intended for use by:
• Programmers who are writing client programs that use the Cornerstone SBX REST web
services.
This guide assumes that you have the following minimum skills and knowledge:
• Programming in the relevant language and environment, such as Java, C#, etc.
• Experience with XML and REST.

How to Contact Cornerstone


For contact information, see our company Web site: http://www.saba.com.
Part

I
REST Web Services

Topics:

• Introduction
• Use Cornerstone SBX REST
APIs
• Some Quick Info
• Authentication
• People
• Common
• Foundation
• Social
• Learning
• Performance
• Recruiting
• Analytics
• Calendar
• Platform
• Bulk APIs
• CIF
• Integration APIs
Chapter

1
Introduction

This document describes the REST API and resources provided


by Cornerstone SBX. The REST APIs are for developers who
want to integrate Cornerstone SBX into their application.
Cornerstone SBX's REST APIs provide access to resources via
URI paths. To use a REST API, your application will make an
HTTP request and parse the response. The response format
is JSON. Your methods will be the standard HTTP methods
like GET, PUT, POST and DELETE.
The Input (Request Body) and Output (Return Values) JSON
can change from release to release. Changes may include
addition of new fields to the existing REST APIs, hence the
client side code (refer to our example) should be written in a
manner that will not break on such changes.
Chapter

2
Use Cornerstone SBX REST APIs

Topics: Cornerstone SBX web services are based on REpresentational


State Transfer ( REST ). When client initiates requests (that
• Authentication includes values for all parameters that the web service
• Maximum number of REST requires), the server process these requests and returns
API calls appropriate responses. Requests and responses are built
• URL Format around the transfer of representations of resources. REST
• Enabling REST Web Services requests and responses are transmitted through an HTTP
connection.
in Cornerstone SBX
• Example (a typical client side
program)
REST API Reference | Use Cornerstone SBX REST APIs | 32

Authentication
Cornerstone SBX web services respond to requests from client code only if the requests are
accompanied by authentication -- that is, by proof that the request is being made by a user
with a valid Cornerstone SBX user ID and password.
The authentication is provided in the form of an authentication certificate generated by the
Authentication web service. The certificate must be included as a header parameter in calls
to all Cornerstone SBX web services (other than the Authentication web service itself).

Maximum number of REST API calls


To provide optimal performance, Cornerstone SBX throttles REST API calls to no more than
5000 APIs in a 5 minute interval. This includes API calls from all integrations including Micro
Apps.

URL Format
{protocol}://{hostname}-api.sabacloud.com /{version}/{endpoint}

protocol - https
hostname - Is your Cornerstone SBX site name.
version - Is the version of the end point.
endpoint - Is the path to the API method.
Note:
endpoint varies per API call. Endpoints are documented in this guide and will include the
endpoint's version as well as the API method and the appropriate Calling Options.
Example:
Let us assume you are a Cornerstone SBX customer.
Your URL is:

https://sabacustomer.sabacloud.com/

The URL format to be used in APIs for "Location" endpoint is:

https://sabacloudcustomer-api.sabacloud.com/v1/location/

• protocol: https
• hostname: sabacloudcustomer
Note: You can get the hostname by submitting a support request.
• version: v1
• endpoint: location
REST API Reference | Use Cornerstone SBX REST APIs | 33

Enabling REST Web Services in Cornerstone SBX


By default the REST Web Services are disabled. To enable REST Web Services in Cornerstone
SBX, submit a support request. For assistance, contact Cornerstone SBX Support.

Example (a typical client side program)


The following Java program obtains the Cornerstone SBX Certificate and then calls the
Person details REST API to fetch and display his/her first and last name.

import java.io.BufferedReader;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONObject;

public class Cornerstone SBXRestApiClientJava {

public static void main (String args[]) {


//first authenticate the user to obtain Cornerstone SBXCertificate
String cert = getSabaCertificate("https://<hostname-api.sabacloud.com>/v1/login",
"<username>","<password>", "SabaSite");

//next call the GET API with Cornerstone SBXCertificate received.


String resp = callGetApi("https://<hostname-api.sabacloud.com>/v1/people/<person_id>",
cert);

//lastly parse the JSON response received to print the first & last name
parseJsonResponse(resp);

private static String getSabaCertificate(String hostUrl, String username, String password,


String site)
{
String certificate="";
try {

// connect and get the certificate with login service


DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(hostUrl);
getRequest.addHeader("accept", "application/json");
getRequest.addHeader("user", username);
getRequest.addHeader("password", password);
//getRequest.addHeader("site", site);
HttpResponse response = httpClient.execute(getRequest);
if (response.getStatusLine().getStatusCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : " +
response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(
REST API Reference | Use Cornerstone SBX REST APIs | 34

new InputStreamReader((response.getEntity().getContent())));
String output;
while ((output = br.readLine()) != null) {
certificate += output;
}
httpClient.getConnectionManager().shutdown();

System.out.println("certificate "+certificate);

//parse the response received to get the certificate string


JSONObject certJson = new JSONObject(certificate);
certificate = certJson.getString("certificate");
System.out.println("Certificate obtained "+certificate);
} catch(Exception e){
e.printStackTrace();
}
return certificate;
}

private static String callGetApi(String apiUrl, String certificate) {


String jSonResponse = "";
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(apiUrl);
getRequest.addHeader("accept", "application/json");
getRequest.addHeader("SabaCertificate", certificate);
try{
HttpResponse response = httpClient.execute(getRequest);
if (response.getStatusLine().getStatusCode() != 200)
{
throw new RuntimeException("Failed : HTTP error code : "+
response.getStatusLine().getStatusCode());
}
BufferedReader br = new BufferedReader(new
InputStreamReader((response.getEntity().getContent())));
String output;
while ((output = br.readLine()) != null) {
jSonResponse = output;
}
httpClient.getConnectionManager().shutdown();
System.out.println("jSonResponse "+jSonResponse);
return jSonResponse;
}catch(Exception e){
e.printStackTrace();
}
return jSonResponse;
}

private static void parseJsonResponse(String json)


{
try{
JSONObject jsonObj = new JSONObject(json);
String fname = jsonObj.getString("fname");
String lname = jsonObj.getString("lname");
System.out.println("Person name: "+fname + " "+lname);
}catch(Exception e){
e.printStackTrace();
}
}
}
REST API Reference | Use Cornerstone SBX REST APIs | 35

API calls over cross domain


The following is what you need to provide Cornerstone SBX when your code is deployed using
JavaScript where communication is called from user's Web browser and hitting a different
domain:
• The DNS in which the user will be hitting when the API call is being made
• The DNS that Cornerstone SBX will qualify for and if the access is only for that site or for
all sites
• Any limitations to what Cornerstone SBX will allow
Note: Cornerstone SBX sets Access-Control-Allow-Origin to allow access from the
mentioned host name from which customer tries to access Cornerstone SBX API.
Chapter

3
Some Quick Info

Topics: The purpose of the REST API is to perform transactional


actions and targeted searches. Cornerstone SBX does not
• Status/Error Codes recommend using REST API, if the potential record count is
• Using custom fields with the 5000 or more (with caching) or 1000 or more (without
supported data types and caching). Such searches can lead to poor response time or
values time outs. Instead, use Cornerstone SBX Analytics data
• No support for Microsites extracts or premium data extracts.
• Search REST APIs
• Special Characters
• Encoding space for the
criteria parameter value
• POST methods - Duplicate
records
• Using Lookup fields
• Retrieving additional details
using Field Selectors
• Deprecated URLs
• Field length of the data
fields
• Retrieve locale specific data
using REST APIs
• Specifying multiple
conditions in POST based
searches
• Audit reason for audit
actions
• Sorting of the result set
• APIs excluded from Monthly
API limit
REST API Reference | Some Quick Info | 38

Status/Error Codes
The following are the status codes that the REST web services listed in this document return.
Table 1: Status Codes

Status Code Description

200 OK - The request has succeeded.

201 Created - The request has been fulfilled and resulted in a new re-
source being created.

204 No Content - The server has fulfilled the request but does not need
to return an entity-body.

401 Unauthorized - The request requires user authentication.

403 Forbidden - The server understood the request, but is refusing to


fulfill it.

500 Internal Server Error - The server encountered an unexpected


condition which prevented it from fulfilling the request.

Note: The response error code for any failures in the authentication token verification for
Public APIs has changed from 500 to either:
• 400 - for Bad Request
• 401- for Invalid Access Token
• 403 - for Insufficient Access
Note: For any REST web service that uses the PUT method, you can pass an additional GET
param ?return_body=true when invoking it to force that REST web service to return the
content. For example:

https://<hostname-api.sabacloud.com>/v1/course/:courseid?return_body=true

The following are some of prominent error codes that the REST web services listed in this
document return.
Table 2: Error codes

Error Code Description HTTP Details


Status

123 Invalid or expired 500 The authentication certificate has expired


Certificate or is not valid for the site

124 Invalid Access Token 401 The OAuth token being used for authen-
tication is not valid.

125 Invalid value for 500 The site name passed is not valid.
site_name.
REST API Reference | Some Quick Info | 39

Error Code Description HTTP Details


Status

120301 API Management is 500 The API access is not enabled. Please
not enabled. Please work with your account executive or
talk to your Custom- support.
er Support.

120302 Concurrent request 429 The concurrent request limit has reached.
limit reached. Please Please try again after the concurrency
try after some time. period as indicated by "retry-after" header
is over.

120303 Invalid api Operation 500 Mongo entry missing for the API or the
. Please talk to your entry is missing in api-mapping.xml.
Customer Support.

120457 Access token should 500 Empty or null access token.


be sent as 'Bearer
1*SP access_token'.

120458 client_id is not 400 Invalid Client ID was provided.


provided or is invalid.

120459 partner_id and mi- 500 Vendor ID does not belong to the Partner
croapp_id combina- ID.
tion invalid.

120460 microapp_id is not 500 Null or Empty Micro App ID or Micro Apps
provided or invalid. not belonging to microapp feature ID
(featr0000003aa48946bcapp677a6b502e9c3)

120461 microapp status is 500 Microapp is not in the configured state in


invalid for current Marketplace for the site.
site.

Using custom fields with the supported data types


and values
The following are a few examples that depict how to use the custom fields with the supported
data types and values:
STRING

{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
REST API Reference | Some Quick Info | 40

"value": "Test",
"displayName": "custom1"
}

INTEGER

{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 1
},
"value": 11,
"displayName": "custom3"
}

REAL

{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
},
"value": [
"java.math.BigDecimal",
1.55
],
"displayName": "custom1"
}

BOOLEAN

{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 9
},
"value": true,
"displayName": "custom2"
}

DATE

{
"@type":"CustomAttributeValueDetail",
"name":"custom9",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":10
},
"value":{
"@type":"date",
"time":"2016-01-26"
},
"displayName":"custom9"
}
REST API Reference | Some Quick Info | 41

TIME

{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 12
},
"time":"2016-01-26 11:11:11",
"displayName": "custom4"
}

No support for Microsites


As of now, Cornerstone SBX does not provide support for Microsites:

https://<hostname>-<microsite-name>.sabacloud.com

All REST API requests are directed to the main Cornerstone SBX site.

Search REST APIs

Date fields
For the Search REST API calls, if you're searching data using the date fields, ensure that you
use yyyy-mm-dd as the date format.

Using multiple search criteria


You can search using multiple search criteria by seperating each criteria using a comma.
For example:

https://<hostname-api.sabacloud.com>/v1/enrollment
?q=(student_id%3D%3Demplo000000000001001,status%3D%3D101)&includeDetails=TRUE

Include Details
You can use the includeDetails flag to get records with all the fields. This way you no longer
need to call the REST APIs for getting details for specific objects.
REST API Reference | Some Quick Info | 42

For example:

https://<hostname-api.sabacloud.com>/v1/people/emplo000000000007651/transcripts
/search?q=(offering_temp_id%3D%3DCourse100002)&includeDetails=true

Fields not supported


The Search APIs do not support searching using the following fields in the searchFields
attribute:
• Timezone

name

• Competency

Job Role

Skill Group

Exclude skill

• All components

CreatedOn

CreatedBy

UpdatedOn

UpdatedBy

• Course

Only show courses with no skills assigned : is_competency

Price : amount

Skill Name

• Offering-Blended

Audience Type/Sub Type

Owner

hide_discontinued_offerings

Program

Session Template

Price
REST API Reference | Some Quick Info | 43

• Web-based

Price : amount

Comments File : comments_file

Lesson File : lesson_file

Mastery Score : mastery_score

Max Download Count : max_downloads

Maximum Time Allowed : max_time_allowed

WBT Server Path : server_path

Time Limit Action : time_limit_action

Time Limit Action Flag : time_limit_action_flag

Total Attempts Allowed : total_attempts_allowed

URL : url

Vendor File : vendor_file

owner: gov_owner

hide_discontinued_offerings

Special Characters
Special characters need to be encoded before passing as a q param value even for URL
(User-friendly).
Note: / (backslash) is not supported for user-friendly URLs.

Encoding space for the criteria parameter value


Space need to encoded before passing as a param value using %20. For example: 25%20Cert
instead of 25 Cert.
REST API Reference | Some Quick Info | 44

POST methods - Duplicate records


For components where instead of name _no is the unique key [For example: loc_no for
Location, Facility_no for Facility], in such cases REST APIs will create multiple records, if you
use the same INPUT JSON (Request Body) for multiple REST calls.

Using Lookup fields


You can use lookup fields for all the components. The lookup feature allows using a more
user friendly name instead of internal IDs.
Lookup is made up of two components: A lookup field name and a lookup field value. For
example, while creating a location, securityDomain in the input JSON can be given as:

"securityDomain":
{
"displayName": "Common"
}

Here, the lookup field name is "displayName" and the lookup field value is "Common", which
is the name of the domain.
Note: For UI lookup, always use the attribute displayName.
Example:
The following example shows how lookup can be used to assign security roles to a person.
Method: PUT
URL: http://<hostname-api.sabacloud.com>/v1/people/emplo000000000001022
Request Body:

{
"securityRoles":[
{
"name":"External Person Basic Privileges",
"securityDomain":{
"displayName":"common"
}
},
{
"name":"Common Privileges in world domain",
"securityDomain":{
"displayName":"world"
}
}
],
"id":"emplo000000000001022"
}

Here, both i.e. the security role and the security domain are identified by their names.
These lookup fields are defined and implemented for all the components.
REST API Reference | Some Quick Info | 45

The following table lists the components that support lookup fields:
Table 3: Lookup fields

Component Fields mapped for lookup

AudienceType name

Attachments location

Currency name iso_code


Note: Lookup value ex-
amples:
• For currency - US Dollars,
the lookup value is : USD

CEPlan name

Checklist name

CompetencyGroup name

CompetencyLevel name

Competency Evidence description

Categories name

Certification name

Curriculum name

ContentFolder name

Course course_no title

Competency name

Domain name

Enrollments reg_no

Facility facility_no name

JobType name

JobFamily name
REST API Reference | Some Quick Info | 46

Component Fields mapped for lookup

Locale name
Note: Lookup value ex-
amples:
• For English locale, the
lookup value is: en_US
• For Deutsch (German) loc-
ale, the lookup value is:
de_DE
• For Français (French) loc-
ale, the lookup value is :
fr_FR

Location loc_no loc_name

Language language_id

Offering wbt_no/class_no

Organization -External number name

Organization -Internal number name

Person username

PurchaseOrder po_no external_po_no

Role name

TimeZone name

TrainingUnitAgreement agreement_no

TrainingUnit name

Transcripts action_no

REST APIs that do not support Lookup fields


The following REST APIs do not support using Lookup fields:
• PUBLISH CONTENT
• CREATE A NEW ATTACHMENT (FILE)
• CREATE A NEW ATTACHMENT (URL)
• UPDATE AN ATTACHMENT
• CREATE A NEW BLENDED CLASS
• CREATE A NEW ILT CLASS
• CREATE A NEW VIRTUAL CLASS
• CREATE A NEW WBT CLASS
• CREATE A NEW TRANSCRIPT
REST API Reference | Some Quick Info | 47

Retrieving additional details using Field Selectors


Most of the GET REST APIs have a standard output. For example, a GET call to retrieve the
details of a particular employee ( https://<hostname>/v1/people/emplo000000000049029)
returns the company details via the company_id object as an ID and displayName.
You can use Field Selectors to specify additional fields that you want the GET call to retrive.
URL:

https://<hostname>/v1/people/emplo000000000049029:(company_id(addr1+name+state+country

+description+number), username, fname, lname, jobtype_id(name


+description+is_critical+status+family_id))

This URL uses Field Selectors to select the following addtional fields for company_id:
• addr1
• name
• state
• country
• description
• number
Similarly, additional fields are selected for jobtype_id.
Provide the Inner fields for an outer field within () braces. Use + to separate the inner fields
(addr1+name+state+country+description+number).
Note: For the inner fields, if the outer and the inner attributes are of the same type, the inner
attribute fields will be considered for both the outer as well as the inner fields.
Output JSON:

{
"company_id":{
"addr1":"",
"description":null,
"name":"Benefits",
"state":"",
"number":"2506.77",
"country":"",
"id":"bisut000000000001577"
},
"jobtype_id":null,
"fname":"rajal",
"lname":"bhammar",
"username":"RBHAMMAR",
"id":"emplo000000000049029"
}

The Output JSON contains company_id, username, fname, lname, jobtype_id fields of the
person/profile object. Using Field Selectors inner fields of the company_id and jobtype_id
objects are also part of this output.
Note: Field Selectors is only supported for those objects that have id and displayName fields.
To find out which objects have id and displayName fields, make a GET call.
REST API Reference | Some Quick Info | 48

For example:

{
"is_manager":true,
"terminated_on":null,
"city":"",
"zip":"",
"location":"Mumbai",
"home_company_id":{
"id":"bisut000000000001000",
"displayName":"Corporate Operations"
}
}

In this case,
• home_company_id is an object with id and displayName fields and hence supports Field
Selectors.
• location is used as a string field and hence does not support Field Selectors.
Field Selectors is not supported on the Attachment, Enrollment, Class and LearningEvent
components.

Deprecated URLs
The following URLs are deprecated and will be discontinued in the next few updates. Hence
it is advisable to use the new URL.
Table 4: Deprecated / New URLs

Deprecated URL New URL Operations

GET
https://<hostname- https://<hostname-
api.sabacloud.com>/Saba/api/plat- api.sabacloud.com>/v1/attach-
form/attachments/attach- ments/attachment/:id/detail
ment/:id/detail

https://<hostname- https://<hostname- GET


api.sabacloud.com>/Saba/api/plat- api.sabacloud.com>/v1/attach-
form/attachments?own- ments?ownerId=:ownerId
erId=:ownerId

https://<hostname- https://<hostname- POST


api.sabacloud.com>/Saba/api/plat- api.sabacloud.com>/v1/attach-
form/attachments ments

https://<hostname- https://<hostname- PUT


api.sabacloud.com>/Saba/api/plat- api.sabacloud.com>/v1/attach-
form/attachments/:id ments/:id

https://<hostname- https://<hostname- GET, PUT


api.sabacloud.com>/Saba/api/learn- api.sabacloud.com>/v1/offer-
ing/offering/:offeringId ing/:offeringId
REST API Reference | Some Quick Info | 49

Deprecated URL New URL Operations

https://<hostname- https://<hostname- POST


api.sabacloud.com>/Saba/api/learn- api.sabacloud.com>/v1/offer-
ing/offering/ ing/

https://<hostname- https://<hostname- GET, PUT


api.sabacloud.com>/Saba/api/learn- api.sabacloud.com>/v1/tran-
ing/transcript/:transcriptId script/:transcriptId

https://<hostname- https://<hostname- POST


api.sabacloud.com>/Saba/api/learn- api.sabacloud.com>/v1/tran-
ing/transcript/ script/

https://<hostname- https://<hostname- POST


api.sabacloud.com>/Saba/api/con- api.sabacloud.com>/v1/con-
tent/contentinventory/con- tentinventory/contentimport
tentimport

https://<hostname- https://<hostname- GET


api.sabacloud.com>/Saba/api/con- api.sabacloud.com>/v1/core-
tent/coreservice/version/ service/version/

https://<hostname- https://<hostname- GET


api.sabacloud.com>/Saba/api/con- api.sabacloud.com>/v1/core-
tent/coreservice/sites/ service/sites/

https://<hostname- https://<hostname- GET


api.sabacloud.com>/Saba/api/con- api.sabacloud.com>/v1/core-
tent/coreservice/certificate/ service/certificate/

https://<hostname- https://<hostname- GET


api.sabacloud.com>/Saba/api/com- api.sabacloud.com>/v1/people/meta/priv-
ponent/people/meta/priv- ileges?type=internal&do-
ileges?type=internal&do- main=:domainId
main=:domainId

Field length of the data fields


You can find out the field length/size of the data fields returned by the REST APIs by looking
at the attributes listing under System > Configure System > Services > <Service Name> >
Components > <Component Name> > Attributes tab on main.
Note: Length is available for only those attributes whose type is 'String'.
REST API Reference | Some Quick Info | 50

Figure 1: Details of a field

Alternatively, even the meta APIs return some information related to size:

{
"name": "addr1",
"displayName": "Address 1",
"description": "First line of the address for the person",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 400,
"maximumLength": 400,
"isSearchFilter": true
}

Retrieve locale specific data using REST APIs


It is possible to fetch locale-specific data using REST APIs. The GET APIs accept a header
parameter called X-locale. You can pass the locale name to this parameter to fetch
locale-specific data using that GET API, only if there exists locale specific data. For example:
X-locale en_US
REST API Reference | Some Quick Info | 51

Figure 2: Passing locale name to the new header parameter

Specifying multiple conditions in POST based


searches
You can specify multiple search conditions in a POST based search API by using a , (comma)
which is always considered as the AND operator.
Note: The OR condition is not supported.

{
"conditions":[
{
"name":"audience_type_id",
"operator":"IN",
"value":[
"audie000000000003953",
"audie000000000003673"
]
},
{
"name":"disc_from",
"operator":"=ge=",
"value":"2018-03-11"
}
]
}

Audit reason for audit actions


As of now, REST APIs only support updating attribute level audit reasons. REST APIs do not
support explicitly passing the auditReason attribute in the Request Body (JSON) for updating
the audit action defined for a component. This means, if the Request Body passes it as:

"auditReason":"updated class"

"audit with reason" is what will be set for all such updates.
Sorting of the result set
The result set that an API returns is sorted alphabetically on the basis of the very first attribute
shown in the search results.
For example:
GET /v1/people?type=internal - result would be sorted alphabetically on the basis of the fname
GET /v1/location - result would be sorted alphabetically on the basis of the loc_name

APIs excluded from Monthly API limit


URIs of the following API requests are not counted against the monthly API limit:

<name>Lrs API Public</name>


<identifier>public/lrsapi</identifier>

<name>Result Reporting</name>
<identifier>public/resultReporting</identifier>
Chapter

4
Authentication

Topics: The Authentication options that are available.

• Using Certificate based


Authentication
• Using OAuth 2.0
REST API Reference | Authentication | 54

Using Certificate based Authentication


Cornerstone SBX's Authentication web service accepts a user name, password and the site
name and returns a certificate for that user. Authentication certificates must be included
in calls to Cornerstone SBX web services to indicate to the web services what permissions
the user has.
Note: The Authentication web service is not a true business web service. The service is
required to obtain a valid certificate when calling a business web service.
The Authentication web service is passed a username, password and the site name. It returns
an authentication certificate.
Note: The Cornerstone SBX certificate lasts for 30 days before it expires and this is not
configurable.

URL
https://<hostname-api.sabacloud.com>/v1/login
Note: hostname is your Cornerstone SBX site name.

Calling Options
The Authentication web service is passed the following header parameters:
Table 5: Authentication Web Service Calling Parameters

Header Parameters Description


Passed

user The Cornerstone SBX username to authenticate.

password The password for that username.

site The Cornerstone SBX site name.


This is mandatory and only applicable when the vanity URL is
switched OFF i.e. if you are using the old URL, for example: ht-
tp://<hostname.sabacloud.com>/Saba/api/login.

site_name The Cornerstone SBX site name.


This is optional and only applicable when the vanity URL is switched
ON i.e. if you are using the new URL, for example: https://<hostname-
api.sabacloud.com>/v1/login.
REST API Reference | Authentication | 55

Return Values
The web service returns a <SabaCertificate> JSON object, which contains a <certificate>
object. That object contains the authentication certificate (a string).
Note: The Cornerstone SBX certificate lasts for 30 days before it expires and this is not
configurable.

Sample Returned JSON Document

31336132353061666330315E235E756F6E6555E6261536974655E
235E656E5F55535E235E536162615E235E24414021463393C6935
8BE384802BA1BBEAD3B4661862F193021435F7E28A30F7540FE66
1B9C5F30FDB06C

Using OAuth 2.0


Cornerstone SBX uses OAuth2 (3-legged) as its authentication method. OAuth is an
authentication protocol that allows users to approve application to act on their behalf without
sharing their password. More information about OAuth2 can be found at:
• http://oauth.net/2/
• http://tools.ietf.org/html/draft-ietf-oauth-v2-21#section-4.1
• http://docs.opensocial.org/display/OSREF/OAuth+2.0+Flow+Support

Getting a Consumer key


Before you can start making Cornerstone SBX API requests, you need to get a Consumer
key and the Consumer Secret from the Provider, in this case being Cornerstone SBX. This
is provided by Cornerstone SBX support.
Note: To get the Consumer key/secret, you need to submit a support request along with
the redirect URL to be configured based on which the Cornerstone SBX Support will come
back with Consumer key/secret that you can use for invoking the REST APIs using OAuth.
For assistance, contact Cornerstone SBX Support.
After you get the Consumer key, you need to get the Authorization code.

Getting the Authorization code


This Authorization code is client specific and hence all the users will share and send the same
authorization code in subsequent calls to get the access token.
To get the Authorization code you need to invoke the following REST end point:

URL
https://<hostname-api.sabacloud.com>/ v1/oauth2/authorize
Note: hostname is your Cornerstone SBX site name.
REST API Reference | Authentication | 56

Calling Options
The authorize web service is passed the following header parameters:
Table 6: Authorize Web Service Calling Parameters

Header Parameters Description


Passed

client_id The Cornerstone SBX site name.

client_secret The Consumer secret that you received from Cornerstone SBX
Support.

response_type
The type of response: code

Return Values
The web service returns the authentication code (JSON).
Note: You will use this authorization code to get the access token which you can use to
invoke Cornerstone SBX REST APIs.

Sample Returned JSON Document

{
"@type": "com.saba.rest.dto.SabaOAuth2Code",
"client": {
"@type": "com.saba.rest.dto.SabaOAuth2Client",
"id": "PMSite"
},
"redirectURI": null,
"relatedAuthCode": null,
"relatedRefreshToken": null,
"relatedAccessToken": null,
"scope": null,
"expiration": 0,
"value": "19632da8-37b6-4446-85ec-30ee42d010c9",
"state": null,
"type": "AUTHORIZATION_CODE"
}

Getting the Access Token


To get the access token you need to invoke the Get Access Token API using one of the
following options:
• Web
• REST API (SOURCE=RESTAPI)
REST API Reference | Authentication | 57

Using the Web option


To use the Web option, you need to pass the following query parameters to accessToken.jsp:
• siteName
• code
• redirectUrl
• state

URL
https://<hostname.sabacloud.com>/Saba/accessToken.jsp?siteName=<sitename>
&code=<authorization_code>&redirectUrl=<URLToRedirectTo>&state=<state>
Invoking this URL displays a web page that accepts the username and password and prompts.

Figure 3: Getting the Access Token

On submitting you will be redirected to the specified redirected URL along with the response
as part of the URL:
https://<hostname>//OAuthClient/OAuthClient.jsp?access_token=<<encryptedAccessTokenJSON>>&state=6
Note: encryptedAccessTokenJSON holds the SabaCertifcate and the authorization code.

{
"value":"31346165626663346639665E235E756F6E655E235E53616261536974655E235E6A615F4

A505E235E536162615E235E24414240302C02146DB617609E00CBE3A98E49698774D739

E0DAF68D02145F635096636F3C05C37FD412CA06058F4BAE3DDA",
"state":null,
"type":"ACCESS_TOKEN",
"expiration":604800000,
"scope":null,
"client":null,
"redirectURI":null,
"relatedAuthCode":{
"value":"2af2183f-ab84-4dfb-9302-902696c971f3",
"state":null,
"type":"AUTHORIZATION_CODE",
"expiration":0,
"scope":null,
"client":{
"id":"SabaSite",
"type":null,
"secret":"DZXHw4+yAZPM1b/2HchbGtwCzXY=",
"redirectURI":[
"https://<hostname>/shindig/oauth2/authorize",
REST API Reference | Authentication | 58

"http://<hostname>/Saba/accesstoken.jsp",
"http://<hostname>:8989/OAuthClient/OAuthClient.jsp",
"http://<hostname>/accesstoken.html"
],
"flow":null
},
"redirectURI":null,
"relatedAuthCode":null,
"relatedRefreshToken":null,
"relatedAccessToken":null
},
"relatedRefreshToken":null,
"relatedAccessToken":null
}

Using the REST API option


To use the REST API option, you need to invoke the token REST API.

URL
https://<hostname-api.sabacloud.com>/
v1/oauth2/token?grant_type=authorization_code&client_id=<SiteName>&source=RESTAPI&state=8

Calling Options
The authorize web service is passed the following header parameters:
Table 7: Token Web Service Calling Parameters

Header Parameters Description


Passed

username The Cornerstone SBX username to authenticate.

password The password for that username.

authorization_code The authorization code.

Return Values
The web service returns the token code (JSON).

Sample Returned JSON Document

{
"@type": "com.saba.dto.AccessTokenDTO",
"state": "8",
"refresh_token":
"yBHUZSAO6uqtXe+EDtLv+gVH3U3+bqGEDrEWGlGUSpt6ObRf8ohn2h5X1LWmcaPc",
"expires_in": 604800000,
"access_token": “<<encryptedData>>",
"token_type": “Bearer”
}
REST API Reference | Authentication | 59

Note: This token is valid for 7 days. If an API call fails due to an Invalid Token, you can get a
new token, which remains valid for the next 7 days using the Refresh Token.

Using the Refresh Token


When you invoke the token REST API, it returns the access token along with the refresh
token. After the access token expires you can use the refresh token to get a new access
token.

URL
https://<hostname-api.sabacloud.com>/
v1/oauth2/token?grant_type=refresh_token&client_id=<SiteName>
The following are the required header parameters that the user needs to provide:
• refresh_token = refresh_token received in access_token call
• client_secret = consumer secret shared while configuration

Sample Returned JSON Document

{
"@type": "com.saba.dto.AccessTokenDTO",
"state": null,
"refresh_token": null,
"expires_in": 604800000,
"access_token": "<<encryptedData>>",
"token_type": "Bearer"
}

Invoking REST APIs


You can invoke Rest APIs using one of the following methods:
1. Using SabaCertificate
2. Using OAuth i.e. ACCESS_TOKEN
For OAuth, while invoking a REST API you need to pass the access token as the Authorization
header parameter.

Figure 4: Access Token in the Authorization header parameter

The format of the Authorization header is as specified below: Since the access token type
is Bearer, the value of the Authorization header should start with Bearer followed by a space
followed by the access_token value:

Authorization = Bearer 1*SP ACCESS_TOKEN


Chapter

5
People

Topics: REST endpoints for the People data.

• Getting started with the


People web services
• GET Methods
• POST Methods
• PUT Methods
• DELETE Methods
REST API Reference | People | 62

Getting started with the People web services


This section describes the REST endpoints for the People data. It also lists down all the
attributes that can be used along with the REST endpoint URLs.

Extracting Metadata of the available Attributes


To extract the metadata of the People attributes invoke the following URLs using the GET
method:
For External People:
https://<hostname-api.sabacloud.com>/v1/people/meta?type=external
Output:

{
sampleData: {},
name: "Person, External",
displayName: "Person, External",
description: "the description",
attributes: []
}

For Internal People:


https://<hostname-api.sabacloud.com>/v1/people/meta?type=internal
Output:

{
sampleData: {},
name: "Person, Internal",
displayName: "Person, Internal",
description: "the description",
attributes: []
}

Retrieve Specific Attributes


To retrieve metadata for specific People attributes the URL needs to be passed the required
attribute's name using the GET method:
https://<hostname-api.sabacloud.com>/v1/people/meta:(<attr1>,<attr2>,<attrN>)
For Example:
The following URL returns only the first name and the date of birth attributes:
https://<hostname-api.sabacloud.com>/v1/people/meta:(fname,date_of_birth)?type=internal
Return Values:

{
"sampleData": {
"fname": "John"
REST API Reference | People | 63

"date_of_birth": null
},
"name": "Person, Internal",
"displayName: "Person, Internal",
"attributes": [ {
"name": "fname",
"displayName": "First Name",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "date_of_birth",
"displayName": "Birth Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isSearchFilter": false
}
]
}

Searching People data

Use GET to search People data


The following URLs allow searching for people data using the GET method:
https://<hostname-api.sabacloud.com>/v1/people?type=internal
https://<hostname-api.sabacloud.com>/v1/people?type=external
The default fields that this URL returns are fname, lname, id, href.
Note: You can use the Id that this REST web service returns as an input parameter for all
the other People REST web service that require it.
You can indicate the additional fields to be returned using the f parameter and the search
conditions using the q parameter as:
q=(param1=value,param2=value)
Note: This REST web service will not return data for those fields that are not visible attributes
to the logged in user which means access to those fields is restricted by access control
configurations.
The value in the q parameter needs to be encoded.
Note: The following comparison operators are supported in the q parameter:
• ==(equals)
• !=(not equals)
• =lt=(less than)
• =gt=(greater than)
• =le=(less equal)
• =ge=(greater equal)
REST API Reference | People | 64

In addition to the fields that you can mention in the f parameter. This URL also supports the
following optional fields:
• count: The number of records returned. Default is 10.
• startPage: The page at which to start, if there are more than <count> number of records.
Default is 1.
• sort_asc or sort_desc: Defines sorting of the results. Either one should be passed in.
Note: Refer to Attributes for the People end point for attributes that can be used to form
the search conditions using the q parameter. The isSearchFilter=true indicates that this
attribute can be used to the q parameter.
Attributes of type reference or component are not supported as searchable fields.
For example:
The following URL returns all those attributes which are mentioned in f bracket for the
conditions mentioned using the q parameter.
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal&f=(username,city,state)&
q=(is_manager=true)
Note: The results returned meet all the specified conditions passed in the q parameter. All
the conditions are AND-ed together.

Use POST to search People data


The following URLs allow searching for people data using the POST method:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=external
These URLs require the search conditions to be passed as the request body in the following
format.

{
"conditions" : [
{
"name" : "attr_name",
"operator" : "==(equals),"!="(not equals),=lt=(;less than),=gt=(greater than),=le=(;less
equal),=ge=(greater equal)
"value" : "attr_value",
},
{
"conditions" : [
{
"name" : "attr_name",
"operator" : "==(equals),"!="(not equals),=lt=(;less than),=gt=(greater than),=le=(;less
equal),=ge=(greater equal)
"value" : "attr_value",
}
]
}
]
}

The default fields that this URL returns are fname, lname, id, href.
Note: You can use the Id that this REST web service returns as an input parameter for all
the other People REST web service that require it.
You can indicate the additional fields to be returned using the f parameter.
REST API Reference | People | 65

Note: This REST web service will not return data for those fields that are not visible attributes
to the logged in user which means access to those fields is restricted by access control
configurations.
The query parameters remain the same as the GET request. The only difference is that the
q parameter will be passed in the Request Body.
Note: Refer to Attributes for the People end point for attributes that can be used to form
the search conditions. The isSearchFilter=true indicates that this attribute can be used to
form the search condition in the Request Body.
Attributes of type reference or component are not supported as searchable fields.
In addition to the fields that you can mention in the f parameter. This URL also supports the
following optional fields:
• count: The number of records returned. Default is 10.
• startPage: The page at which to start, if there are more than <count> number of records.
Default is 1.
• sort_asc or sort_desc: Defines sorting of the results. Either one should be passed in.
For example:
The following URL returns all those attributes which are mentioned in f bracket for the
conditions mentioned in the Request Body.
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal&f=(username,city,state)
Request Body:

{
"conditions" : [
{
"name" : "job_title",
"operator" : "==",
"value" : "The Super REST Guy"
},
{
"name" : "is_manager",
"operator" : "==",
"value" : "true"
}
]
}

Note: The results returned meet all the specified conditions passed in the Request Body. All
the conditions are AND-ed together.

Using GET to retrieve People data

Retrieve Simple Type Attributes


To retrieve simple data from the People end point invoke the following URL using the GET
method:
https://<hostname-api.sabacloud.com>/v1/people/{id}
Note: You can retrieve {id} by invoking the Search REST web service.
This URL retrieves all simple type attributes on the person component, excluding complex
(component type) attributes such as education, externalCertifications, etc.
REST API Reference | People | 66

Retrieve A Specific Attribute


To retrieve selected data from the People end point the URL needs to be passed the People
ID whose attribute needs to be retrieved and the required attribute's name using the GET
method:
https://<hostname-api.sabacloud.com>/v1/people/{id}:({Attribute name})
Note: You can retrieve {id} by invoking the Search REST web service.
For Example:
The following URL returns only the First name:
https://<hostname-api.sabacloud.com>/v1/people/{id}:(fname)
Return Values:

{
"fname": "Pamela"
}

Retrieve Multiple Attributes


You can pass a comma separated list of attributes to retrieve data simple as well as
component type data from multiple attributes using the GET method:
https://<hostname-api.sabacloud.com>/v1/people/{id}:({CSV list of attribute names such as
fname, lname, education, externalCertifications, etc.})
For Example:
The following URL returns the First name and the education details:
https://<hostname-api.sabacloud.com>/v1/people/{id}:(fname,education)
Note: You can retrieve {id} by invoking the Search REST web service.
Return Values:

{
"fname": "Pamela"
“education": [
{ "institute": "XYZ"

}, …
]
}

Retrieve a sub object of Component Type Attributes


To retrieve a sub object from a component type attribute the URL needs to be passed the
People ID whose attribute needs to be retrieved and the required attribute's name and ID
using the GET method:
https://<hostname-api.sabacloud.com>/v1/people/{id}/{AttributeName}/{id}
You can also specify a comma separated list of attributes in the URL as:
https://<hostname-api.sabacloud.com>/v1/people/{id}/{AttributeName}/{id}:({CSV list of
attribute names such as fname, lname, education, externalCertifications, etc.})
For example:
REST API Reference | People | 67

https://<hostname-api.sabacloud.com>/v1/people/{id}/coreProfile/{id}:(externalSite)
Note: You can retrieve {id} by invoking the Search REST web service.

Using POST to create People data


You can use the following URLs to create people using the POST method.
For External People:
https://<hostname-api.sabacloud.com>/v1/people?type={external}
For Internal People:
https://<hostname-api.sabacloud.com>/v1/people?type={internal}
These URLs accept input in the form of JSON.
Note: The JSON input must have all the required attributes.

Creating People data


You can use the above mentioned URLs to create people data.
For example:
The following URL and the Request Body creates an internal person:
https://<hostname-api.sabacloud.com>/v1/people?type={internal}
Request Body:

{
"location_id": {
"id": "locat000000000001000",
"displayName": "Location1"
},
"state": "em1state1111",
"country": "em1country2222",
"manager_id": {
"id": "emplo000000000200503",
"displayName": "David Longerbeam"
},
"locale_id": {
"id": "local000000000000001",
"displayName": "English"
},
"username": "resttest4",
"status": "Full Time",
"password": "resttest4",
"suffix": "emSuffix",
"title": "Mr.",
"timezone_id": {
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"city": "em1cityllllllll",
"zip": "66666",
"fname": "User5555aa",
"lname": "Oneggg66",
"email": "resttest4@saba.com",
"gender": 0,
"homephone": "",
REST API Reference | People | 68

"workphone": "",
"fax": "",
"home_domain": {
"id": "domin000000000000001",
"displayName": "world"
},
"is_manager": true,
"password_changed": false,
"home_company_id": {
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"company_id": {
"id": "bisut000000000001003",
"displayName": "BusinessUnit4"
},
"jobtype_id": {
"id": "jobtp000000000200161",
"displayName": "Engineer 1"
},
"ss_no": "111-11-1116",
"job_title": "emJobTitle",
"terminated_on": "2015-01-31T22:00:00.000+0000",
"person_type": "Permanent",
"mname": "O.",
"started_on": "2000-02-27T22:00:00.000+0000",
"job_title_type": null,
"religion": "Hinduism",
"ethnicity": "Hispanic Origin",
"date_of_birth": "1980-01-14T22:00:00.000+0000",
"person_no": "1234512345",
"special_user": false,
"addr1": "erge",
"addr2": "ergeg",
"addr3": "addr33333",
"correspondence_preference1": "1",
"correspondence_preference2": "0",
"correspondence_preference3": "1",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

Creating People data along with sub objects


You can use the above mentioned URLs to create people data along with sub objects if they
are passed along in JSON.
For example:
The following URL and the Request Body creates an internal person with languages as its
sub object:
https://<hostname-api.sabacloud.com>/v1/people?type={internal}
Request Body:

{
"location_id": {
"id": "locat000000000001000",
REST API Reference | People | 69

"displayName": "Location1"
},
"state": "em1state1111",
"country": "em1country2222",
"manager_id": {
"id": "emplo000000000200503",
"displayName": "David Longerbeam"
},
"locale_id": {
"id": "local000000000000001",
"displayName": "English"
},
"username": "resttest4",
"status": "Full Time",
"password": "resttest4",
"suffix": "emSuffix",
"title": "Mr.",
"timezone_id": {
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"city": "em1cityllllllll",
"zip": "66666",
"fname": "User5555aa",
"lname": "Oneggg66",
"email": "resttest4@saba.com",
"gender": 0,
"homephone": "",
"workphone": "",
"fax": "",
"home_domain": {
"id": "domin000000000000001",
"displayName": "world"
},
"is_manager": true,
"password_changed": false,
"home_company_id": {
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"company_id": {
"id": "bisut000000000001003",
"displayName": "BusinessUnit4"
},
"jobtype_id": {
"id": "jobtp000000000200161",
"displayName": "Engineer 1"
},
"ss_no": "111-11-1116",
"job_title": "emJobTitle",
"terminated_on": "2015-01-31T22:00:00.000+0000",
"person_type": "Permanent",
"mname": "O.",
"started_on": "2000-02-27T22:00:00.000+0000",
"job_title_type": null,
"religion": "Hinduism",
"ethnicity": "Hispanic Origin",
"date_of_birth": "1980-01-14T22:00:00.000+0000",
"person_no": "1234512345",
"special_user": false,
"addr1": "erge",
"addr2": "ergeg",
REST API Reference | People | 70

"addr3": "addr33333",
"correspondence_preference1": "1",
"correspondence_preference2": "0",
"correspondence_preference3": "1",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"languages": [
{
"language": {
"id": "lange000000000000017",
"displayName": "Polish"
},
"notes": null,
"speaking_level": "High",
"reading_level": "None",
"writing_level": "None",
"id": "pplan000000000050320",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}

Add Component Type Attributes


You can use the following URL to add a component type attribute using the POST method.
https://<hostname-api.sabacloud.com>/v1/people/{id}/{AttributeName}
This URL accepts input in the form of JSON.
For example:
The following URL adds a single eduction entry using the mentioned Request Body as the
input:
https://<hostname-api.sabacloud.com>/v1/people/{id}/education
Note: You can retrieve {id} by invoking the Search REST web service.
Request Body:

{
"completion_date": "2008-07-07",
"comments": "test",
"institute_lov": "Kanpur IIT",
"major_lov": null,
"degree": "High School",
"institution_type": "Open University",
"completion_percent": 100,
"securityDomain": { "id": "domin000000000000001", "displayName": "world" }
}
REST API Reference | People | 71

Using PUT to update People data

Update Simple Type Attributes


You can use the following URL to update people using the PUT method.
https://<hostname-api.sabacloud.com>/v1/people/{id}
Note: You can retrieve {id} by invoking the Search REST web service.
This URL accepts input in the form of JSON.
Note: The JSON input must have all those attributes that need to be updated. If the attribute
is not specified, it is not updated.
Example:
The following example shows updating a simple attribute (middle name of the person).
Method: PUT
URL: https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001022
Request Body:

{
"mname": "Middle Name - Update"
}

If the logged in user does not have edit access for a particular attribute, the PUT request will
ignore that attribute and NOT update it.

Update Component Type Attributes


You can use the following URL to update people using the PUT method.
https://<hostname-api.sabacloud.com>/v1/people/{id}
Note: You can retrieve {id} by invoking the Search REST web service.
This URL accepts input in the form of JSON.
Note: The JSON input must have all those attributes that need to be updated. If the attribute
is not specified, it is not updated.
If the logged in user does not have edit access for a particular attribute, the PUT request will
ignore that attribute and NOT update it.
The list of objects passed in the JSON value for multi-valued attributes replaces the old list.
For example:
• If a new education entry is to be created, it should be passed in with the existing education
entries.
• If an existing education needs to be updated, it should be passed in with its "ID" and updated
values. All the other existing education entries should be passed in the JSON as well.
• If you want to remove an education entry, then do not pass it in the education value (array)
in JSON. If you want to remove all education entries, pass an empty array.
REST API Reference | People | 72

Updating People data


You can use the above mentioned URLs to update people data.
For example:
The following URL and the Request Body updates a person:
https://<hostname-api.sabacloud.com>/v1/people/{id}
Request Body:

{
"location_id": {
"id": "locat000000000001000",
"displayName": "Location1"
},
"state": "em1state1111",
"country": "em1country2222",
"manager_id": {
"id": "emplo000000000200503",
"displayName": "John Deo"
},
"locale_id": {
"id": "local000000000000001",
"displayName": "English"
},
"username": "resttest4",
"status": "Full Time",
"password": "resttest4",
"suffix": "emSuffix",
"title": "Mr.",
"timezone_id": {
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"city": "em1cityllllllll",
"zip": "66666",
"fname": "User5555aa",
"lname": "Oneggg66",
"email": "resttest4@saba.com",
"gender": 0,
"homephone": "",
"workphone": "",
"fax": "",
"home_domain": {
"id": "domin000000000000001",
"displayName": "world"
},
"is_manager": true,
"password_changed": false,
"home_company_id": {
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"company_id": {
"id": "bisut000000000001003",
"displayName": "BusinessUnit4"
},
"jobtype_id": {
"id": "jobtp000000000200161",
"displayName": "Engineer 1"
REST API Reference | People | 73

},
"ss_no": "111-11-1116",
"job_title": "emJobTitle",
"terminated_on": "2015-01-31T22:00:00.000+0000",
"person_type": "Permanent",
"mname": "O.",
"started_on": "2000-02-27T22:00:00.000+0000",
"job_title_type": null,
"religion": "Hinduism",
"ethnicity": "Hispanic Origin",
"date_of_birth": "1980-01-14T22:00:00.000+0000",
"person_no": "1234512345",
"special_user": false,
"addr1": "erge",
"addr2": "ergeg",
"addr3": "addr33333",
"correspondence_preference1": "1",
"correspondence_preference2": "0",
"correspondence_preference3": "1",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

Update a sub object of Component Type Attributes


You can use the following URL to update a sub object using the PUT method.
https://<hostname-api.sabacloud.com>/v1/people/{id}/{AttributeName}/{id}
Note: You can retrieve {id} by invoking the Search REST web service.
This URL accepts input in the form of JSON.
For example:
The following URL updates a single eduction entry using the mentioned Request Body as the
input:
https://<hostname-api.sabacloud.com>/v1/people/{id}/education/{id}
Request Body:

{
"completion_date": "2008-07-07",
"comments": "test",
"institute_lov": "Kanpur IIT",
"major_lov": null,
"degree": "High School",
"institution_type": "Open University",
"completion_percent": 100,
"securityDomain": { "id": "domin000000000000001", "displayName": "world" }
}

Using DELETE to delete a sub object of People data


You can use the following URL to delete a sub object using the DELETE method.
https://<hostname-api.sabacloud.com>/v1/people/{id}/{AttributeName}/{id}
REST API Reference | People | 74

Note: You can retrieve {id} by invoking the Search REST web service.
For example:
The following URL deletes a single eduction entry:
https://<hostname-api.sabacloud.com>/v1/people/{id}/education/{id}

Attributes for the People end point

Simple Attributes
Table 8: Simple Attributes

Attribute Name Display Name Type Required isSearchFilter Description

addr1 Address 1 string FALSE TRUE First address line

addr2 Address 2 string FALSE TRUE Second address line

addr3 Address 3 string FALSE TRUE Third address line

careerInterests Career In- array FALSE Person's career in-


terests terests.

centraProfile Centra Informa- object FALSE Cornerstone SBX


tion meeting related in-
formation.

city City string FALSE TRUE Address city inform-


ation.

company_id Organization object TRUE Identifier for this


person's company.

competencies Competencies array FALSE This person's com-


petencies.

coreProfile Core Profile object TRUE Core attributes on a


person's profile.

correspond- Correspond- object FALSE First correspond-


ence_preference1 ence Prefer- ence preference.
ence You can access the
values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/sysli000
000000000148/val-
ues
REST API Reference | People | 75

Attribute Name Display Name Type Required isSearchFilter Description

correspond- Correspond- object FALSE Second correspond-


ence_preference2 ence Prefer- ence preference.
ence2 You can access the
values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/sysli00 000000
0000148/values

correspond- Correspond- object FALSE Third correspond-


ence_preference3 ence Prefer- ence preference.
ence3 You can access the
values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/sysli00 000000
0000148/values

country Country/Region string FALSE TRUE Address country in-


formation.

customSection1 Custom Section object FALSE First set of custom


1 information on the
profile.

customSection2 Custom Section object FALSE Second set of cus-


2 tom information on
the profile.

customSection3 Custom Section object FALSE Third set of custom


3 information on the
profile.

date_of_birth Date of Birth date FALSE TRUE Person's date of


birth.

desired_job_type_id Desired Job object FALSE Person's preferred


Type job.

education Education array FALSE Person's education


information.

email E-mail string FALSE TRUE


REST API Reference | People | 76

Attribute Name Display Name Type Required isSearchFilter Description

ethnicity Ethnicity string FALSE TRUE You can access the


values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/listi0000
000000 03002/val-
ues

externalCertifica- External Certific- array FALSE Person's certifca-


tions ations tions acquired out-
side Cornerstone
SBX's LMS.

externalWorkHistory External Work array FALSE Person's work his-


History tory outside of the
current company.

fax Fax string FALSE TRUE

flightRisk Flight Risk object FALSE Person's flight risk


information.

fname First Name string TRUE TRUE

gender Gender num- TRUE TRUE You can access the


ber values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api /list/sysli
000000
000003002/values

home_company_id Company object FALSE Person's home com-


pany.

home_domain Home Domain object TRUE Person's home do-


main.

homephone Home Phone string FALSE TRUE

id Person ID string TRUE TRUE

imProfile Instant Messen- array FALSE


ger Information

interests Professional In- object FALSE


terests
REST API Reference | People | 77

Attribute Name Display Name Type Required isSearchFilter Description

internalCertifica- Certifications array FALSE Person's certifica-


tions tions acquired
through Corner-
stone SBX's LMS.

internalWorkHistory Internal Work array FALSE Person's job history


History within the person's
company.

is_manager Manager Ac- boolean FALSE TRUE Boolean value, true


cess if person is a man-
ager.

job_title Business Card string FALSE TRUE


Title

job_title_type Job Title Type string FALSE TRUE You can access the
values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/listi0000
000000 03027/val-
ues

jobtype_id Job object FALSE

languages Languages array FALSE Person's language


skills.

lname Last Name string TRUE TRUE

locale_id Locale ID object TRUE

location_id Location object FALSE

manager_id Manager object FALSE

mname Middle Name string FALSE TRUE

mobility Mobility array FALSE Person's mobility in-


formation.

networkInfo Network object FALSE Person's network in-


formation.

password Password string TRUE FALSE

password_changed Password boolean FALSE FALSE Boolean value denot-


Changed ing whether a per-
son's password has
changed.

person_no Person No string TRUE TRUE


REST API Reference | People | 78

Attribute Name Display Name Type Required isSearchFilter Description

person_type Type string FALSE TRUE You can access the


values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/listi0000
000000 01013/val-
ues

potentialPositions Potential Posi- array FALSE Person's potential


tions position informa-
tion.

potentialRating Potential Rating array FALSE Person's potential


information.

religion Religion string FALSE TRUE You can access the


values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/listi0000
000000 03003/val-
ues

secondaryAddress Billing Address object FALSE

special_user Special User boolean FALSE TRUE Internal data.

securityDomain Domain object TRUE

ss_no Person Legal ID string FALSE TRUE

started_on Start Date date FALSE TRUE

state State/Province string FALSE TRUE Address state or


province informa-
tion.

status Status string TRUE TRUE You can access the


values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/listi0000
000000 01012/val-
ues

suffix Suffix string FALSE TRUE The suffix for a per-


son's name.
REST API Reference | People | 79

Attribute Name Display Name Type Required isSearchFilter Description

teamInfo Team Profile object FALSE Person's team in-


formation.

terminated_on Terminated On date FALSE FALSE

timezone_id Time Zone object TRUE

title Title string FALSE TRUE You can access the


values of the list
here: https://<host-
name-
api.sabacloud.com>
/Saba/api
/list/listi0000
000000 01006/val-
ues

transcripts Transcripts array FALSE Person's learning in-


formation.

username Username string TRUE TRUE

workphone Work Phone string FALSE TRUE

zip Zip/Postal Code string FALSE TRUE Address zip/postal


code information.

custom0 Custom0 string FALSE TRUE

custom1 Custom1 string FALSE TRUE

custom2 Custom2 string FALSE TRUE

custom3 Custom3 string FALSE TRUE

custom4 Custom4 string FALSE TRUE

custom5 Custom5 string FALSE TRUE

custom6 Custom6 string FALSE TRUE

custom7 Custom7 string FALSE TRUE

custom8 Custom8 string FALSE TRUE

custom9 Custom9 string FALSE TRUE


REST API Reference | People | 80

Component Attributes (Arrays, Objects)


Table 9: Component Attributes

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Career- descrip- Descrip- string FALSE FALSE A textual description of the interest.
Int- tion tion
erests

Career- id ID string TRUE TRUE Identifier of the interest


Int-
erests

Career- job_type_id Job ob- TRUE Identifier of the job associated with this
Int- ject interest.
erests

Career- security- Domain ob- TRUE Security domain of the career interest.
Int- Domain ject
erests

CentraPro- conf_cal_ac- Access string FALSE FALSE Conference call access code.
file cess_code Code

CentraPro- conf_ca_latl_num- Confer- string FALSE FALSE Conference call alternate phone num-
file ber ence Call ber.
Number 2

CentraPro- conf_ca
_lhost_code Host string FALSE FALSE Conference call host code.
file Code

CentraPro- conf_call_in- Confer- string FALSE FALSE Conference call instructions.


file struc- ence Call
tions Instruc-
tions

CentraPro- conf_ca_
lnum- Confer- string FALSE FALSE Conference call primary phone number.
file ber ence Call
Number 1

CentraPro- id string TRUE TRUE Identifier of this saba meeting profile


file definition.

CentraPro- meet- Meeting num- FALSE FALSE Conference call meeting capacity.
file ing_capa- Capacity ber
city

CentraPro- nick_name Display string FALSE FALSE Cornerstone SBX meeting alias.
file Name

Com- compet- Compet- string TRUE FALSE Reference to the competency.


pet- ency ency
encyPro-
file
REST API Reference | People | 81

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Com- heldPro- Profi- string FALSE FALSE Reference to the held level.
pet- ficiency ciency
encyPro-
file

Com- heldPro- Profi- string FALSE FALSE Numeric value of the held level.
pet- ficiency- ciency
encyPro- Value Level
file

Com- method Compet- string FALSE FALSE Reference to the assessment method
pet- ency used.
encyPro- Method
file

Com- person Person string TRUE FALSE Reference to this person.


pet-
encyPro-
file

Com- provider Compet- string FALSE FALSE Reference to the provider of this com-
pet- ency Pro- petency.
encyPro- vider
file

Com- required- Required string FALSE FALSE Referency to the required level.
pet- Profi- Profi-
encyPro- ciency ciency
file

Com- re- Review num- FALSE FALSE Level from a performance review.
pet- viewScore Score ber
encyPro-
file

Com- source Source string FALSE FALSE Reference to the source of the compet-
pet- ency.
encyPro-
file

Com- source- Source string FALSE FALSE Type information for the competency
pet- Type Type source.
encyPro-
file

Core- extern- Online ar- FALSE Links to external web profiles.


Profile alSite Profiles ray

Core- extern- Online ar- FALSE Links to external web profiles.


Profile alSite Profiles ray

Core- guid GUID string TRUE FALSE Person's GUID.


Profile
REST API Reference | People | 82

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Core- id Core Pro- string TRUE TRUE Identifier of the core profile entry.
Profile file Id

Core- is_di- Is Diverse booe


lan FALSE FALSE Diversity flag.
Profile verse ?

Core- picIcon- Picture - string FALSE FALSE URL to the person's thumbnail image.
Profile Url Icon

Core- picLargeUrl Picture string FALSE FALSE URL to the person's full image.
Profile

Core- pqScore PQ Score string FALSE FALSE Person's people quotient score.
Profile

Core- security- Domain ob- TRUE Security domain of the core profile
Profile Domain ject entry.

Core- text1 My Bio string FALSE FALSE Person's biographical information.


Profile

Core- userAc- User Ac- ob- FALSE Listing of user account states, whether
Profile cept- ceptance ject the user is active or inactive. You can
anceStatus Status access the values of the list here: ht-
tps://<hostname-api.sabacloud.com>
/Saba/api /list/sysli 000000
000003070/values

Core- will_relo- Will Relo- booe


lan FALSE FALSE Willingness to relocate.
Profile cate cate ?

Core- will_relo- Will Relo- booe


lan FALSE FALSE Willingness to relocate anywhere.
Profile cate_any- cate any-
where where ?

Extern- site_type Site type string TRUE FALSE Type of external web profile.
alSite

Extern- url URL string FALSE FALSE The URL to the external web profile.
alSite

Custom- id ID string TRUE TRUE The identifier for this custom section.
Sec-
tion1

Custom- security- Domain ob- TRUE Security domain of this custom section.
Sec- Domain ject
tion1

Custom- custom0 Integer string FALSE TRUE


Sec- Field
tion1
REST API Reference | People | 83

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Custom- custom1 Real Field string FALSE TRUE


Sec-
tion1

Custom- custom2 String string FALSE TRUE


Sec- Field (255
tion1 charac-
ters max-
imum)

Custom- custom3 String string FALSE TRUE You can access the values of the list
Sec- Field here: https://<hostname-
tion1 (LOV) api.sabacloud.com> /Saba/api
/list/listi0000 0000001 0040/values

Custom- custom4 Boolean string FALSE TRUE


Sec- Field
tion1

Custom- custom5 Date Field string FALSE TRUE


Sec-
tion1

Custom- custom6 Time string FALSE TRUE


Sec- Field
tion1

Custom- id ID string TRUE TRUE The identifier for this custom section.
Sec-
tion2

Custom- security- Domain ob- TRUE


Sec- Domain ject
tion2

Custom- custom0 Custom0 string FALSE TRUE


Sec-
tion2

Custom- custom1 Custom1 string FALSE TRUE You can access the values of the list
Sec- here: https://<hostname-
tion2 api.sabacloud.com> /Saba/api
/list/listi0000 000000 10021/values

Custom- custom2 Custom2 string FALSE TRUE


Sec-
tion2

Custom- custom3 Custom3 string FALSE TRUE


Sec-
tion2
REST API Reference | People | 84

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Custom- custom4 Custom4 string FALSE TRUE


Sec-
tion2

Custom- custom5 Custom5 string FALSE TRUE


Sec-
tion2

Custom- custom6 Custom6 string FALSE TRUE


Sec-
tion2

Custom- custom7 Custom7 string FALSE TRUE


Sec-
tion2

Custom- custom8 Custom8 string FALSE TRUE


Sec-
tion2

Custom- custom9 Custom9 string FALSE TRUE


Sec-
tion2

Custom- id ID string TRUE TRUE


Sec-
tion3

Custom- security- Domain ob- TRUE


Sec- Domain ject
tion3

Custom- custom0 Custom0 string FALSE TRUE


Sec-
tion3

Custom- custom1 Custom1 string FALSE TRUE


Sec-
tion3

Custom- custom2 Custom2 string FALSE TRUE


Sec-
tion3

Custom- custom3 Custom3 string FALSE TRUE


Sec-
tion3

Custom- custom4 Custom4 string FALSE TRUE


Sec-
tion3
REST API Reference | People | 85

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Custom- custom5 Custom5 string FALSE TRUE


Sec-
tion3

Custom- custom6 Custom6 string FALSE TRUE


Sec-
tion3

Custom- custom7 Custom7 string FALSE TRUE


Sec-
tion3

Custom- custom8 Custom8 string FALSE TRUE


Sec-
tion3

Custom- custom9 Custom9 string FALSE TRUE


Sec-
tion3

Educa- com- Com- string FALSE FALSE Comments about the education inform-
tion ments ments ation.

Educa- comple- Comple- date FALSE FALSE


tion tion_date tion Date

Educa- comple- Percent num- TRUE FALSE


tion tion_per- Com- ber
cent pleted

Educa- degree Degree string TRUE FALSE You can access the values of the list
tion here: https://<hostname-
api.sabacloud.com> /Saba/api
/list/listi0000 000000 03014/values

Educa- id ID string TRUE TRUE


tion

Educa- insti- Institu- string TRUE FALSE You can access the values of the list
tion tute_lov tion here: https://<hostname-
api.sabacloud.com> /Saba/api
/list/listi0000 000000 03007/values

Educa- institu- Type string TRUE FALSE You can access the values of the list
tion tion_type here: https://<hostname-
api.sabacloud.com> /Saba/api
/list/listi0000 000000 03006/values

Educa- ma- Major string FALSE FALSE You can access the values of the list
tion jor_lov here: https://<hostname-
api.sabacloud.com> /Saba/api
/list/listi0000 000000 03008/values
REST API Reference | People | 86

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Educa- security- Domain ob- TRUE


tion Domain ject

Extern- accredit- Accredit- ob- TRUE Listing of accrediting institutions


alCerti- ing_body_lov ing Institu- ject
fica- tion
tions

Extern- ac- Acquired date TRUE FALSE


alCerti- quired_on On Date
fica-
tions

Extern- certifica- Name ob- TRUE Listing of certifications.


alCerti- tion_lov ject
fica-
tions

Extern- ex- Expira- date FALSE FALSE


alCerti- pires_on tion Date
fica-
tions

Extern- id ID string TRUE TRUE


alCerti-
fica-
tions

Extern- security- Domain ob- TRUE


alCerti- Domain ject
fica-
tions

Extern- accom- Key Ac- string FALSE FALSE Short description of accomplishments.
al- plish- complish-
WorkHis- ments ments
tory

Extern- com- Employer ob- TRUE Listing of employers.


al- pany_lov ject
WorkHis-
tory

Extern- end_date End Date date TRUE FALSE


al-
WorkHis-
tory

Extern- id ID string TRUE TRUE


al-
WorkHis-
tory
REST API Reference | People | 87

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Extern- job_title Title string TRUE TRUE Job title for this work history.
al-
WorkHis-
tory

Extern- location Location string TRUE FALSE User entered text identifying the loca-
al- tion.
WorkHis-
tory

Extern- respons- Scope/Re- string FALSE FALSE Short job description.


al- ibilities sponsibilit-
WorkHis- ies
tory

Extern- security- Domain ob- TRUE


al- Domain ject
WorkHis-
tory

Extern- start_date Start date TRUE FALSE


al- Date
WorkHis-
tory

FlightRisk flight_risk FlightRisk string TRUE FALSE Flight risk level. You can access the
values of the list here: https://<host-
name-api.sabacloud.com> /Saba/api
/list/sysli 000000 000003023/values

FlightRisk id ID string TRUE TRUE

FlightRisk security- Domain ob- TRUE


Domain ject

FlightRisk custom0 Custom0 string FALSE TRUE

FlightRisk custom1 Custom1 string FALSE TRUE

FlightRisk custom2 Custom2 string FALSE TRUE

FlightRisk custom3 Custom3 string FALSE TRUE

FlightRisk custom4 Custom4 string FALSE TRUE

FlightRisk custom5 Custom5 string FALSE TRUE

FlightRisk custom6 Custom6 string FALSE TRUE

FlightRisk custom7 Custom7 string FALSE TRUE

FlightRisk custom8 Custom8 string FALSE TRUE

FlightRisk custom9 Custom9 string FALSE TRUE


REST API Reference | People | 88

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Person- id ID string TRUE TRUE


IMInfo

Person- im_alias Alias string TRUE FALSE Public IM account identifier.


IMInfo

Person- im_type Type string TRUE FALSE IM type. You can access the values of
IMInfo the list here: https://<hostname-
api.sabacloud.com> /Saba/api /list/sysli
000000 000003011/values

Person- isPre- Is Pre- booe


lan TRUE FALSE Flag defining the preferred IM.
IMInfo ferred ferred

Person- per- Person Id ob- TRUE


IMInfo son_id ject

Profes- longTer- Long string FALSE FALSE


sionalIn- mAspira- term as-
terests tions pirations

Profes- shortTer- Short string FALSE FALSE


sionalIn- mAspira- term as-
terests tions pirations

Stu- ac- Acquired date FALSE FALSE


dent quired_on On
Certific-
ation

Stu- as- Assigned date TRUE FALSE


dent signed_on On
Certific-
ation

Stu- certifica- Certifica- ob- TRUE


dent tion_id tion ject
Certific-
ation

Stu- cre- Created string TRUE TRUE


dent ated_by by
Certific-
ation

Stu- cre- Created string TRUE FALSE


dent ated_id Id
Certific-
ation
REST API Reference | People | 89

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Stu- cre- Created date TRUE TRUE


dent ated_on on
Certific-
ation

Stu- ex- Expira- date FALSE FALSE


dent pired_on tion Date
Certific-
ation

Stu- flags Flags string FALSE FALSE


dent
Certific-
ation

Stu- held_cert_no Held Certi- string TRUE FALSE


dent fication
Certific- Number
ation

Stu- id Id string TRUE TRUE


dent
Certific-
ation

Stu- is_waived Is Waived booe


lan FALSE FALSE
dent
Certific-
ation

Stu- need_re- Need Nor- booe


lan FALSE FALSE
dent cert malRecer-
Certific- tification
ation

Stu- need_re- Need Re- booe


lan FALSE FALSE
dent cert_eq certifica-
Certific- tion Due
ation to Equival-
ent Ver-
sioning

Stu- need_re- Need Re- booe


lan FALSE FALSE
dent cert_ot certifica-
Certific- tion due
ation to Course
version-
ing

Stu- own- Student ob- TRUE


dent er_id ject
Certific-
ation
REST API Reference | People | 90

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Stu- reassign Reassign booe


lan FALSE FALSE
dent Certifica-
Certific- tion
ation

Stu- re- Recertific- date FALSE FALSE


dent cert_win- ation
Certific- dow_starts_on Starts On
ation

Stu- re- Revoked date FALSE FALSE


dent voked_on On
Certific-
ation

Stu- star- Started date FALSE TRUE


dent ted_on On
Certific-
ation

Stu- status Status ob- TRUE You can access the values of the list
dent ject here: https://<hostname-
Certific- api.sabacloud.com> /Saba/api
ation /list/sysli00 000000 0000158/values

Stu- tar- Target date FALSE FALSE


dent get_date Date
Certific-
ation

Stu- track_id Path Id ob- FALSE


dent ject
Certific-
ation

Stu- up- Updated string TRUE TRUE


dent dated_by by
Certific-
ation

Stu- up- Update date TRUE TRUE


dent dated_on on
Certific-
ation

Stu- custom0 Custom0 string FALSE TRUE


dent
Certific-
ation
REST API Reference | People | 91

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Stu- custom1 Custom1 string FALSE TRUE


dent
Certific-
ation

Stu- custom2 Custom2 string FALSE TRUE


dent
Certific-
ation

Stu- custom3 Custom3 string FALSE TRUE


dent
Certific-
ation

Stu- custom4 Custom4 string FALSE TRUE


dent
Certific-
ation

Stu- custom5 Custom5 string FALSE TRUE


dent
Certific-
ation

Stu- custom6 Custom6 string FALSE TRUE


dent
Certific-
ation

Stu- custom7 Custom7 string FALSE TRUE


dent
Certific-
ation

Stu- custom8 Custom8 string FALSE TRUE


dent
Certific-
ation

Stu- custom9 Custom9 string FALSE TRUE


dent
Certific-
ation

Internal- addition- Additional string FALSE FALSE


WorkHis- al_re- Respons-
tory sponsibil- ibilities
ities

Internal- end_date End Date date FALSE FALSE


WorkHis-
tory
REST API Reference | People | 92

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Internal- id ID string TRUE TRUE


WorkHis-
tory

Internal- job_title JobTitle string FALSE TRUE


WorkHis-
tory

Internal- job_type_id Job- ob- TRUE


WorkHis- Type_id ject
tory

Internal- key_ac- Key Ac- string FALSE FALSE


WorkHis- com- complish-
tory plish- ments
ments

Internal- loca- Loca- ob- FALSE


WorkHis- tion_id tionId ject
tory

Internal- man- Mana- ob- FALSE


WorkHis- ager_id gerId ject
tory

Internal- organiza- Organiza- ob- FALSE


WorkHis- tion_id tionId ject
tory

Internal- security- Domain ob- TRUE


WorkHis- Domain ject
tory

Internal- start_date Start date TRUE FALSE


WorkHis- Date
tory

Lan- id ID string TRUE TRUE


guages

Lan- lan- Language ob- TRUE You can access the values of the list
guages guage ject here: https://<hostname-
api.sabacloud.com> /Saba/api
/list/listi0000 000000 03011/values

Lan- notes Notes string FALSE FALSE Notes about a specific language skill.
guages

Lan- read- Reading string TRUE FALSE You can access the values of the list
guages ing_level Level here: https://<hostname-
api.sabacloud.com> /Saba/api /list/sysli
000000 000003026/values
REST API Reference | People | 93

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Lan- speak- Speaking string TRUE FALSE You can access the values of the list
guages ing_level Level here: https://<hostname-
api.sabacloud.com> /Saba/api /list/sysli
000000 000003025/values

Lan- security- Domain ob- TRUE


guages Domain ject

Lan- writ- Writing string TRUE FALSE You can access the values of the list
guages ing_level Level here: https://<hostname-
api.sabacloud.com> /Saba/api /list/sysli
000000 000003027/values

Mobility assign- Assign- string TRUE FALSE You can access the values of the list
ment_type ment here: https://<hostname-
Type api.sabacloud.com> /Saba/api
/list/listi0000 000000 03012/values

Mobility avail_from Date date TRUE FALSE Dates detailing this person's availability
Available to move.

Mobility com- Com- string FALSE FALSE Additional information on the mobility
ments ments preference.

Mobility id ID string TRUE TRUE

Mobility loca- Location ob- TRUE A location associated with this mobility
tion_id ject preference.

Mobility security- Domain ob- TRUE


Domain ject

Net- mentors Mentors ar- FALSE FALSE Listing of people who are mentors of
workEle- ray this person.
ment

Net- person person string TRUE FALSE Reference to this person.


workEle-
ment

Poten- id ID string TRUE TRUE


tialPosi-
tions

Poten- job_type_id Job ob- TRUE


tialPosi- ject
tions

Poten- notes Notes string FALSE FALSE


tialPosi-
tions
REST API Reference | People | 94

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Poten- readi- Readi- string TRUE FALSE Time by when this person will be ready
tialPosi- ness ness for the job. You can access the values
tions of the list here: https://<hostname-
api.sabacloud.com> /Saba/api /list/sysli
000000 000003030/values

Poten- security- Domain ob- TRUE


tialPosi- Domain ject
tions

Poten- id ID string TRUE TRUE


tialRat-
ing

Poten- potential Potential string TRUE FALSE You can access the values of the list
tialRat- here: https://<hostname-
ing api.sabacloud.com> /Saba/api /list/sysli
000000 000003024/values

Poten- security- Domain ob- TRUE


tialRat- Domain ject
ing

Poten- custom0 Custom0 string FALSE TRUE


tialRat-
ing

Poten- custom1 Custom1 string FALSE TRUE


tialRat-
ing

Poten- custom2 Custom2 string FALSE TRUE


tialRat-
ing

Poten- custom3 Custom3 string FALSE TRUE


tialRat-
ing

Poten- custom4 Custom4 string FALSE TRUE


tialRat-
ing

Poten- custom5 Custom5 string FALSE TRUE


tialRat-
ing

Poten- custom6 Custom6 string FALSE TRUE


tialRat-
ing
REST API Reference | People | 95

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Poten- custom7 Custom7 string FALSE TRUE


tialRat-
ing

Poten- custom8 Custom8 string FALSE TRUE


tialRat-
ing

Poten- custom9 Custom9 string FALSE TRUE


tialRat-
ing

BillingAd- addr1 Address 1 string FALSE TRUE


dress

BillingAd- addr2 Address 2 string FALSE TRUE


dress

BillingAd- addr3 Address 3 string FALSE TRUE


dress

BillingAd- city City string FALSE TRUE


dress

BillingAd- country Coun- string FALSE TRUE


dress try/Re-
gion

BillingAd- id Id string TRUE TRUE


dress

BillingAd- own- Owner Id ob- TRUE


dress er_id ject

BillingAd- state State/Province string FALSE TRUE


dress

BillingAd- zip Zip/Postal string FALSE TRUE


dress code

TeamEle- altern- Alternate ar- FALSE FALSE


ment ateMan- man- ray
agers agers

TeamEle- al- Alternate ar- FALSE FALSE


ment ternateReports team ray
members

TeamEle- directRe- Direct ar- FALSE FALSE


ment ports team ray
members

TeamEle- person person string TRUE FALSE Reference to this person.


ment
REST API Reference | People | 96

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Offer- ac- Com- string TRUE FALSE


ing Ac- tion_no pleted
tion Course
Profile Number

Offer- ac- Comple- ob- FALSE You can access the values of the list
ing Ac- tion_status tion ject here: https://<hostname-
tion Status api.sabacloud.com> /Saba/api
Profile /list/sysli00 000000 0000163/values

Offer- ad- Added to date FALSE FALSE


ing Ac- ded_to_pro- Profile On
tion file_on
Profile

Offer- comple- Date date FALSE FALSE


ing Ac- tion_date Marked
tion Complete
Profile

Offer- cre- Offering string TRUE TRUE


ing Ac- ated_by Action
tion Profile
Profile

Offer- cre- Created string TRUE FALSE


ing Ac- ated_id Id
tion
Profile

Offer- cre- Created date TRUE TRUE


ing Ac- ated_on on
tion
Profile

Offer- de- Marked ob- FALSE


ing Ac- livered_by Complete ject
tion by
Profile

Offer- deliv- Delivery string FALSE FALSE


ing Ac- ery_type Type
tion
Profile

Offer- duration Dura- num- FALSE FALSE


ing Ac- tion(HH:MM) ber
tion
Profile
REST API Reference | People | 97

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Offer- end_date Ended/Com- date FALSE FALSE


ing Ac- pleted On
tion Date
Profile

Offer- end_time End Time string FALSE FALSE


ing Ac-
tion
Profile

Offer- flags Success num- TRUE FALSE You can access the values of the list
ing Ac- ber here: https://<hostname-
tion api.sabacloud.com> /Saba/api
Profile /list/sysli00 000000 0000183/values

Offer- grade Grade string FALSE FALSE


ing Ac-
tion
Profile

Offer- id Com- string TRUE TRUE


ing Ac- pleted
tion Course ID
Profile

Offer- location Location string FALSE FALSE


ing Ac-
tion
Profile

Offer- offer- Course Id ob- FALSE


ing Ac- ing_temp_id ject
tion
Profile

Offer- of- Class date FALSE FALSE


ing Ac- frng_start_date Start
tion Date
Profile

Offer- party_id party_id ob- FALSE


ing Ac- ject
tion
Profile

Offer- score Score num- FALSE FALSE


ing Ac- ber
tion
Profile
REST API Reference | People | 98

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Offer- start_date Registra- date FALSE FALSE


ing Ac- tion Date
tion
Profile

Offer- start_time Start string FALSE FALSE


ing Ac- Time
tion
Profile

Offer- status Status ob- FALSE You can access the values of the list
ing Ac- ject here: https://<hostname-
tion api.sabacloud.com> /Saba/api
Profile /list/sysli00 000000 0000173/values

Offer- tar- Target date FALSE FALSE


ing Ac- get_date Date
tion
Profile

Offer- up- Updated string TRUE TRUE


ing Ac- dated_by by
tion
Profile

Offer- up- Updated date TRUE TRUE


ing Ac- dated_on on
tion
Profile

Offer- custom0 Custom0 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom1 Custom1 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom2 Custom2 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom3 Custom3 string FALSE TRUE


ing Ac-
tion
Profile
REST API Reference | People | 99

Object Attribute Display Type Required is Description


/ Array Name Name SearchFilter

Offer- custom4 Custom4 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom5 Custom5 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom6 Custom6 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom7 Custom7 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom8 Custom8 string FALSE TRUE


ing Ac-
tion
Profile

Offer- custom9 Custom9 string FALSE TRUE


ing Ac-
tion
Profile

GET Methods
REST endpoints for the People data.

FIND PROFILE INFORMATION

Overview
Returns the profile information based on certain criteria.

Requires OAuth
No

Method
GET
REST API Reference | People | 100

URL
https://<hostname-api.sabacloud.com>/v1/people?type=:type&f=(:searchFields)&q=(:query)

Calling Options
Table 10: Calling Options

Name Description Sample Value Data Type Required?

type User type [internal or internal string No


external]

searchFields Indicate the field(s) status,is_man- string No


that you intend to ex- ager
tract: [(company_id,
state, country, user-
name, status, suffix,
title, city, zip, fname,
lname, email, gender,
homephone, work-
phone, fax, ethnicity,
religion, is_manager,
ss_no, job_title, termin-
ated_on, person_type,
mname, started_on,
job_title_type,
date_of_birth, per-
son_no, special_user,
addr1, addr2, addr3,
custom1, custom2,
custom3, custom4,
custom5, custom6,
custom7, custom8,
custom9, custom0, id,
created_on, up-
dated_on, is_re-
source, created_by,
updated_by]
REST API Reference | People | 101

Name Description Sample Value Data Type Required?

query status%3D%3DFu%
l 20Tm
i esi,_man- string No
ager%3D%3Dfalse,
include_termin-
ated%3D%3Dtrue
REST API Reference | People | 102

Name Description Sample Value Data Type Required?

Search criteria [ex:


status%3D%3DFull%20Time]
The following search
criteria (along with
sample values) are
supported:
• manager_id (em-
plo000000000001000)
• manager_user-
name (csindhav2)
• timezone_id
(tzone000000000000005)
• jobtype_id (job-
tp000000000001000)
• jobtype_name (En-
gineer 2)
• location_id
(locat000000000001000)
• location_name
(Pune)
• location_number
(123)
• home_domain_id
(dom-
in000000000001000)
• home_do-
main_name (World)
• security_domain_id
(dom-
in000000000001000)
• security_do-
main_name (World)
• created_by (uone)
• updated_by (uone)
• apply_criteria_roles
(true)
Note: If this condition
is passed as true, then
the results will be re-
turned by applying
the filters from criter-
ia based roles.
Note: To specifically
search for terminated
users you need to use
terminated_on.
Note: include_termin-
ated: With this condi-
tion set to either true,
REST API Reference | People | 103

Name Description Sample Value Data Type Required?

1, Y or Yes, the API will


get the resulting
people, regardless of
whether they are act-
ive or terminated.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000052666",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000052666"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000052667",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000052667"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000267284",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000267284"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000261104",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000261104"
},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000030904",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030904"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000270027",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000270027"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000030891",
REST API Reference | People | 104

"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030891"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000001422",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001422"

},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000041192",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000041192"
},
{
"is_manager": false,
"status": "Full Time",
"id": "emplo000000000030728",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030728"

}
],
"itemsPerPage": 10,
"totalResults": 824,
"hasMoreResults": true
}

Example (People that have changed between two timestamps)


To retrieve people based on whether they are Instructors:
https://<hostname-api.sabacloud.com>/v1/people?type=internal&q=(is_resource%3D%3Dtrue)
Return Values:

{
"facets": [],
"hasMoreResults": true,
"totalResults": 4,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"company_id": {
"id": "bisut000000000001000",
"displayName": null
},
"fname": "QA1",
"id": "emplo000000000200021",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000200021"
},
{
"company_id": {
"id": "bisut000000000001000",
"displayName": null
},
"fname": "QA1",
"id": "emplo000000000200020",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000200020"
},
REST API Reference | People | 105

{
"company_id": {
"id": "bisut000000000001000",
"displayName": null
},
"fname": "performance",
"id": "emplo000000000200040",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000200040"
},
{
"company_id": {
"id": "bisut000000000001000",
"displayName": null
},
"fname": "Human",
"id": "emplo000000000200003",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000200003"
}
]
}

To find out people that have changed between two timestamps (for example based on
created_on or updated_on):
https://<hostname-api.sabacloud.com>/v1/people?type=internal&q=(created_on%3Dge%3D2010-01-29
01:29:32 AM,created_on%3Dle%3D2012-01-29 01:29:32 AM)
Return Values:

{
"results": [
{
"fname": "int_user",
"lname": "no_view",
"id": "emplo000000000201307",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201307"
},
{
"fname": "user1",
"lname": "org_rupees",
"id": "emplo000000000201308",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201308"
},
{
"fname": "usr1",
"lname": "org_currency1",
"id": "emplo000000000201310",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201310"
},
{
"fname": "usr1",
"lname": "org_usd",
"id": "emplo000000000201309",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201309"
}
],
"facets": [],
"startIndex": 1,
"totalResults": 4,
"hasMoreResults": false,
"itemsPerPage": 10
}
REST API Reference | People | 106

Example (People based on company_id)


To find out people based company_id:
https://<hostname-api.sabacloud.com>/v1/people?type=internal&q=(company_id%3D%3Dcmpny000000000001885)

Example (include_terminated)
To search internal person (active as well as terminated) with company_id:
cmpny000000000001885
https://<hostname-api.sabacloud.com>/v1/people?type=internal&q=(company_id%3D%3Dcmpny000000000001885,
include_terminated%3D%3Dtrue)

GET ALL PERSONS (INTERNAL/EXTERNAL)

Overview
Returns all Persons(Internal/External) for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people?type=:type

Calling Options
Table 11: Calling Options

Name Description Sample Value Data Type Required?

type User type [internal or internal enumerated Yes


external]

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"fname": "1",
"lname": "01",
"id": "emplo000000000027470",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000027470"

},
{
"fname": "1",
"lname": "1",
REST API Reference | People | 107

"id": "emplo000000000007651",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000007651"

},
{
"fname": "1 02f",
"lname": "1 02l",
"id": "emplo000000000260005",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000260005"

},
{
"fname": "123",
"lname": "123",
"id": "emplo000000000001672",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001672"

},
{
"fname": "1@blklist7.com",
"lname": "1@blklist7.com",
"id": "emplo000000000008678",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000008678"

},
{
"fname": "1S1hantaram",
"lname": "Waingankar",
"id": "emplo000000000001540",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001540"

},
{
"fname": "2",
"lname": "2",
"id": "emplo000000000256846",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000256846"

},
{
"fname": "23aug",
"lname": "23aug",
"id": "emplo000000000036602",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000036602"

},
{
"fname": "24aug",
"lname": "24aug",
"id": "emplo000000000036604",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000036604"

},
{
"fname": "2562",
"lname": "Jones",
"id": "emplo000000000006420",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000006420"

}
],
"totalResults": 3120,
REST API Reference | People | 108

"hasMoreResults": true,
"itemsPerPage": 10
}

GET CERTIFICATIONS/ENROLLMENTS/TRANSCRIPTS FOR A


PERSON

Overview
Returns the Certifications/Enrollments/Transcripts details of a particular person based on
the search criteria passed as the parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people/:id/:attributeName/search?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

URL (User-friendly)
You can use a user-friendly URL which accepts username or person_no instead of the internal
Person's ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/:attributeName/search
?type=internal
https://<hostname-api.sabacloud.com>/v1/people/person_no=<personNo>/:attributeName/search
?type=internal
Note: The type query parameter is mandatory to support these lookups (username or
person_no).

Calling Options
Table 12: Calling Options

Name Description Sample Value Data Type Required?

id Person's ID per- string Yes


sn000000000001000

attributeName Indicate the field(s) certifications string Yes


that you intend to ex-
tract: enrollments,
certifications, tran-
scripts
REST API Reference | People | 109

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
false.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values (CERTIFICATIONS)

{
"results": [
{
"name": "cert1",
"id": "crtfy000000000200100",
"href":
"https://<hostname-api.sabacloud.com>/v1/certifications/crtfy000000000200100"
}
],
"startIndex": 1,
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

Return Values (ENROLLMENTS)

{
"results": [
{
"id": "regdw000000000001025",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001025"
},
{
"id": "regdw000000000001000",
"href":
REST API Reference | People | 110

"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001000"
},
{
"id": "regdw000000000001080",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001080"
},
{
"id": "regdw000000000001247",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001247"
},
{
"id": "regdw000000000001050",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001050"
},
{
"id": "regdw000000000001440",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001440"
},
{
"id": "regdw000000000001086",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001086"
},
{
"id": "regdw000000000001128",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000001128"
},
{
"id": "regdw000000000002700",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000002700"
}
],
"startIndex": 1,
"facets": [],
"totalResults": 9,
"hasMoreResults": false,
"itemsPerPage": 10
}

Return Values (TRANSCRIPTS)

{
"results": [
{
"id": "ofapr000000000004261",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004261"

}
],
"startIndex": 1,
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}
REST API Reference | People | 111

Example (ENROLLMENTS)
To find out all the enrollments for a particular person (for example emplo000000000001624):
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001624/enrollments/search
Return Values:

{
"facets": [],
"results": [
{
"id": "regdw000000000002920",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000002920"
},
{
"id": "regdw000000000002815",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000002815"
}
],
"startIndex": 1,
"totalResults": 2,
"hasMoreResults": false,
"itemsPerPage": 10
}

You can also choose to get the details (and not just the ID and the deep link) of each enrollment
by using includeDetails as TRUE.
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001624/enrollments/search&includeDetails=true
Note: The output includes more details for each enrollment.
Return Values:

{
"facets": [],
"results": [
{
"status": "100",
"elements_to_complete": 0,
"class_id": {
"id": "class000000000001102",
"displayName": "INT00014"
},
"offering_action_id": {
"id": "ofapr000000000002940",
"displayName": "00002901"
},
"student_id": {
"id": "emplo000000000001624",
"displayName": "Rod Baker"
},
"from_date": "2014-10-14T19:04:05.884-0400",
"to_date": "2014-10-14T19:04:05.884-0400",
"wlist_on": "2014-10-14T19:04:05.884-0400",
"wlist_priority": 5,
"Max_Count": null,
"Current_Count": null,
"is_no_show": false,
"is_walk_in": false,
"reg_no": "00002861",
REST API Reference | People | 112

"id": "regdw000000000002920"
},
{
"status": "100",
"elements_to_complete": 0,
"class_id": {
"id": "dowbt000000000001062",
"displayName": null
},
"offering_action_id": {
"id": "ofapr000000000002835",
"displayName": "00002815"
},
"student_id": {
"id": "emplo000000000001624",
"displayName": "Rod Baker"
},
"from_date": "2014-10-14T19:04:05.888-0400",
"to_date": "2014-10-14T19:04:05.888-0400",
"wlist_on": "2014-10-14T19:04:05.888-0400",
"wlist_priority": 5,
"Max_Count": null,
"Current_Count": null,
"is_no_show": false,
"is_walk_in": false,
"reg_no": "00002775",
"id": "regdw000000000002815"
}
],
"startIndex": 1,
"totalResults": 2,
"hasMoreResults": false,
"itemsPerPage": 10
}

Example (TRANSCRIPTS)
To find out all the transcripts for a particular person (for example emplo000000000001624):
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001624/transcripts/search
Return Values:

{
"facets": [],
"results": [
{
"id": "ofapr000000000002981",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002981"

}
],
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

You can also choose to get the details (and not just the ID and the deep link) of each transcript
by using includeDetails as TRUE.
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001624/transcripts/search?includeDetails=true
REST API Reference | People | 113

Note: The output includes more details for each transcript.


To find out all the transcripts of a particular person (for example emplo000000000001000)
for a particular course no (for example 00001042):
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001000/transcripts/search?q=(course_no%3D%3D00001042)
Return Values:

{
"results": [
{
"id": "ofapr000000000001355",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001355"

}
],
"totalResults": 1,
"startIndex": 1,
"itemsPerPage": 10,
"hasMoreResults": false,
"facets": []
}

You can also choose to get the details (and not just the ID and the deep link) of each transcript
by using includeDetails as TRUE.
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001000/transcripts/search?q=(course_no%3D%3D00001042)&includeDetails=true
Note: The output includes more details for each transcript.
Return Values:

{
"totalResults": 1,
"startIndex": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"updated_on": "2014-05-15T04:36:32.000-0400",
"created_by": "bwillis@saba.com",
"updated_by": "superuser",
"created_on": "2012-06-27T01:15:05.000-0400",
"time_interval": 0,
"target_date": "2012-06-27T01:15:05.000-0400",
"learner_id": null,
"delivery_type": "eqcat000000000000005",
"offering_temp_id": {
"id": "cours000000000001041",
"displayName": null,
"course_no": "00001042"
},
"added_to_profile_on": "2012-06-27T01:15:05.000-0400",
"offrng_start_date": null,
"completionMode": 2,
"action_no": "00001355",
"completion_date": "2012-06-27T01:15:21.000-0400",
"action_status": "400",
"score": null,
"grade": "",
"delivered_by": "emplo000000000001000",
"end_date": "2012-06-27T01:15:21.000-0400",
"start_date": "2012-06-27T01:15:05.000-0400",
REST API Reference | People | 114

"flags": 0,
"credits": 0,
"start_time": null,
"end_time": null,
"status": 300,
"location": null,
"party_id": {
"id": "emplo000000000001000",
"displayName": " ",
"person_no": "00001000"
},
"id": "ofapr000000000001355"
}
],
"facets": []
}

Example (CERTIFICATIONS)
To find out all the certifications for a particular person (for example emplo000000000001624):
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001624/certifications/search
Return Values:

{
"facets": [],
"results": [
{
"name": "Company Ethics Certification",
"id": "crtfy000000000001020",
"href":
"https://<hostname-api.sabacloud.com>/v1/certifications/crtfy000000000001020"
}
],
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

You can also choose to get the details (and not just the ID and the deep link) of each
certification by using includeDetails as TRUE.
https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001624/certifications/search&includeDetails=true
Note: The output includes more details for each certification.

GET DETAILS OF DESIRED COMPONENT FOR A PERSON

Overview
Gets details of a particular component for a person based on the Person's ID.

Requires OAuth
No
REST API Reference | People | 115

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/:component_name/:component_id:(:searchFields)

Calling Options
Table 13: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

compon- Indicate a single com- flightRisk string Yes


ent_name ponent that you in-
tend to extract:
flightRisk,socialPro-
file,transcripts,extern-
alWorkHistory,in-
terests, competen-
cies,centraProfile,edu-
cation,coreProfile,lan-
guages,teamInfo, im-
Profile,customSec-
tion1,secondaryAd-
dress,customSec-
tion3,careerInterests,
customSection2,ex-
ternalCertifica-
tions,mobility,network-
Info,potentialRating,
gridCustomSec-
tion<No>], talentData

component_id Component's ID string Yes

searchFields Search fields for the string No


component

Return Values (flightRisk)

{
"flight_risk": "Medium",
"id": "ppflr000000002273345",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
REST API Reference | People | 116

Return Values (education)

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9"
},
"degree": "Masters in sciences",
"comments": null,
"id": "ppedu000000000126127",
"completion_date": "2016-07-06T00:00:00.000+0000",
"institution_type": "College",
"institute_lov": "Mumbai IIT",
"major_lov": "Electronics",
"completion_percent": 65
}

Return Values (externalCertifications)

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9"
},
"id": "ppcer000000000006357",
"acquired_on": "2008-07-07T00:00:00.000+0000",
"expires_on": null,
"certification_lov": "OCP",
"certification_text": null,
"accrediting_body_lov": "Seed",
"accrediting_body_text": null
}
REST API Reference | People | 117

Return Values (talentData)

{
"id": "emplo000000000010362",
"talentData": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "test001",
"custom1": "Manager",
"custom2": "test 1",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": null
},
"id": "pptdt000000000018192",
"potentialLevel": "Manager",
"genReadiness": {
"id": "rdins000000000000001",
"displayName": null
},
"criticalPerson": "NotCritical",
"nbox_plotting_field_1": "Undetermined",
"nbox_plotting_field_2": "Undetermined",
"nbox_plotting_field_3": "Undetermined",
"nbox_plotting_field_4": "Undetermined",
"nbox_plotting_field_5": "Undetermined",
"isRoleModel": false,
"isJobCritical": false
}
}

GET METADATA OF SPECIFIC PEOPLE ATTRIBUTES

Overview
Gets the metadata of specific People attributes based on the fields and the user type passed
as parameter values.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people/meta:(:searchFields)?type=:type
REST API Reference | People | 118

Calling Options
Table 14: Calling Options

Name Description Sample Value Data Type Required?

type User type [internal or internal string Yes


external]

searchFields Indicate the field(s) flightRisk,social- string No


that you intend to ex- Profile
tract: flightRisk,social-
Profile,transcripts,ex-
ternalWorkHistory,in-
terests,competencies,
centraProfile,educa-
tion,coreProfile,lan-
guages,teamInfo,im-
Profile,customSec-
tion1, secondaryAd-
dress,customSec-
tion3,careerInt-
erests,customSec-
tion2,externalCertific-
ations, mobility,net-
workInfo,potentialRat-
ing, gridCustomSec-
tion<No>], talentData

Return Values

{
"sampleData": {
"id": null,
"flightRisk": {
"flight_risk": null,
"id": null,
"securityDomain": null
},
"href":
"https://dq2athdb1-api.sabacloud.com/v1/people/emplo000000000000001?type=internal"

},
"name": "Person, Internal",
"displayName": "Person, Internal",
"attributes": [
{
"name": "flightRisk",
"displayName": "Flight Risk",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": false,
"display": true,
"component": {
"name": "FlightRisk",
REST API Reference | People | 119

"displayName": "Flight Risk",


"attributes": []
}
},
{
"name": "socialProfile",
"displayName": "Social Profile",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "SocialProfile",
"displayName": "Social Profile",
"attributes": []
}
}
]
}

GET REQUIRED PROFILE DETAILS OF A PARTICULAR PERSON

Overview
Returns the required profile details of a particular person based on the Person's ID passed
as a parameter value.
Note: The following attributes are deprecated. These attributes will be included in the JSON
object that is returned by the API, but they won't have any values:
• Key Accomplishment
• Additional responsibility

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people/:id:(:searchFields)

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the Person's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>?type={internal/external}
Note: The type parameter is mandatory.
REST API Reference | People | 120

Calling Options
Table 15: Calling Options

Name Description Sample Value Data Type Required?

id Person's ID per- string Yes


sn000000000001000

searchFields Indicate the field(s) flightRisk string No


that you intend to ex-
tract: flightRisk,social-
Profile,transcripts,ex-
ternalWorkHistory,in-
terests,competencies,
centraProfile,educa-
tion,coreProfile,lan-
guages,teamInfo,im-
Profile,customSec-
tion1, secondaryAd-
dress,customSec-
tion3,careerInt-
erests,customSec-
tion2,externalCertific-
ations, mobility,net-
workInfo,potentialRat-
ing, requiredJobRoles,
optionalJobRoles, se-
curityRoles, currencyL-
ist, gridCustomSec-
tion<No>, talentData
Note:
The values for secur-
ity role and job roles
in the OUTPUT JSON
will be NULL, if these
attributes are not ex-
plicitly specified in the
searchFields.

Return Values

{
"securityRoles": [
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all Common Privileges in world domain",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Common Privileges in world domain",
"id": "cpriv000000000000117"
REST API Reference | People | 121

},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all internal people defined in the system)",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Internal Person Basic Privileges",
"id": "cpriv000000000000107"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants view internal person privilege",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Internal Person Login Privileges",
"id": "cpriv000000000000113"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Execute Privilege to All Reports in world domain",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Report Privileges in world domain",
"id": "cpriv000000000001061"
},
],
"updated_on": "2014-09-29T05:39:16.000-0400",
"created_on": "2013-10-30T05:44:23.000-0400",
"home_domain": {
"id": "domin000000000003987",
"displayName": "Internal"
},
"is_manager": false,
"securityDomain": {
"id": "domin000000000003987",
"displayName": "Internal"
},
"terminated_on": null,
"city": "",
"zip": "",
"home_company_id": {
"id": "bisut000000000000001",
"displayName": "Root"
},
"company_id": {
"id": "bisut000000000000001",
"displayName": "Root"
},
"jobtype_id": null,
"ss_no": "",
"job_title": null,
"gender": 0,
REST API Reference | People | 122

"password_changed": false,
"title": "",
"email": "",
"person_type": "",
"fax": "",
"fname": "newuser",
"lname": "001",
"date_of_birth": null,
"religion": null,
"ethnicity": null,
"addr1": "",
"addr2": "",
"addr3": "",
"person_no": "00001855",
"started_on": "2013-10-30T00:00:00.000-0400",
"job_title_type": null,
"workphone": "",
"homephone": "",
"special_user": false,
"secret_answer": null,
"correspondence_preference3": "0",
"requiredJobRoles": null,
"optionalJobRoles": null,
"positions": null,
"secret_question": null,
"correspondence_preference1": "1",
"correspondence_preference2": "0",
"audiencetypes": null,
"desired_job_type_id": null,
"timezone_id": {
"id": "tzone000000000000013",
"displayName": "(GMT-05:00) Indiana (East)"
},
"locale_id": {
"id": "local000000000000001",
"displayName": "English"
},
"password": "XXXXXXX",
"manager_id": null,
"username": "NEWUSER001",
"status": "Active",
"suffix": null,
"location_id": null,
"state": "",
"country": "",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"id": "emplo000000000002281"
}
REST API Reference | People | 123

GET JOB / SECURITY ROLES OF A PARTICULAR PERSON

Overview
Returns the job / security roles of a particular person based on the Person's ID passed as a
parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people/:id:(securityRoles,requiredJobRoles,optionalJobRoles)

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/:(securityRoles,requiredJobRoles,optionalJobRoles)

Calling Options
Table 16: Calling Options

Name Description Sample Value Data Type Required?

id Person's ID per- string Yes


sn000000000001000

Return Values

{
"securityRoles": [
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Privileges assigned to Support Admin",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Support Admin",
"id": "cpriv000000000001087"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all external people defined in the system)",
"securityDomain": {
REST API Reference | People | 124

"id": "domin000000000000001",
"displayName": "world"
},
"name": "External Person Basic Privileges",
"id": "cpriv000000000000108"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Execute Privilege to All Reports in world domain",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Report Privileges in world domain",
"id": "cpriv000000000001061"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Privileges assigned to External Manager",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "External Manager Basic Privileges",
"id": "cpriv000000000000115"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to the Roster and Reports functionality in Learning
Admin of the Cornerstone SBX",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Learning Admin - Instructor",
"id": "cpriv000000000000103"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Objectives Administrator",
"id": "cpriv000000000000111"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality in Performance Admin",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Performance Admin",
"id": "cpriv000000000000105"
REST API Reference | People | 125

},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality in Human Capital Admin of the
Cornerstone SBX",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Human Capital Admin",
"id": "cpriv000000000000106"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality required by a Recruiting Admin",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Recruiting Admin",
"id": "cpriv000000000008001"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Approver Role",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Approvers",
"id": "cpriv000000000003030"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Privileges assigned to Hiring Manager",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Hiring Manager",
"id": "cpriv000000000001085"
},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Manage folders and questions in the question pool for assessments",

"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "Assessment Admin",
"id": "cpriv000000000005007"
}
],
"requiredJobRoles": [
{
"description": "",
REST API Reference | People | 126

"name": "Beta Tester",


"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001000"
},
{
"description": "Manager across Domain",
"name": "Sr. Manager",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001020"
},
{
"description": "Role1",
"name": "Role1",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001040"
}
],
"optionalJobRoles": [],
"timezone_id": {
"id": "tzone000000000000042",
"displayName": "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"created_on": "2014-11-17T02:16:08.000-0500",
"updated_on": "2016-04-26T03:18:31.000-0400",
"home_domain": {
"id": "domin000000000000001",
"displayName": "world"
},
"is_manager": false,
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"terminated_on": null,
"zip": "",
"city": "",
"home_company_id": {
"id": "bisut000000000002340",
"displayName": "Root"
},
"company_id": {
"id": "bisut000000000003000",
"displayName": "SPC-32397"
},
"jobtype_id": null,
"ss_no": "",
"job_title": null,
"gender": 0,
"password_changed": false,
"title": "",
"email": "",
"person_type": "",
"fax": "",
REST API Reference | People | 127

"fname": "uone17",
"lname": "uone17",
"date_of_birth": null,
"religion": null,
"ethnicity": null,
"addr1": "",
"addr2": "",
"addr3": "",
"person_no": "00006837",
"started_on": "2014-11-17T00:00:00.000-0500",
"job_title_type": null,
"workphone": "",
"homephone": "",
"special_user": false,
"secret_answer": null,
"desired_job_type_id": null,
"secret_question": null,
"correspondence_preference1": "1",
"correspondence_preference2": "0",
"correspondence_preference3": "0",
"requiredJobRoles": null,
"optionalJobRoles": null,
"positions": null,
"audiencetypes": null,
"password": "XXXXXXX",
"locale_id": {
"id": "local000000000000001",
"displayName": "English"
},
"manager_id": {
"id": "emplo000000000307851",
"displayName": "uone55 uone55"
},
"username": "UONE17",
"status": "Active",
"suffix": null,
"location_id": null,
"state": "",
"country": "",
"customValues": {
"ExCustom6": null,
"ExCustom4": null,
"ExCustom5": null,
"custom0": null,
"custom1": null,
"ExCustom2": null,
"ExCustom14": null,
"ExCustom3": null,
"ExCustom13": "<p><strong>aaa</strong></p>",
"ExCustom12": null,
"ExCustom11": null
},
"id": "emplo000000000285703"
}
REST API Reference | People | 128

GET AUDIENCE TYPE / AUDIENCE SUB TYPES ASSIGNED TO A


PERSON (DEPRECATED)

Overview
Gets the Audience Type / Audience Sub Types assigned to a Person

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/audiencetypes/search

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/audiencetypes/search

Calling Options
Table 17: Calling Options

Name Description Sample Value Data Type Required?

personid Person / Employee ID per- string Yes


sn000000000001000

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"name": "internal",
"id": "audie000000000000001",
"href":
"https://<hostname-api.sabacloud.com>/v1/audiencetypes/audie000000000000001"
}
],
"itemsPerPage": 10,
"totalResults": 1,
REST API Reference | People | 129

"hasMoreResults": false
}

GET AUDIENCE TYPE / AUDIENCE SUB TYPES ASSIGNED TO A


PERSON

Overview
Gets the Audience Type / Audience Sub Types assigned to a Person.
Note: To retrieve your own Audience Type / Audience Sub Types you need to be the logged
in user or the people admin.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/audiencetype
Note: The following is a deprecated URL for this REST Web service and will be discontinued
in the next few updates:
https://<hostname-api.sabacloud.com>/v1/people/:personId/audiencetypes/search

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username=<userName>/audiencetype

Calling Options
Table 18: Calling Options

Name Description Sample Value Data Type Required?

personid Person / Employee ID per- string Yes


/ username sn000000000001000

Return Values

{
"totalResults": 2,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
REST API Reference | People | 130

"displayName": "aud_1",
"id": "audie000000000001021",
"href": "http://localhost/v1/audiencetype/audie000000000001021"
},
{
"displayName": "aud_2",
"id": "audie000000000001022",
"href": "http://localhost/v1/audiencetype/audie000000000001022"
},
],
"facets": null
}

GET PROFILE PIC URL

Overview
Returns the Profile Pic URL of a Person.
Note: A user with no admin priveleges cannot fetch the profile URL with this REST API call.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/profilePicURL

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<Username>/profilePicURL?type={internal/external}

Calling Options
Table 19: Calling Options

Name Description Sample Value Data Type Required?

id Person's ID per- string Yes


sn000000000001000

Return Values

https://{machineName}/production/athena1/employeePicture/notdc000000000056594_employeePicture.JPEG
REST API Reference | People | 131

GET PROFILE PIC

Overview
Returns the Profile Pic of a Person.
Note: Only a user with the People Admin role can access the profile pic. A user with no admin
privileges cannot fetch the profile image or the profile URL with this REST API call.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/profilePic

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<Username>/profilePic?type={internal/external}

Calling Options
Table 20: Calling Options

Name Description Sample Value Data Type Required?

id Person's ID per- string Yes


sn000000000001000

Return Values

<Profile Picture of the Person>

GET PERSON'S RESOURCE DETAILS

Overview
Returns the resource information of a particular person.

Requires OAuth
No

Method
GET
REST API Reference | People | 132

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/resource

Calling Options
Table 21: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID string Yes

Return Values

{
"@type": "com.saba.rest.businesscomponent.dto.PersonResourceDTO",
"resource":true,
"rate": [
"java.util.List",
[
{
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "com.saba.learning.services.common.ServiceObjectReference",
"displayName": "US Dollars",
"id": "crncy000000000000001"
},
"isocode": "USD",
"amountString": "50.00 US Dollars",
"amount": [
"java.math.BigDecimal",
15
]
}
]
],
"language": [
"java.util.List",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "Hindi",
"id": "lange000000000000028"
}
]
],
"qualifiedLearning": [
"java.util.List",
[
{
"@type": "com.saba.rest.businesscomponent.dto.PersonQualifiedLearningDTO",
"course": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "TestCourse1",
"id": "cours000000000200400"
},
"deliveryType": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "Instructor-Led",
"id": "eqcat000000000000004"
REST API Reference | People | 133

},
"qualificationLevel": "1"
}
]
]
}

GET PERSON'S FOLLOWERS

Overview
Returns the list of persons who follow the particular person.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/followers

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<UserName>/followers?type={internal/external}

Calling Options
Table 22: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID em- string Yes


plo000000000001026

Return Values

[
{
"id": "emplo000000000001000",
"displayName": "User One",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001000"
}
]
REST API Reference | People | 134

GET PERSON'S FOLLOWINGS

Overview
Returns the list of persons who are followed by the particular person.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/follows

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<UserName>/follows?type={internal/external}

Calling Options
Table 23: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID em- string Yes


plo000000000001026

Return Values

[
{
"id": "persn000000000001024",
"displayName": "Client5 One5",
"href": "https://<hostname-api.sabacloud.com>/v1/people/persn000000000001024"
},
{
"id": "persn000000000001000",
"displayName": "Client One",
"href": "https://<hostname-api.sabacloud.com>/v1/people/persn000000000001000"
},
{
"id": "emplo000000000001002",
"displayName": "User Three",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001002"
}
]
REST API Reference | People | 135

POST Methods
REST endpoints for the People data.

SEARCH PROFILE INFORMATION

Overview
Returns the profile information based on certain search conditions (using simple attributes)

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=:type
&f=(:searchFields)&count=:count&startPage=:startPage

Calling Options
Table 24: Calling Options

Name Description Sample Value Data Type Required?

type User type [internal or internal string Yes


external]
REST API Reference | People | 136

Name Description Sample Value Data Type Required?

searchFields Indicate the field(s) status,gender string No


that you intend to ex-
tract: [(state, country,
username, status,
suffix, title, city, zip,
fname, lname, email,
gender, homephone,
workphone, fax, ethni-
city, religion, is_man-
ager, ss_no, job_title,
terminated_on, per-
son_type, mname,
started_on,
job_title_type,
date_of_birth, per-
son_no, special_user,
addr1, addr2, addr3,
custom1, custom2,
custom3, custom4,
custom5, custom6,
custom7, custom8,
custom9, custom0, id]
REST API Reference | People | 137

Name Description Sample Value Data Type Required?

conditions string Yes


[{"name" :
"status",
"operator" : "==",
"value" : "Full
Time"},
{"name" :
"gender",
"operator" : "==",
"value" : 1},
{"name":"in►
clude_termin►
ated",
"operator":"==",
"value":"true"}]
REST API Reference | People | 138

Name Description Sample Value Data Type Required?

Conditions
The following search
criteria (along with
sample values) are
supported:
• manager_id (em-
plo000000000001000)
• manager_user-
name (csindhav2)
• timezone_id
(tzone000000000000005)
• jobtype_id (job-
tp000000000001000)
• jobtype_name (En-
gineer 2)
• location_id
(locat000000000001000)
• location_name
(Pune)
• location_number
(123)
• home_domain_id
(dom-
in000000000001000)
• home_do-
main_name (World)
• security_domain_id
(dom-
in000000000001000)
• security_do-
main_name (World)
• created_by (uone)
• updated_by (uone)
• apply_criteria_roles
(true)
Note: If this condition
is passed as true, then
the results will be re-
turned by applying
the filters from criter-
ia based roles.
Note: To specifically
search for terminated
users you need to use
terminated_on.
Note: include_termin-
ated: With this condi-
tion set to either true,
1, Y or Yes, the API will
REST API Reference | People | 139

Name Description Sample Value Data Type Required?

get the resulting


people, regardless of
whether they are act-
ive or terminated.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000030904",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030904"

},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000270027",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000270027"

},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000041192",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000041192"
},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000030721",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030721"

},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000269243",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000269243"

},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000030823",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030823"
REST API Reference | People | 140

},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000269143",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000269143"

},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000030711",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030711"
},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000269151",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000269151"
},
{
"gender": 1,
"status": "Full Time",
"id": "emplo000000000030783",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000030783"

}
],
"itemsPerPage": 10,
"totalResults": 276,
"hasMoreResults": true
}

Example
To retrieve people based on whether they are Instructors:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal&f=(username,city,state)
Request Body:

{
"conditions" :
[
{
"name":"is_ resource",
"operator":"==",
"value":"true"
}
]
}

Return Values:

{
"facets": [],
"startIndex": 1,
"hasMoreResults": true,
"totalResults": 15,
"itemsPerPage": 1,
"results": [
REST API Reference | People | 141

{
" is_resource": true,
"id": "emplo000000000200091",
"href": "https://<hostname>-api.sabacloud.com/v1/people/emplo000000000200091"

}
]
}

To retrive username, city and state of internal people that match the search criteria specified
in the Request Body:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal&f=(username,city,state)
Request Body:

{
"conditions" : [
{
"name" : "fname",
"operator" : "==",
"value" : "Jenna"
}
]
}

Return Values:

{
"facets": [],
"results": [
{
"state": "TX",
"username": "JBLAKENEY",
"city": "Dallas",
"id": "emplo000000000001353",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000001353"

}
],
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

To retrive details of internal people that have changed between two timestamps:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal
Request Body:

{
"conditions": [
{
"name": "created_on",
"operator": "=gt=",
"value": "2010-01-29 01:29:32 AM"
},
{
"name": "created_on",
"operator": "=lt=",
REST API Reference | People | 142

"value": "2012-01-29 01:29:32 AM"


}

]
}

Return Values:

{
"results": [
{
"fname": "int_user",
"lname": "no_view",
"id": "emplo000000000201307",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201307"
},
{
"fname": "user1",
"lname": "org_rupees",
"id": "emplo000000000201308",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201308"
},
{
"fname": "usr1",
"lname": "org_currency1",
"id": "emplo000000000201310",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201310"
},
{
"fname": "usr1",
"lname": "org_usd",
"id": "emplo000000000201309",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201309"
}
],
"facets": [],
"startIndex": 1,
"totalResults": 4,
"hasMoreResults": false,
"itemsPerPage": 10
}

To retrieve details of internal full time people based on company_id:


https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal
Request Body:

{
"conditions": [
{
"name":"status",
"operator":"==",
"value":"Full Time"
},
{
"name":"company_id",
"operator":"==",
"value":"cmpny000000000001885"
}
]
}
REST API Reference | People | 143

To retrive the username, fname and lname of internal people where the username begins
with UONE:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal&f=(username,fname,lname)
Request Body:

{
"conditions" : [
{
"name" : "username",
"operator" : "LI",
"value" : "UONE"
}
]}

To retrive the username, fname and lname of internal people where the username has the
word ONE in it:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal&f=(username,fname,lname)
Request Body:

{
"conditions" : [
{
"name" : "username",
"operator" : "LI",
"value" : "%ONE"
}
]}

Note: This will add % in the end as well ('%ONE%').


To search internal person (active as well as terminated) with company_id:
cmpny000000000001885:
https://<hostname-api.sabacloud.com>/v1/people/searchQuery?type=internal
Request Body:

[
{
"name":"company_id",
"operator":"==",
"value":"cmpny000000000001885"
},
{
"name":"include_terminated",
"operator":"==",
"value":"true"
}
]

ADD EDUCATION DETAILS FOR A PERSON

Overview
Adds education details for a person based on the Person's ID.
REST API Reference | People | 144

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/education

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/education

Calling Options
Table 25: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

completion_per- Completion percent 100 string Yes


cent

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

major_lov Major LOV Economics string No

institution_type Institution type University string Yes

completion_date Completion date 1989-01-27 string No

institute_lov Institute LOV University of string Yes


Illinois

degree Degree Doctorate string Yes

comments Comments Prode Moment string No


REST API Reference | People | 145

Name Description Sample Value Data Type Required?

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

profiled Profiled string No

customValues Custom Values string No


{
"custom0":
"c0",
"custom1": "c1",

"custom2":
"c2",
"custom3":
"c3",
"custom4":
"c4",
"custom5":
"c5",
"custom6":
"c6",
"custom7":
"c7",
"custom8":
"c8",
"custom9":
"c9"
}

auditReason Audit Reason audit with reason string No

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9"
},
"degree": "Masters in sciences",
"comments": null,
REST API Reference | People | 146

"completion_date": "2016-07-06T00:00:00.000+0000",
"institution_type": "College",
"institute_lov": "Mumbai IIT",
"major_lov": "Electronics",
"completion_percent": 65
}

ADD CUSTOM SECTION DETAILS FOR A PERSON

Overview
Adds custom section details for a person based on the Person's ID.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/:CustomSectionNo

Calling Options
Table 26: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID em- string Yes


plo000000000203306
REST API Reference | People | 147

Name Description Sample Value Data Type Required?

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No


{
"custom0":
"c0",
"custom1": "c1",

"custom2":
"c2",
"custom3":
"c3",
"custom4":
"c4",
"custom5":
"c5",
"custom6":
"c6",
"custom7":
"c7",
"custom8":
"c8",
"custom9":
"c9"
}

customSec- Custom Section num- customSection2 string Yes


tionNo ber

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "updated2",
"custom1": "updated",
"custom2": "updated",
"custom3": "updated",
"custom4": "updated",
"custom5": "updated",
"custom6": "updated",
"custom7": "updated",
"custom8": "updated",
"custom9": "updated"
}
}
REST API Reference | People | 148

Return Values

{
"id": "ppcss000000000023724",
"displayName": null,
"href": "http://localhost/Saba/api/component/people/emplo000000000203306/
customSection2/ppcss000000000023724"
}

ADD FLIGHTRISK DETAILS FOR A PERSON

Overview
Adds FlightRisk details for a person based on the Person's ID.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/flightRisk

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/flightRisk

Calling Options
Table 27: Calling Options

Name Description Sample Value Data Type Required?

person_id Person ID per- string Yes


sn000000000001000

flight_risk Flight risk Undetermined string Yes

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

profiled Profiled string No


REST API Reference | People | 149

Name Description Sample Value Data Type Required?

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No

auditReason Audit Reason audit with reason string No

Request Body

{
"flight_risk": "Medium",
"id": "ppflr000000002273345",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

ADD LANGUAGE DETAILS FOR A PERSON

Overview
Adds a person's language details

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/languages

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/languages
REST API Reference | People | 150

Calling Options
Table 28: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

reading_level Reading level High string Yes

profiled Profiled string No

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No

auditReason Audit Reason audit with reason string No

writing_level Writing level High string Yes

speaking_level Speaking level High string Yes

language Language Polish object Yes


lange000000000000017

notes Notes note1 string No

Request Body

{
"notes": "note1",
"reading_level": "High",
"speaking_level": "High",
"writing_level": "High",
"language": {
"id": "lange000000000000017",
"displayName": "Polish"
},
"id": "pplan000000002273374",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
REST API Reference | People | 151

ADD POTENTIAL POSITIONS DETAILS OF A PERSON

Overview
Adds a person's potential positions details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/potentialPositions

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/potentialPositions

Calling Options
Table 29: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID em- string Yes


plo000000000001002

notes Notes test string string No

readiness Readiness Not Evaluated string Yes

job_type_id Job type's ID QA Manager job- object Yes


tp000000000200041

securityDomain Security domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

Request Body

{
"job_type_id": {
"id": "jobtp000000000001301",
"displayName": "job1"
},
REST API Reference | People | 152

"readiness": "Ready",
"notes": null,
"id": "pppos000000002300963",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}

ADD RETIREMENT RISK DETAILS OF A PERSON

Overview
Adds a person's retirement risk details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/retirementRisk

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/retirementRisk

Calling Options
Table 30: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

retirementRisk Retirement Risk Undetermined string Yes

Request Body

"retirementRisk": {
"retirement_risk": "Low",
"id": "pprtr000000000011952",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
REST API Reference | People | 153

"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

ADD CAREER INTERESTS DETAILS OF A PERSON

Overview
Adds a person's career interests details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/careerInterests

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/careerInterests

Calling Options
Table 31: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

profiled Profiled string No


REST API Reference | People | 154

Name Description Sample Value Data Type Required?

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

description Description desc string No

customValues Custom Values string No

displayName Display name string No

auditReason Audit Reason audit with reason string No

job_type_id Job type ID object Yes


{"id": "job►
tp000000000001622",
"displayName":
"Android De►
veloper"}

Request Body

{
"job_type_id": {
"id": "jobtp000000000001622",
"displayName": "Android Developer"
},
"description": "Android app dev",
"id": "ppcit000000002308486",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

ADD EXTERNAL CERTIFICATIONS DETAILS OF A PERSON

Overview
Adds a person's external certifications.

Requires OAuth
No

Method
POST
REST API Reference | People | 155

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/externalCertifications

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/externalCertifications

Calling Options
Table 32: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID em- string Yes


plo000000000001002

acquired_on Acquired on 2008-07- string


07T00:00:00.000+0530

expires_on Expires on string No

certification_lov Certification LOV OCP string Yes

certification_text Certification text string No

accredit- Accrediting body LOV Seed string Yes


ing_body_lov

accredit- Accrediting body text string No


ing_body_text
REST API Reference | People | 156

Name Description Sample Value Data Type Required?

domain Domain object No


{"id": "dom►
in000000000000001",
"name":
"world"}

customValues Custom Values string No


{
"custom0":
"c0",
"custom1": "c1",

"custom2":
"c2",
"custom3":
"c3",
"custom4":
"c4",
"custom5":
"c5",
"custom6":
"c6",
"custom7":
"c7",
"custom8":
"c8",
"custom9":
"c9"
}

displayName Display Name Test user string No

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9"
},
"id": "ppcer000000000006357",
"acquired_on": "2008-07-07T00:00:00.000+0000",
"expires_on": null,
"certification_lov": "OCP",
REST API Reference | People | 157

"certification_text": null,
"accrediting_body_lov": "Seed",
"accrediting_body_text": null
}

ADD IM PROFILE DETAILS OF A PERSON

Overview
Adds a person's IM Profile details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/imProfile

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/imProfile

Calling Options
Table 33: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

isPreferred is Preferred false string No

person_id Person's ID per- string Yes


sn000000000001000

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

im_alias IM alias aliass string Yes

im_type IM type 2 string Yes

displayName Display name string No


REST API Reference | People | 158

Name Description Sample Value Data Type Required?

auditReason Audit Reason audit with reason string No

Request Body

{
"id": "emplo000000000002503",
"imProfile": [
{
"person_id": {
"id": "emplo000000000002503",
"displayName": null
},
"id": "prsim000000000001595",
"im_alias": "eee",
"im_type": "1",
"isPreferred": false
}
]
}

ADD INTERNAL WORK HISTORY DETAILS OF A PERSON

Overview
Adds a person's internal work history details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/internalWorkHistory

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/internalWorkHistory

Calling Options
Table 34: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID em- string Yes


plo000000000001002
REST API Reference | People | 159

Name Description Sample Value Data Type Required?

location_id Location's ID Location1 string


locat000000000001000

manager_id Manager's ID string No

organization_id Organization's ID object No


{"id":
"cmpny000000000001650",
"displayName":
"Saba1"}

start_date Start date 2000-04- string No


10T18:00:37.000+0530

job_title Job title string No

job_type_id Job type ID object No


{"id": "job►
tp000000000001622",
"displayName":
"Android De►
veloper"}

key_accomplish- Key accomplishments string No


ments
Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

end_date End date string No

additional_re- Additional responsibil- string No


sponsibilities ities
Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

domain Domain object No


{"id": "dom►
in000000000000001",
"name":
"world"}

displayName Display name Test user string No


REST API Reference | People | 160

Request Body

{
"additional_responsibilities": "",
"key_accomplishments": "",
"job_type_id": {
"id": "jobtp000000000001000",
"displayName": "Beta Tester"
},
"end_date": null,
"start_date": "2011-12-12T03:03:50.000-0500",
"job_title": null,
"location_id": {
"id": "locat000000000001000",
"displayName": "USA (North America)"
},
"manager_id": null,
"organization_id": {
"id": "cmpny000000000001000",
"displayName": "Saba"
},
"id": "ppiwh000000000001559",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

ADD EXTERNAL WORK HISTORY DETAILS OF A PERSON

Overview
Adds a person's external work history details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/externalWorkHistory

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/externalWorkHistory
REST API Reference | People | 161

Calling Options
Table 35: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000002266

location Location Name Pune string Yes

start_date Start date 2000-04-10 string Yes

end_date End date 2011-04-10 string Yes

job_title Job title PreviousOrg string Yes

company_lov External company Testing Employer string Yes


name 4

securityDomain Security Domain string Yes

accomplish- Accomplishments string No


ments
Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

responsibilities Responsibilities string No


Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

Request Body

[
{
"end_date": "2004-04-10",
"start_date": "2000-04-10",
"job_title": "testEmpHostory",
"company_lov": "Test Company 0001",
"responsibilities": "",
"accomplishments": "",
"location": "Mumbai",
"id": "ppewh000000000329231",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
REST API Reference | People | 162

{
"end_date": "2009-04-10",
"start_date": "2005-04-10",
"job_title": "PreviousOrg",
"company_lov": "Testing Employer 4",
"responsibilities": "",
"accomplishments": "",
"location": "Pune",
"id": "ppewh000000000329296",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]

ADD MOBILITY DETAILS OF A PERSON

Overview
Adds a person's mobility details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/mobility

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/mobility

Calling Options
Table 36: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

comments Comments commentss string No

assignment_type Assignment type Short term string Yes

avail_from Available from 2013-08- string Yes


07T01:34:22.151-
0400
REST API Reference | People | 163

Name Description Sample Value Data Type Required?

location_id Location's ID locat000000000200040 string Yes

securityDomain Security Domain string Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

Request Body

{
"mobility": [
{
"comments": null,
"assignment_type": "Short term",
"avail_from": "2014-08-19T00:00:00.000-0400",
"location_id": {
"id": "locat000000000001189",
"displayName": "23423434"
},
"id": "ppmob000000003063398",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}

ADD POTENTIAL RATING DETAILS OF A PERSON

Overview
Adds the potential rating details for a person.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/potentialRating

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
REST API Reference | People | 164

https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/mobility

Calling Options
Table 37: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

potential Potential Undetermined string Yes

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No

Request Body

{
"potential": "Medium",
"id": "ppprt000000003012844",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

ADD SECURITY ROLES OF A PERSON

Overview
Adds the security roles for a person.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:empid/securityRole
REST API Reference | People | 165

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/securityRole

Calling Options
Table 38: Calling Options

Name Description Sample Value Data Type Required?

empid Employee's ID em- string Yes


plo000000000207770

Request Body (adding domain based security roles)

{
"securityRoles": [
{
"name": "External Person Basic Privileges",
"id": "cpriv000000000000108",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"description": "Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all external people defined in the system)",
"isCriteriaBased": false,
"is_compound": false
},
{
"name": "Common Privileges in world domain",
"id": "cpriv000000000000117",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"description": "Grants access to all Common Privileges in world domain ",
"isCriteriaBased": false,
"is_compound": false
}
]
}

Request Body (adding criteria based roles to a user)

{
"securityRoles": [ {
"isCriteriaBased": true,
"is_compound": false,
"description": "Privileges assigned to HR Business Partner - Compensation",
"securityDomain": null,
"name": "HR Partner | Compensation",
"id": "cpriv000000000001089",
"smartList": {
"displayName": "SLOrg",
"id": "stlst000000000003842"
REST API Reference | People | 166

}
}]
}

ADD REQUIRED JOB ROLES OF A PERSON

Overview
Adds the required job roles for a person.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personid/requiredjobrole

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/requiredjobrole

Calling Options
Table 39: Calling Options

Name Description Sample Value Data Type Required?

personid Person's ID per- string Yes


sn000000000200151

Request Body

{
"requiredJobRoles": [
{
"name": "Engineer Role 2",
"id": "roles000000000001062"
}
]
}
REST API Reference | People | 167

ADD OPTIONAL JOB ROLES OF A PERSON

Overview
Adds the optional job roles for a person.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personid/optionaljobrole

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/optionaljobrole

Calling Options
Table 40: Calling Options

Name Description Sample Value Data Type Required?

personid Person's ID per- string Yes


sn000000000200151

Request Body

{
"optionalJobRoles": [
{
"name": "Engineer Role 2",
"id": "roles000000000001062"
}
]
}

ADD GRID CUSTOM SECTION'S DETAILS FOR A PERSON

Overview
Adds Grid Custom Section's details for a person.

Requires OAuth
No
REST API Reference | People | 168

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/people/:person_id/:gridCustomSectionNo

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/:gridCustomSectionNo?type=:type
You can use a user-friendly URL which accepts person_no instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/person_no=<personNo>/:gridCustomSectionNo?type=:type

Calling Options
Table 41: Calling Options

Name Description Default Value Data Type Required?

person_id Person ID per- string Yes


sn000000000001000

securityDomain Security Domain {"id": "dom- string No


n
i 000000000000001",name":
"world"}

customValues Custom Values string No

gridCustomSec- Grid Custom Section gridCustomSec- string Yes


tionNo No tion1

name Unique ID or Name string Yes

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "updated",
"custom1": "updated",
"custom2": "updated",
"custom3": "updated",
"custom4": "updated",
"custom5": "updated",
"custom6": "updated",
"custom7": "updated",
"custom8": "updated",
"custom9": "updated"
},
REST API Reference | People | 169

"name": "gridCustomSectionRow2"
}

Return Values

{
"id": "pgcsd000000000001142",
"displayName": null,
"href": ""http://hostname.sabacloud.com/v1/
people/emplo000000000001000/gridCustomSection4/pgcsd000000000001142"
}

ASSIGN AUDIENCE TYPE / SUB AUDIENCE TYPE TO A PERSON

Overview
Assigns Audience Type / Sub Audience Type to a Person

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/audiencetype

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/audiencetype

Calling Options
Table 42: Calling Options

Name Description Sample Value Data Type Required?

personid Person / Employee ID per- string Yes


to whom Audience sn000000000200151
Types are to be As-
signed
REST API Reference | People | 170

Name Description Sample Value Data Type Required?

audiencetypes Audience Types / [{"displayName": object Yes


Audience Sub Types "Audience Type 1",
to be assigned "id":
"aude
i 000000000001165"},{"ds
i-
playName": "Audi-
ence Sub Type 1",
"id":
"seatc000000000001165"}]

Request Body

{
"audiencetypes":[
{
"id": "audie000000000001165",
"displayName": "Audience Type 1"
},
{
"id": "seatc000000000001165",
"displayName": "Sub Audience Type 1"
}
]
}

Return Values

{
"id": "emplo000000000001026",
"displayName": null,
"href":
"http://<hostname-api.sabacloud.com>/v1/people/emplo000000000001026:(audiencetype)"
}

ASSIGN PERSON AS A RESOURCE

Overview
Assigns person as a resource. It accepts rate, language and qualified learning details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/resource
REST API Reference | People | 171

Calling Options
Table 43: Calling Options

Name Description Sample Value Data Type Required?

personId Person / Employee ID string Yes


to whom resource are
to be Assigned

resource Mark person as a re- string Yes


source (true / false)

rate Rate information object No

language Spoken Language in- object No


formation

qualifiedLearning Person's qualified object No


learning information

@type Input JSON class com.saba.rest.busi- string Yes


name nesscompon-
ent.dto.PersonRe-
sourceDTO

Request Body

{
"@type": "com.saba.rest.businesscomponent.dto.PersonResourceDTO",
"resource":true,
"rate": [
"java.util.List",
[
{
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "com.saba.learning.services.common.ServiceObjectReference",
"displayName": "US Dollars",
"id": "crncy000000000000001"
},
"isocode": "USD",
"amountString": "50.00 US Dollars",
"amount": [
"java.math.BigDecimal",
15
]
}
]
],
"language": [
"java.util.List",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "Hindi",
"id": "lange000000000000028"
}
REST API Reference | People | 172

]
],
"qualifiedLearning": [
"java.util.List",
[
{
"@type": "com.saba.rest.businesscomponent.dto.PersonQualifiedLearningDTO",
"course": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "TestCourse1",
"id": "cours000000000200400"
},
"deliveryType": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "Instructor-Led",
"id": "eqcat000000000000004"
},
"qualificationLevel": "1"
}
]
]
}

Return Values

{
href:
"http://<hostname-api.sabacloud.com>/v1/common/profile/emplo000000000001000/resource"
}

ADD SECONDARY ADDRESS FOR A PERSON

Overview
Adds a person's Secondary Address.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/secondaryAddress

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/secondaryAddress
REST API Reference | People | 173

Calling Options
Table 44: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000
- External Person
OR
em-
plo000000000206859
- Internal Person

secondaryAd- Secondary address of [{ "state": "maha- object Yes


dress the person rashtra", "coun-
try": "india","ad-
dr1": "Address1",
"addr2":
"BillingAdd2",
"city": "mumbai",
"zip": "41101", "ad-
dr3":
"BillingAdd3"}]

Request Body

{
"state": "maharashtra",
"country": "india",
"addr1": "Address1",
"addr2": "BillingAdd2",
"city": "mumbai",
"zip": "41101",
"addr3": "BillingAdd3"
}

Return Values

{
"id": "baddr000000000206019",
"displayName": null,
"href":
"http://<hostname-api.sabacloud.com>/v1/people/persn000000000201187/secondaryAddress/baddr000000000206019"
}

ADD CURRENCY TO PERSON

Overview
Adds a person's currency.
REST API Reference | People | 174

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/currencyList

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/currencyList

Calling Options
Table 45: Calling Options

Name Description Sample Value Data Type Required?

currencyList currencyList to be as- [{ string object


sociated "id":crncy000000000000001",
"isoCode":"cy2",
"isActive":false }]

personId ID of the Person string Yes

Request Body

{
"currencyList" : [{
"id" : "crncy000000000000001",
"isoCode" : "Rs",
"isActive" : true

}, {
"id" : "crncy000000000000002",
"isoCode" : "cy1",
"isActive" : false
}]
}

Return Values

{
"id": "persn000000000001027",
"displayName": "CTWO3",
"href": ""https://<host_name>/v1/people/persn000000000001027"
}
REST API Reference | People | 175

FOLLOW PERSONS

Overview
Follow specified persons.
Note: It is the logged in user who starts/stops following. An admin cannot make someone
start/stop following others.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/follows

Calling Options
Table 46: Calling Options

Name Description Sample Value Data Type Required?

personList List of IDs of the Per- object Yes


sons to be followed

Request Body

{
"personList": [
{
"id":"emplo000000000001027"
},
{
"id":"emplo000000000001028"
},
{
"displayName":"CONE4"
}
]}

Note: If some of the users specified in the input list are already followed by the logged in
user then warnings are returned for those specific users:

{
"warnings": [
"persn000000000200347 already follows emplo000000000001027",
"persn000000000200347 already follows CONE4"
]
}
REST API Reference | People | 176

CREATE A PROFILE [EXTERNAL PERSON]

Overview
Creates a profile for an external person.
Note:
This REST API auto assigns the OOB security roles, in addition to the values sent for
"securityRoles" as part of the INPUT JSON. If these are not auto-assigned, the user gets an
error on account activation page.
If the open access (Microsite > Signup > Enable User Signup Open-Access) is disabled and
the email ID provided by the user is not in the allow list domain or not part of any sign-up rule
then API will throw an error (based on configuration under Microsite > Site Properties > Signup
> Signup Failure Error Message) indicating that the registration could not be completed as
the email provided is not valid.
The following OOB security roles are assigned to the external user alongwith the role(s)
passed via the Input JSON/signup rule:
• Common Privileges in world domain world
• External Person Basic Privileges <security_domain>
• Report Privileges in world domain world
The following characters are not supported for First Name, Last Name, Middle Name and
Username:
#"=,%*;\<>

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people?type=external

Calling Options
Table 47: Calling Options

Name Description Sample Value Data Type Required?

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

password Password welcome string Yes


REST API Reference | People | 177

Name Description Sample Value Data Type Required?

ss_no SS No 666-77-4322 string No

location Location {"id": object No


"locat000000000200040",
Supports lookup (Loc-
"displayName":
ation).
"Location1"}

correspond- Correspondence 1 integer No


ence_prefer- preference 1
ence1

address1 Address 1 add1 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 2
ence2

address2 Address 2 add2 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 3
ence3

address3 Address 3 add3 string No

city City Redwood Shore string No

religion Religion Mix string No

username Username testUser string No

jobtype_id Job type ID {"id": "job- object No


tp000000000001620",
Supports lookup (Job
"displayName":
Type).
"jobtype"}

customValues Custom Values string No

gender Gender 2 integer No

fname First name fname string Yes

workphone Workphone 1234567890 string No

lname Last name lname string Yes

fax Fax 446655 string No

status Status Full Time string No


REST API Reference | People | 178

Name Description Sample Value Data Type Required?

manager_id Manager ID object No


When using look-
Supports lookup (Per- up, displayName
son In). will hold the user-
name:

{"id" : "em►
plo000000000001000",
"displayName"
: "UONE"}

date_of_birth Date of birth 1983-09- date No


01T23:00:00.000

country Country USA string No

job_title_type Job title type internship string No

email Email abc@gmail.com string No

home_domain Home domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

job_title Job title The Super REST string No


Guy

timezone_id Timezone ID object Yes


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

terminated_on Terminated on date No


Note: The terminated
on date from the API
will override the ter-
minated on date from
the Signup rule.
REST API Reference | People | 179

Name Description Sample Value Data Type Required?

company_id Company ID object No


{"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

person_no Person no 00201228 string No

creation Creation false string No

person_type Person type Intern string No

state State California string No

title Title test user string No

organization Organization string No

is_manager is Manager false boolean No

homephone Homephone 4455774433 string No

auditReason Audit Reason audit with reason string No

started_on Started on 2018-04- date No


01T23:00:00.000

mname Middle name M. string No

managerPerson Manager Person string No

zip Zip 678733 string No

special_user Special user false boolean No

locale_id Locale ID object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

suffix Suffix Sr string No

displayName Display Name Test user string No

ethnicity Ethnicity Asian/Pacific Is- string No


lander
REST API Reference | People | 180

Name Description Sample Value Data Type Required?

currency_id Currency ID object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
Note: Use the cur- "US Dollars"}
rency_id attribute to
set / update default
currency and associ-
ations > nonDefault-
CurrencyList for other
currency associ-
ations.

home_com- Home company ID object No


pany_id {"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

account_no Account No 001043 string No

clientType Client Type 001023 string No

requiredJobRoles Required Job Roles object No


• Engineer Role
Supports lookup 1
(Role).

optionalJobRoles Optional Job Roles object No


• Engineer Role
Supports lookup 2
(Role).

securityRoles Security Roles string No


• Super User

is_508_user Is 508 User? false boolean No

enable_otp_veri- Enable Two Factor false boolean No


fication Authentication
REST API Reference | People | 181

Name Description Sample Value Data Type Required?

associations All the data that is string No


passed here will be "associations":
associated to the {
user. "audience►
Type": [
Note: {
"id":
Dynamic audience "audie000000000001172",
types will get at-
tached after some "display►
delay. If an immediate Name":
association is re- "Demo_Aud2"
quired with AT, please }
],
use static audience
"resource": {
types. "markRe►
Note: If the provided source": true,
"rate": [
defaultGroup has any
{
kind of membership "amount":
rule, the group will not "10",
be added as the de- "cur►
fault group. rency": {
"id":
"crncy000000000201689",

"display►
Name": "c3"
}
}
]
},
"nonDefault►
CurrencyList":
[
{
"id":
"crncy000000000001006",

"display►
Name": "c3",
"active":
true
}
],
"default►
Group": {

"d
i ":teams00000000001981",

"display►
Name":"Test
Group1"
}
}

Request Body
REST API Reference | People | 182

{
"is_payable": true,
"is_508_user": false,
"enable_otp_verification": false,
"home_domain": {
"id": "domin000000000004390",
"displayName": "ecommerce"
},
"fname": "00010079",
"lname": "00010079",
"person_no": "00006008",
"mname": "",
"addr1": "",
"addr2": "",
"addr3": "",
"ethnicity": null,
"religion": null,
"date_of_birth": null,
"fax": "",
"timezone_id": {
"id": "tzone000000000000042",
"displayName": "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"is_manager": false,
"terminated_on": null,
"city": "",
"zip": "",
"gender": 2,
"home_company_id": {
"id": "cmpny000000000001650",
"displayName": "Saba1"
},
"company_id": {
"id": "cmpny000000000001650",
"displayName": "Saba1"
},
"jobtype_id": null,
"ss_no": null,
"job_title": null,
"title": "",
"email": "00010079@saba.com",
"person_type": null,
"started_on": null,
"job_title_type": null,
"special_user": false,
"workphone": "",
"homephone": "",
"correspondence_preference1": "1",
"correspondence_preference2": "0",
"correspondence_preference3": "0",
"location_id": null,
"state": "",
"country": "",
"password":
"3916284AAFCF7ADAC206D7EA999696B1F22DF2E0BB168E3C5896246FB8495485",
"locale_id": {
"id": "local000000000000001",
"displayName": "English"
},
"manager_id": null,
"username": "00010079@SABA.COM",
"status": null,
REST API Reference | People | 183

"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"suffix": null,
"securityDomain": {
"id": "domin000000000004390",
"displayName": "ecommerce"
},
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": "default"
},
"securityKeyword": null,
"securityRoles": [
{
"name": "Objectives Administrator",
"description": "Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain": {
"displayName": "Domain1"
}
},
{
"name": "Internal Manager Privileges",
"description": "Privileges assigned to Internal Manager",
"securityDomain": {
"displayName": "world"
}
},
{
"name": "Common Privileges in world domain",
"description": "Grants access to all Common Privileges in world domain ",
"securityDomain": {
"displayName": "Domain1"
}
}
],
"requiredJobRoles": [
{
"name": "Director",
"description": "Director",
"customValues": {
"ExCustom3": null,
"custom1": null,
"ExCustom2": null,
"custom2": null,
"ExCustom1": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
REST API Reference | People | 184

"id": "roles000000000001362"
},
{
"name": "Engineering",
"description": "",
"customValues": {
"ExCustom3": null,
"custom1": null,
"ExCustom2": null,
"custom2": null,
"ExCustom1": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001433"
}
],
"optionalJobRoles": [
{
"name": "Finance Manager",
"description": "Finance Manager",
"customValues": {
"ExCustom3": null,
"custom1": null,
"ExCustom2": null,
"custom2": null,
"ExCustom1": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001366"
},
{
"name": "i90",
"description": "",
"customValues": {
"ExCustom3": null,
"custom1": null,
"ExCustom2": null,
"custom2": null,
"ExCustom1": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001634"
}
],
"interests": {
"shortTermAspirations": "Doing everything that everyone is doing",
"longTermAspirations": "dominate the world",
"longTermAspirationsTargetDate": "2040-09-30T00:00:00.000-0400",
"shortTermAspirationsTargetDate": "2014-12-31T00:00:00.000-0500"
},
REST API Reference | People | 185

"tagName": "ProfessionalInterests",
"factoryName": "com.saba.profile.profileElements.ObjectivesElement",
"updateMetadata": null,
"auditReason": "audit with reason",
"id": "pintr000000000000000",
"displayName": null,
"locale": null,
"class": "com.saba.profile.profileElements.ObjectivesElement",
"associations": {
"audienceType": [
{
"id": "audie000000000001172",
"displayName": "Demo_Aud2"
}
],
"resource": {
"markResource": true,
"rate": [
{
"amount": "10",
"currency": {
"id": "crncy000000000201689",
"displayName": "c3"
}
}
]
},
"nonDefaultCurrencyList": [
{
"id": "crncy000000000001006",
"displayName": "c3",
"active": true
}
],
"defaultGroup": {
"id":"teams000000000011981",
"displayName":"Test Group1"
}
}
}

Note: This API also allows assigning security or job roles to the user profile.
displayName in the response is always the username of the person.

Return Values

{
"id": "persn000000000201107",
"displayName": "testUser",
"href": "http://<hostname-api.sabacloud.com>/v1/people/persn000000000201107"
}

CREATE A PROFILE [INTERNAL PERSON]

Overview
Creates a new profile for an internal person.
Note:
REST API Reference | People | 186

This REST API auto assigns the OOB security roles, in addition to the values sent for
"securityRoles" as part of the INPUT JSON. If these are not auto-assigned, the user gets an
error on account activation page.
If the open access (Microsite > Signup > Enable User Signup Open-Access) is disabled and
the email ID provided by the user is not in the allow list domain or not part of any sign-up rule
then API will throw an error (based on configuration under Microsite > Site Properties > Signup
> Signup Failure Error Message) indicating that the registration could not be completed as
the email provided is not valid.
The following OOB security roles are auto-assigned to the internal user alongwith the role(s)
passed via the Input JSON/signup rule:
• Common Privileges in world domain world
• Internal Person Basic Privileges <home_domain>
• Internal Person Login Privileges <security_domain>
• Report Privileges in world domain world
The following characters are not supported for First Name, Last Name, Middle Name and
Username:
#"=,%*;\<>

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people?type=internal

Calling Options
Table 48: Calling Options

Name Description Sample Value Data Type Required?

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

password Password welcome string Yes

ss_no SS No 666-77-4322 string No

location Location {"id": object No


"locat000000000200040",
Supports lookup (Loc-
"displayName":
ation).
"Location1"}
REST API Reference | People | 187

Name Description Sample Value Data Type Required?

correspond- Correspondence 1 integer No


ence_prefer- preference 1
ence1

address1 Address 1 add1 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 2
ence2

address2 Address 2 add2 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 3
ence3

address3 Address 3 add3 string No

city City Redwood Shore string No

religion Religion Mix string No

username Username testUser string No

jobtype_id Job type ID {"id": "job- object No


tp000000000001620",
Supports lookup (Job
"displayName":
Type).
"jobtype"}

customValues Custom Values string No

gender Gender 2 integer No

fname First name fname string Yes

workphone Workphone 1234567890 string No

lname Last name lname string Yes

fax Fax 446655 string No

status Status Full Time string No

manager_id Manager ID object No


When using look-
Supports lookup (Per- up, displayName
son In). will hold the user-
name:

{"id" : "em►
plo000000000001000",
"displayName"
: "UONE"}
REST API Reference | People | 188

Name Description Sample Value Data Type Required?

date_of_birth Date of birth 1983-09- date No


01T23:00:00.000

country Country USA string No

job_title_type Job title type internship string No

email Email abc@gmail.com string No

home_domain Home domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

job_title Job title The Super REST string No


Guy

timezone_id Timezone ID object Yes


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

terminated_on Terminated on date No


Note: The terminated
on date from the API
will override the ter-
minated on date from
the Signup rule.

company_id Company ID object No


{"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

person_no Person no 00201228 string No

creation Creation false string No

person_type Person type Intern string No

state State California string No


REST API Reference | People | 189

Name Description Sample Value Data Type Required?

title Title test user string No

organization Organization string No

is_manager is Manager false boolean No

homephone Homephone 4455774433 string No

auditReason Audit Reason audit with reason string No

started_on Started on 2018-04- date No


01T23:00:00.000

mname Middle name M. string No

managerPerson Manager Person string No

zip Zip 678733 string No

special_user Special user false boolean No

locale_id Locale ID object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

suffix Suffix Sr string No

displayName Display Name Test user string No

ethnicity Ethnicity Asian/Pacific Is- string No


lander

currency_id Currency ID object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
Note: Use the cur- "US Dollars"}
rency_id attribute to
set / update default
currency for other
currency associ-
ations.

home_com- Home company ID object No


pany_id {"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

account_no Account No 001043 string No


REST API Reference | People | 190

Name Description Sample Value Data Type Required?

clientType Client Type 001023 string No

requiredJobRoles Required Job Roles object No


• Engineer Role
Supports lookup 1
(Role).

optionalJobRoles Optional Job Roles object No


• Engineer Role
Supports lookup 2
(Role).

securityRoles Security Roles string No


• Super User

is_508_user Is 508 User? false boolean No

enable_otp_veri- Enable Two Factor false boolean No


fication Authentication
REST API Reference | People | 191

Name Description Sample Value Data Type Required?

associations All the data that is string No


passed here will be "associations":{
associated to the
user. "audience►
Type":[
Note: Dynamic audi- {
ence types will get at-
tached after some "d
i ":aude
i 000000000001172",
delay. If an immediate
"display►
association is re- Name":"Demo_Aud2"
quired with AT, please
use static audience }
types. ],
"resource":{
Note: If the provided "markRe►
defaultGroup has any source":true,
kind of membership "rate":[
rule, the group will not {
be added as the de-
fault group. "amount":"10",
"cur►
rency":{

d
"i "c
: rncy000000000201689",

"dis►
playName":"c3"

}
}
]
},
"default►
Group":{

"d
i ":teams00000000001981",

"display►
Name":"Test
Group1"
}
}

Request Body

{
"is_payable":true,
"is_508_user":false,
"enable_otp_verification": false,
"home_domain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"fname":"00010079",
"lname":"00010079",
"person_no":"00006008",
REST API Reference | People | 192

"mname":"",
"addr1":"",
"addr2":"",
"addr3":"",
"ethnicity":null,
"religion":null,
"date_of_birth":null,
"fax":"",
"timezone_id":{
"id":"tzone000000000000042",
"displayName":"(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"is_manager":false,
"terminated_on":null,
"city":"",
"zip":"",
"gender":2,
"home_company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
"email":"00010079@saba.com",
"person_type":null,
"started_on":null,
"job_title_type":null,
"special_user":false,
"workphone":"",
"homephone":"",
"correspondence_preference1":"1",
"correspondence_preference2":"0",
"correspondence_preference3":"0",
"location_id":null,
"state":"",
"country":"",

"password":"3916284AAFCF7ADAC206D7EA999696B1F22DF2E0BB168E3C5896246FB8495485",

"locale_id":{
"id":"local000000000000001",
"displayName":"English"
},
"manager_id":null,
"username":"00010079@SABA.COM",
"status":null,
"currency_id":{
"id":"crncy000000000000167",
"displayName":"US Dollars"
},
"suffix":null,
"securityDomain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"customValues":{
REST API Reference | People | 193

"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":"default"
},
"securityKeyword":null,
"securityRoles":[
{
"name":"Objectives Administrator",
"description":"Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain":{
"displayName":"Domain1"
}
},
{
"name":"Internal Manager Privileges",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"displayName":"world"
}
},
{
"name":"Common Privileges in world domain",
"description":"Grants access to all Common Privileges in world domain ",
"securityDomain":{
"displayName":"Domain1"
}
}
],
"requiredJobRoles":[
{
"name":"Director",
"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001362"
},
{
"name":"Engineering",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
REST API Reference | People | 194

"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001433"
}
],
"optionalJobRoles":[
{
"name":"Finance Manager",
"description":"Finance Manager",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001366"
},
{
"name":"i90",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
"longTermAspirationsTargetDate":"2040-09-30T00:00:00.000-0400",
"shortTermAspirationsTargetDate":"2014-12-31T00:00:00.000-0500"
},
"tagName":"ProfessionalInterests",
"factoryName":"com.saba.profile.profileElements.ObjectivesElement",
"updateMetadata":null,
"auditReason":"audit with reason",
"id":"pintr000000000000000",
"displayName":null,
"locale":null,
"class":"com.saba.profile.profileElements.ObjectivesElement",
"associations":{
"audienceType":[
REST API Reference | People | 195

{
"id":"audie000000000001172",
"displayName":"Demo_Aud2"
}
],
"resource":{
"markResource":true,
"rate":[
{
"amount":"10",
"currency":{
"id":"crncy000000000201689",
"displayName":"c3"
}
}
]
},
"defaultGroup":{
"id":"teams000000000011981",
"displayName":"Test Group1"
}
}
}

Note: This API also allows assigning security or job roles to the user profile.
displayName in the response is always the username of the person.

Return Values

{
"id": "emplo000000000201648",
"displayName": "testUser10",
"href": "http://<hostname-api.sabacloud.com>/v1/people/emplo000000000201648"
}

PUT Methods
REST endpoints for the People data.

UPDATE A PERSON'S FLIGHTRISK DETAILS

Overview
Updates the FlightRisk details of a person based on the Person's ID.

Requires OAuth
No

Method
PUT
REST API Reference | People | 196

URL
https://<hostname-api.sabacloud.com>/v1/people/
:person_id/flightRisk/:id?upsert=:upsert

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/
username%3D<Username>/flightRisk/:id?type={internal/external}
&upsert=:upsert

Calling Options
Table 49: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id FlightRisk's ID ppflr000000000022492 string Yes

flight_risk Flight risk Undetermined string Yes

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

profiled Profiled string No

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No

auditReason Audit Reason audit with reason string No


REST API Reference | People | 197

Name Description Sample Value Data Type Required?

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.
Using upsert with sub
component is useful
only when the sub-
component ID is not
available i.e. use up-
sert only when per-
son_id is passed in-
stead of sub compon-
ent ID in the :id field.

Request Body

{
"flight_risk": "Medium",
"id": "ppflr000000002273345",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

UPDATE PERSON'S RESOURCE AND RATE DETAILS

Overview
Updates Person's resource and rate details.

Requires OAuth
No

Method
PUT
REST API Reference | People | 198

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/resource

Calling Options
Table 50: Calling Options

Name Description Sample Value Data Type Required?

personId Person / Employee's string Yes


ID whose resource
needs to be updated

resource Mark person as a re- string Yes


source (true / false)

rate Rate information object No

@type Input JSON class com.saba.rest.busi- string Yes


name nesscompon-
ent.dto.PersonRe-
sourceDTO

Request Body

{
"@type": "com.saba.rest.businesscomponent.dto.PersonResourceDTO",
"resource":true,
"rate": [
"java.util.List",
[
{
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "com.saba.learning.services.common.ServiceObjectReference",
"displayName": "US Dollars",
"id": "crncy000000000000001"
},
"isocode": "USD",
"amountString": "50.00 US Dollars",
"amount": [
"java.math.BigDecimal",
15
]
}
]
]
}

Return Values

{
href:
"http://<hostname-api.sabacloud.com>/v1/common/profile/emplo000000000001000/resource"
}
REST API Reference | People | 199

UPDATE A PROFILE FOR GIVEN PERSON ID [EXTERNAL]

Overview
Updates a profile for a given external person ID.
Note:
The following characters are not supported for First Name, Last Name, Middle Name and
Username:
#"=,%*;\<>

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the external Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>?type=external

Calling Options
Table 51: Calling Options

Name Description Sample Value Data Type Required?

username Username testUser string Yes

securityDomain Security Domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

password Password welcome string No

ss_no SS No 666-77-4322 string No

location Location {"id": string No


"locat000000000200040",
Supports lookup (Loc-
"displayName":
ation).
"Location1"}
REST API Reference | People | 200

Name Description Sample Value Data Type Required?

correspond- Correspondence 1 integer No


ence_prefer- preference 1
ence1

address1 Address 1 add1 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 2
ence2

address2 Address 2 add2 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 3
ence3

address3 Address 3 add3 string No

city City Redwood Shore string No

religion Religion Mix string No

username Username testUser string No

jobtype_id Job type ID {"id": "job- object No


tp000000000001620",
Supports lookup (Job
"displayName":
Type).
"jobtype"}

customValues Custom Values string No

gender Gender 2 integer No

fname First name fname string No

workphone Workphone 1234567890 string No

lname Last name lname string No

fax Fax 446655 string No

status Status Full Time string No

manager_id Manager ID object No


When using look-
Supports lookup (Per- up, displayName
son In). will hold the user-
name:

{"id" : "em►
plo000000000001000",
"displayName"
: "UONE"}
REST API Reference | People | 201

Name Description Sample Value Data Type Required?

date_of_birth Date of birth 1983-09- date No


01T23:00:00.000

country Country USA string No

job_title_type Job title type internship string No

email Email abc@gmail.com string No

home_domain Home domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

job_title Job title The Super REST string No


Guy

timezone_id Timezone ID object No


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

terminated_on Terminated on date No

company_id Company ID object No


{"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

person_no Person no 00201228 string No

creation Creation false string No

person_type Person type Intern string No

state State California string No

title Title test user string No

organization Organization string No

is_manager is Manager false boolean No


REST API Reference | People | 202

Name Description Sample Value Data Type Required?

homephone Homephone 4455774433 string No

auditReason Audit Reason audit with reason string No

started_on Started on 2018-04- date No


01T23:00:00.000

mname Middle name M. string No

managerPerson Manager Person string No

zip Zip 678733 string No

special_user Special user false boolean No

locale_id Locale ID object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

suffix Suffix Sr string No

displayName Display Name Test user string No

ethnicity Ethnicity Asian/Pacific Is- string No


lander

currency_id Currency ID object No


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

home_com- Home company ID object No


pany_id {"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

account_no Account No 001043 string No

clientType Client Type 001023 string No

requiredJobRoles Required Job Roles object No


• Engineer Role
Supports lookup 1
(Role).

optionalJobRoles Optional Job Roles object No


• Engineer Role
Supports lookup 2
(Role).
REST API Reference | People | 203

Name Description Sample Value Data Type Required?

securityRoles Security Roles string No


• Super User

is_508_user Is 508 User? false boolean No

enable_otp_veri- Enable Two Factor false boolean No


fication Authentication
REST API Reference | People | 204

Name Description Sample Value Data Type Required?

associations object No
REST API Reference | People | 205

Name Description Sample Value Data Type Required?

Map of associations
object detail. Pass this "associations":{
attribute, only if you
need to update associ- "partialUp►
ations. By default, ex- date":true,
"audience►
isting associations are Type":[
removed. If you need {
to preserve them, use
the partialUpdate at- "d
i ":aude
i 000000000001172",
tribute.
"display►
Note: Name":"Demo_Aud2",
Associations support
"ac►
lookup. To use lookup, tion":"add"
pass the value in the }
"displayName" attrib- ],
ute and omit the "id" "resource":{
attribute. "markRe►
source":true,
This API allows to: "rate":[
{
• Add one or more
associations "amount":"10",
without impacting "cur►
the existing associ- rency":{
ations. For ex-
ample, add one or d
"i "c
: rncy000000000201689",
more Audience-
"dis►
Type, Currency and
playName":"c3",
mark Resource.
• Delete a single as- "ac►
sociation. For ex- tion":"add"
ample: deleting one }
AudienceType }
without knowing ]
},
the full list of Audi-
enceType . "nonDefaultCur►
• Replace just one rencyList":[
association and {
leave others un-
changed. d
"i "c
: rncy000000000001006",

To support these "display►


functions, the follow- Name":"c3",
ing attributes/fields "act►
are available for use ive":true,
"ac►
in the input JSON: tion":"add"
• partialUpdate: }
Boolean field that ],
"default►
will enable the abil- Group":{
ity to add or re-
move one or more "d
i ":teams00000000001981",
associations
without impacting "display►
REST API Reference | People | 206

Name Description Sample Value Data Type Required?

the existing associ-


Name":"Test
ations. Group1"
Note: The default }
value of this field is }
false.
• action: This attrib-
ute is considered
only if partialUp-
date is set to true,
otherwise it is ig-
nored. If partialUp-
date is set to true
but the action is
not provided then
the default action
will be add. Pos-
sible values of this
attribute are:
• add: adds the
corresponding
association to
the person.
• delete: deletes
the correspond-
ing association
from the person.

The action and partia-


lUpdate fields are
only valid in case of
Person update or add
/ delete of individual
associations.
REST API Reference | People | 207

Name Description Sample Value Data Type Required?

In case of partial up-


date, if the attribute
audienceType / re-
source / currencyList
is passed with a null
value or an empty ar-
ray or no value is
passed, no action will
be taken. The existing
associations will re-
main untouched.
However if partialUp-
date is set to false or
not passed in input
then the attribute
with null value will re-
main untouched how-
ever attribute with
empty array will re-
move all existing asso-
ciation.
Scenario 1:
partialUpdate =true
audienceType=null
In this case the exist-
ing associations will
remain untouched.
Scenario 2:
partialUpdate =true
audienceType={}
In this case the exist-
ing associations will
remain untouched.
Scenario 3:
partialUpdate =false
audienceType=null
In this case the exist-
ing association will re-
main untouched.
Scenario 4:
partialUpdate =false
audienceType={}
In this case the exist-
ing associations will
be removed.
REST API Reference | People | 208

Name Description Sample Value Data Type Required?

Note: Dynamic audi-


ence types will get at-
tached after some
delay. If an immediate
association is re-
quired with AT, please
use static audience
types.
Note: The provided
group will not be selec-
ted as the default
group, if the person is
not already a member
of the group and
group has any kind of
membership rule asso-
ciated to it. The "ac-
tion" attribute is not
applicable for the de-
faultGroup associ-
ation.

Request Body

{
"is_payable":true,
"is_508_user":false,
"enable_otp_verification": false,
"home_domain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"fname":"00010079",
"lname":"00010079",
"person_no":"00006008",
"mname":"",
"addr1":"",
"addr2":"",
"addr3":"",
"ethnicity":null,
"religion":null,
"date_of_birth":null,
"fax":"",
"timezone_id":{
"id":"tzone000000000000042",
"displayName":"(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"is_manager":false,
"terminated_on":null,
"city":"",
"zip":"",
"gender":2,
"home_company_id":{
"id":"cmpny000000000001650",
REST API Reference | People | 209

"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
"email":"00010079@saba.com",
"person_type":null,
"started_on":null,
"job_title_type":null,
"special_user":false,
"workphone":"",
"homephone":"",
"correspondence_preference1":"1",
"correspondence_preference2":"0",
"correspondence_preference3":"0",
"location_id":null,
"state":"",
"country":"",

"password":"3916284AAFCF7ADAC206D7EA999696B1F22DF2E0BB168E3C5896246FB8495485",

"locale_id":{
"id":"local000000000000001",
"displayName":"English"
},
"manager_id":null,
"username":"00010079@SABA.COM",
"status":null,
"currency_id":{
"id":"crncy000000000000167",
"displayName":"US Dollars"
},
"suffix":null,
"securityDomain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"customValues":{
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":"default"
},
"securityRoles":[
{
"name":"Super User",
"id":"cpriv000000000000100",
"description":"Grants access to all functionality in Cornerstone SBX",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
REST API Reference | People | 210

}
},
{
"name":"Internal Manager Basic Privileges",
"id":"cpriv000000000000114",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Basic Privileges",
"id":"cpriv000000000000107",
"description":"Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all internal people defined in the system)",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Objectives Administrator",
"id":"cpriv000000000000111",
"description":"Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Login Privileges",
"id":"cpriv000000000000113",
"description":"Grants view internal person privilege",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Common Privileges in world domain",
"id":"cpriv000000000000117",
"description":"Grants access to all Common Privileges in world domain",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Approvers",
"id":"cpriv000000000003030",
"description":"Approver Role",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
}
],
"requiredJobRoles":[
{
"name":"Director",
REST API Reference | People | 211

"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001362"
},
{
"name":"Engineering",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001433"
}
],
"optionalJobRoles":[
{
"name":"Finance Manager",
"description":"Finance Manager",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001366"
},
{
"name":"i90",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
REST API Reference | People | 212

"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
"longTermAspirationsTargetDate":"2040-09-30T00:00:00.000-0400",
"shortTermAspirationsTargetDate":"2014-12-31T00:00:00.000-0500"
},
"tagName":"ProfessionalInterests",
"factoryName":"com.saba.profile.profileElements.ObjectivesElement",
"updateMetadata":null,
"auditReason":"audit with reason",
"id":"pintr000000000000000",
"displayName":null,
"locale":null,
"class":"com.saba.profile.profileElements.ObjectivesElement",
"associations":{
"partialUpdate":true,
"audienceType":[
{
"id":"audie000000000001172",
"displayName":"Demo_Aud2",
"action":"add"
}
],
"resource":{
"markResource":true,
"rate":[
{
"amount":"10",
"currency":{
"id":"crncy000000000201689",
"displayName":"c3",
"action":"add"
}
}
]
},
"nonDefaultCurrencyList":[
{
"id":"crncy000000000001006",
"displayName":"c3",
"active":true,
"action":"add"
}
],
"defaultGroup":{
"id":"teams000000000011981",
"displayName":"Test Group1"
}
}
}

Note: This API also allows assigning or removing security or job roles to or from the user
profile.
REST API Reference | People | 213

UPDATE A PROFILE FOR GIVEN PERSON ID [INTERNAL]

Overview
Updates a profile for given internal person ID.
Note:
The following characters are not supported for First Name, Last Name, Middle Name and
Username:
#"=,%*;\<>

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>?type={internal/external}

Calling Options
Table 52: Calling Options

Name Description Sample Value Data Type Required?

username Username testUser string Yes

securityDomain Security Domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

password Password welcome string No

ss_no SS No 666-77-4322 string No

location Location {"id": string No


"locat000000000200040",
Supports lookup (Loc-
"displayName":
ation).
"Location1"}
REST API Reference | People | 214

Name Description Sample Value Data Type Required?

correspond- Correspondence 1 integer No


ence_prefer- preference 1
ence1

address1 Address 1 add1 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 2
ence2

address2 Address 2 add2 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 3
ence3

address3 Address 3 add3 string No

city City Redwood Shore string No

religion Religion Mix string No

username Username testUser string No

jobtype_id Job type ID {"id": "job- object No


tp000000000001620",
Supports lookup (Job
"displayName":
Type).
"jobtype"}

customValues Custom Values string No

gender Gender 2 integer No

fname First name fname string No

workphone Workphone 1234567890 string No

lname Last name lname string No

fax Fax 446655 string No

status Status Full Time string No

manager_id Manager ID object No


When using look-
Supports lookup (Per- up, displayName
son In). will hold the user-
name:

{"id" : "em►
plo000000000001000",
"displayName"
: "UONE"}
REST API Reference | People | 215

Name Description Sample Value Data Type Required?

date_of_birth Date of birth 1983-09- date No


01T23:00:00.000

country Country USA string No

job_title_type Job title type internship string No

email Email abc@gmail.com string No

home_domain Home domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

job_title Job title The Super REST string No


Guy

timezone_id Timezone ID object No


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

terminated_on Terminated on date No

company_id Company ID object No


{"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

person_no Person no 00201228 string No

creation Creation false string No

person_type Person type Intern string No

state State California string No

title Title test user string No

organization Organization string No

is_manager is Manager false boolean No


REST API Reference | People | 216

Name Description Sample Value Data Type Required?

homephone Homephone 4455774433 string No

auditReason Audit Reason audit with reason string No

started_on Started on 2018-04- date No


01T23:00:00.000

mname Middle name M. string No

managerPerson Manager Person string No

zip Zip 678733 string No

special_user Special user false boolean No

locale_id Locale ID object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

suffix Suffix Sr string No

displayName Display Name Test user string No

ethnicity Ethnicity Asian/Pacific Is- string No


lander

currency_id Currency ID object No


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

home_com- Home company ID object No


pany_id {"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

account_no Account No 001043 string No

clientType Client Type 001023 string No

requiredJobRoles Required Job Roles object No


• Engineer Role
Supports lookup 1
(Role).

optionalJobRoles Optional Job Roles object No


• Engineer Role
Supports lookup 2
(Role).
REST API Reference | People | 217

Name Description Sample Value Data Type Required?

securityRoles Security Roles string No


• Super User

is_508_user Is 508 User? false boolean No

enable_otp_veri- Enable Two Factor false boolean No


fication Authentication
REST API Reference | People | 218

Name Description Sample Value Data Type Required?

associations object No
"associations":{

"partialUp►
date":true,
"audience►
Type":[
{

"d
i ":aude
i 000000000001172",

"display►
Name":"Demo_Aud2",

"ac►
tion":"add"
}
],
"resource":{
"markRe►
source":true,
"rate":[
{

"amount":"10",
"cur►
rency":{

d
"i "c
: rncy000000000201689",

"dis►
playName":"c3",

"ac►
tion":"add"
}
}
]
},
"default►
Group":{

"d
i ":teams00000000001981",

"display►
Name":"Test
Group1"
}
}
REST API Reference | People | 219

Name Description Sample Value Data Type Required?

Map of associations
object detail. Pass this
attribute, only if you
need to update associ-
ations. By default, ex-
isting associations are
removed. If you need
to preserve them, use
the partialUpdate at-
tribute.
Note:
Associations support
lookup. To use lookup,
pass the value in the
"displayName" attrib-
ute and omit the "id"
attribute.
This API allows to:
• Add one or more
associations
without impacting
the existing associ-
ations. For ex-
ample, add one or
more Audience-
Type, Currency and
mark Resource.
• Remove a single
association. For ex-
ample: removing
one AudienceType
without knowing
the full list of Audi-
enceType .
• Replace just one
association and
leave others un-
changed.
To support these
functions, the follow-
ing attributes/fields
are available for use
in the input JSON:
• partialUpdate:
Boolean field that
will enable the abil-
ity to add or re-
move one or more
associations
without impacting
REST API Reference | People | 220

Name Description Sample Value Data Type Required?

the existing associ-


ations.
Note: The default
value of this field is
false.
• action: This attrib-
ute is considered
only if partialUp-
date is set to true,
otherwise it is ig-
nored. If partialUp-
date is set to true
but the action is
not provided then
the default action
will be add. Pos-
sible values of this
attribute are:
• add: adds the
corresponding
association to
the person.
• delete: deletes
the correspond-
ing association
from the person.

The action and partia-


lUpdate fields are
only valid in case of
Person update or add
/ delete of individual
associations.
REST API Reference | People | 221

Name Description Sample Value Data Type Required?

In case of partial up-


date, if the attribute
audienceType / re-
source is passed with
a null value or an
empty array or no
value is passed, no
action will be taken.
The existing associ-
ations will remain un-
touched. However if
partialUpdate is set to
false or not passed in
input then the attrib-
ute with null value will
remain untouched
however attribute
with empty array will
remove all existing
association.
Scenario 1:
partialUpdate =true
audienceType=null
In this case the exist-
ing associations will
remain untouched.
Scenario 2:
partialUpdate =true
audienceType={}
In this case the exist-
ing associations will
remain untouched.
Scenario 3:
partialUpdate =false
audienceType=null
In this case the exist-
ing association will re-
main untouched.
Scenario 4:
partialUpdate =false
audienceType={}
In this case the exist-
ing associations will
be removed.
REST API Reference | People | 222

Name Description Sample Value Data Type Required?

Note: Dynamic audi-


ence types will get at-
tached after some
delay. If an immediate
association is re-
quired with AT, please
use static audience
types.
Note: The provided
group will not be selec-
ted as the default
group, if the person is
not already a member
of the group and
group has any kind of
membership rule asso-
ciated to it. The "ac-
tion" attribute is not
applicable for the de-
faultGroup associ-
ation.

Request Body

{
"is_payable":true,
"is_508_user":false,
"enable_otp_verification": false,
"home_domain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"fname":"00010079",
"lname":"00010079",
"person_no":"00006008",
"mname":"",
"addr1":"",
"addr2":"",
"addr3":"",
"ethnicity":null,
"religion":null,
"date_of_birth":null,
"fax":"",
"timezone_id":{
"id":"tzone000000000000042",
"displayName":"(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"is_manager":false,
"terminated_on":null,
"city":"",
"zip":"",
"gender":2,
"home_company_id":{
"id":"cmpny000000000001650",
REST API Reference | People | 223

"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
"email":"00010079@saba.com",
"person_type":null,
"started_on":null,
"job_title_type":null,
"special_user":false,
"workphone":"",
"homephone":"",
"correspondence_preference1":"1",
"correspondence_preference2":"0",
"correspondence_preference3":"0",
"location_id":null,
"state":"",
"country":"",

"password":"3916284AAFCF7ADAC206D7EA999696B1F22DF2E0BB168E3C5896246FB8495485",

"locale_id":{
"id":"local000000000000001",
"displayName":"English"
},
"manager_id":null,
"username":"00010079@SABA.COM",
"status":null,
"currency_id":{
"id":"crncy000000000000167",
"displayName":"US Dollars"
},
"suffix":null,
"securityDomain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"customValues":{
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":"default"
},
"securityRoles":[
{
"name":"Super User",
"id":"cpriv000000000000100",
"description":"Grants access to all functionality in Cornerstone SBX",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
REST API Reference | People | 224

}
},
{
"name":"Internal Manager Basic Privileges",
"id":"cpriv000000000000114",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Basic Privileges",
"id":"cpriv000000000000107",
"description":"Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all internal people defined in the system)",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Objectives Administrator",
"id":"cpriv000000000000111",
"description":"Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Login Privileges",
"id":"cpriv000000000000113",
"description":"Grants view internal person privilege",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Common Privileges in world domain",
"id":"cpriv000000000000117",
"description":"Grants access to all Common Privileges in world domain",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Approvers",
"id":"cpriv000000000003030",
"description":"Approver Role",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
}
],
"requiredJobRoles":[
{
"name":"Director",
REST API Reference | People | 225

"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001362"
},
{
"name":"Engineering",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001433"
}
],
"optionalJobRoles":[
{
"name":"Finance Manager",
"description":"Finance Manager",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001366"
},
{
"name":"i90",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
REST API Reference | People | 226

"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
"longTermAspirationsTargetDate":"2040-09-30T00:00:00.000-0400",
"shortTermAspirationsTargetDate":"2014-12-31T00:00:00.000-0500"
},
"tagName":"ProfessionalInterests",
"factoryName":"com.saba.profile.profileElements.ObjectivesElement",
"updateMetadata":null,
"auditReason":"audit with reason",
"id":"pintr000000000000000",
"displayName":null,
"locale":null,
"class":"com.saba.profile.profileElements.ObjectivesElement",
"associations":{
"partialUpdate":true,
"audienceType":[
{
"id":"audie000000000001172",
"displayName":"Demo_Aud2",
"action":"add"
}
],
"resource":{
"markResource":true,
"rate":[
{
"amount":"10",
"currency":{
"id":"crncy000000000201689",
"displayName":"c3",
"action":"add"
}
}
]
},
"defaultGroup":{
"id":"teams000000000011981",
"displayName":"Test Group1"
}
}
}

Note: This API also allows assigning or removing security or job roles to or from the user
profile.

UPDATE A PROFILE FOR GIVEN PERSON NAME [EXTERNAL]

Overview
Updates a profile for a given external person name.
REST API Reference | People | 227

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/
username=:username?type=external&upsert=:upsert

Calling Options
Table 53: Calling Options

Name Description Sample Value Data Type Required?

username Username testUser string Yes

securityDomain Security Domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

password Password welcome string No

ss_no SS No 666-77-4322 string No

location Location {"id": string No


"locat000000000200040",
Supports lookup (Loc-
"displayName":
ation).
"Location1"}

correspond- Correspondence 1 integer No


ence_prefer- preference 1
ence1

address1 Address 1 add1 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 2
ence2

address2 Address 2 add2 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 3
ence3

address3 Address 3 add3 string No

city City Redwood Shore string No


REST API Reference | People | 228

Name Description Sample Value Data Type Required?

religion Religion Mix string No

username Username testUser string No

jobtype_id Job type ID {"id": "job- object No


tp000000000001620",
Supports lookup (Job
"displayName":
Type).
"jobtype"}

customValues Custom Values string No

gender Gender 2 integer No

fname First name fname string No

workphone Workphone 1234567890 string No

lname Last name lname string No

fax Fax 446655 string No

status Status Full Time string No

manager_id Manager ID object No


When using look-
Supports lookup (Per- up, displayName
son In). will hold the user-
name:

{"id": "per►
sn000000000001000",
"displayName":
"esone11"}

date_of_birth Date of birth 1983-09- date No


01T23:00:00.000

country Country USA string No

job_title_type Job title type internship string No

email Email abc@gmail.com string No

home_domain Home domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

job_title Job title The Super REST string No


Guy
REST API Reference | People | 229

Name Description Sample Value Data Type Required?

timezone_id Timezone ID object No


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

terminated_on Terminated on date No

company_id Company ID object No


{"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

person_no Person no 00201228 string No

creation Creation false string No

person_type Person type Intern string No

state State California string No

title Title test user string No

organization Organization string No

is_manager is Manager false boolean No

homephone Homephone 4455774433 string No

auditReason Audit Reason audit with reason string No

started_on Started on 2018-04- date No


01T23:00:00.000

mname Middle name M. string No

managerPerson Manager Person string No

zip Zip 678733 string No

special_user Special user false boolean No


REST API Reference | People | 230

Name Description Sample Value Data Type Required?

locale_id Locale ID object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

suffix Suffix Sr string No

displayName Display Name Test user string No

ethnicity Ethnicity Asian/Pacific Is- string No


lander

currency_id Currency ID object No


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

home_com- Home company ID object No


pany_id d
{i"c:"mpny000000000001000
d
","si►
Supports lookup (Or- playName":
ganization). "Company1"}

account_no Account No 001043 string No

clientType Client Type 001023 string No

requiredJobRoles Required Job Roles object No


• Engineer Role
Supports lookup 1
(Role).

optionalJobRoles Optional Job Roles object No


• Engineer Role
Supports lookup 2
(Role).

securityRoles Security Roles string No


• Super User

is_508_user Is 508 User? false boolean No

enable_otp_veri- Enable Two Factor false boolean No


fication Authentication
REST API Reference | People | 231

Name Description Sample Value Data Type Required?

associations object No
REST API Reference | People | 232

Name Description Sample Value Data Type Required?

Map of associations
object detail. Pass this "associations":{
attribute, only if you
need to update associ- "partialUp►
ations. By default, ex- date":true,
"audience►
isting associations are Type":[
removed. If you need {
to preserve them, use
the partialUpdate at- "d
i ":aude
i 000000000001172",
tribute.
"display►
Note: Name":"Demo_Aud2",
Associations support
"ac►
lookup. To use lookup, tion":"add"
pass the value in the }
"displayName" attrib- ],
ute and omit the "id" "resource":{
attribute. "markRe►
source":true,
This API allows to: "rate":[
{
• Add one or more
associations "amount":"10",
without impacting "cur►
the existing associ- rency":{
ations. For ex-
ample, add one or d
"i "c
: rncy000000000201689",
more Audience-
"dis►
Type, Currency and
playName":"c3",
mark Resource.
• Delete a single as- "ac►
sociation. For ex- tion":"add"
ample: deleting one }
AudienceType }
without knowing ]
},
the full list of Audi-
enceType . "nonDefaultCur►
• Replace just one rencyList":[
association and {
leave others un-
changed. d
"i "c
: rncy000000000001006",

To support these "display►


functions, the follow- Name":"c3",
ing attributes/fields "act►
are available for use ive":true,
"ac►
in the input JSON: tion":"add"
• partialUpdate: }
Boolean field that ],
"default►
will enable the abil- Group":{
ity to add or re-
move one or more "d
i ":teams00000000001981",
associations
without impacting "display►
REST API Reference | People | 233

Name Description Sample Value Data Type Required?

the existing associ-


Name":"Test
ations. Group1"
Note: The default }
value of this field is }
false.
• action: This attrib-
ute is considered
only if partialUp-
date is set to true,
otherwise it is ig-
nored. If partialUp-
date is set to true
but the action is
not provided then
the default action
will be add. Pos-
sible values of this
attribute are:
• add: adds the
corresponding
association to
the person.
• delete: deletes
the correspond-
ing association
from the person.

The action and partia-


lUpdate fields are
only valid in case of
Person update or add
/ delete of individual
associations.
REST API Reference | People | 234

Name Description Sample Value Data Type Required?

In case of partial up-


date, if the attribute
audienceType / re-
source / currencyList
is passed with a null
value or an empty ar-
ray or no value is
passed, no action will
be taken. The existing
associations will re-
main untouched.
However if partialUp-
date is set to false or
not passed in input
then the attribute
with null value will re-
main untouched how-
ever attribute with
empty array will re-
move all existing asso-
ciation.
Scenario 1:
partialUpdate =true
audienceType=null
In this case the exist-
ing associations will
remain untouched.
Scenario 2:
partialUpdate =true
audienceType={}
In this case the exist-
ing associations will
remain untouched.
Scenario 3:
partialUpdate =false
audienceType=null
In this case the exist-
ing association will re-
main untouched.
Scenario 4:
partialUpdate =false
audienceType={}
In this case the exist-
ing associations will
be removed.
REST API Reference | People | 235

Name Description Sample Value Data Type Required?

Note: The provided


group will not be selec-
ted as the default
group, if the person is
not already a member
of the group and
group has any kind of
membership rule asso-
ciated to it. The "ac-
tion" attribute is not
applicable for the de-
faultGroup associ-
ation.

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.

Request Body

{
"is_payable":true,
"is_508_user":false,
"enable_otp_verification": false,
"home_domain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"fname":"00010079",
"lname":"00010079",
"person_no":"00006008",
"mname":"",
"addr1":"",
"addr2":"",
"addr3":"",
"ethnicity":null,
"religion":null,
"date_of_birth":null,
"fax":"",
"timezone_id":{
"id":"tzone000000000000042",
"displayName":"(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
REST API Reference | People | 236

"is_manager":false,
"terminated_on":null,
"city":"",
"zip":"",
"gender":2,
"home_company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
"email":"00010079@saba.com",
"person_type":null,
"started_on":null,
"job_title_type":null,
"special_user":false,
"workphone":"",
"homephone":"",
"correspondence_preference1":"1",
"correspondence_preference2":"0",
"correspondence_preference3":"0",
"location_id":null,
"state":"",
"country":"",

"password":"3916284AAFCF7ADAC206D7EA999696B1F22DF2E0BB168E3C5896246FB8495485",

"locale_id":{
"id":"local000000000000001",
"displayName":"English"
},
"manager_id":null,
"username":"00010079@SABA.COM",
"status":null,
"currency_id":{
"id":"crncy000000000000167",
"displayName":"US Dollars"
},
"suffix":null,
"securityDomain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"customValues":{
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":"default"
},
"securityRoles":[
REST API Reference | People | 237

{
"name":"Super User",
"id":"cpriv000000000000100",
"description":"Grants access to all functionality in Cornerstone SBX",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Manager Basic Privileges",
"id":"cpriv000000000000114",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Basic Privileges",
"id":"cpriv000000000000107",
"description":"Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all internal people defined in the system)",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Objectives Administrator",
"id":"cpriv000000000000111",
"description":"Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Login Privileges",
"id":"cpriv000000000000113",
"description":"Grants view internal person privilege",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Common Privileges in world domain",
"id":"cpriv000000000000117",
"description":"Grants access to all Common Privileges in world domain",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Approvers",
"id":"cpriv000000000003030",
"description":"Approver Role",
"securityDomain":{
"id":"domin000000000000001",
REST API Reference | People | 238

"displayName":"world"
}
}
],
"requiredJobRoles":[
{
"name":"Director",
"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001362"
},
{
"name":"Engineering",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001433"
}
],
"optionalJobRoles":[
{
"name":"Finance Manager",
"description":"Finance Manager",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001366"
},
{
"name":"i90",
"description":"",
"customValues":{
REST API Reference | People | 239

"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
"longTermAspirationsTargetDate":"2040-09-30T00:00:00.000-0400",
"shortTermAspirationsTargetDate":"2014-12-31T00:00:00.000-0500"
},
"tagName":"ProfessionalInterests",
"factoryName":"com.saba.profile.profileElements.ObjectivesElement",
"updateMetadata":null,
"auditReason":"audit with reason",
"id":"pintr000000000000000",
"displayName":null,
"locale":null,
"class":"com.saba.profile.profileElements.ObjectivesElement",
"associations":{
"partialUpdate":true,
"audienceType":[
{
"id":"audie000000000001172",
"displayName":"Demo_Aud2",
"action":"add"
}
],
"resource":{
"markResource":true,
"rate":[
{
"amount":"10",
"currency":{
"id":"crncy000000000201689",
"displayName":"c3",
"action":"add"
}
}
]
},
"nonDefaultCurrencyList":[
{
"id":"crncy000000000001006",
"displayName":"c3",
"active":true,
"action":"add"
}
],
"defaultGroup":{
"id":"teams000000000011981",
"displayName":"Test Group1"
}
REST API Reference | People | 240

}
}

Note: This API also allows assigning or removing security or job roles to or from the user
profile.

UPDATE A PROFILE FOR GIVEN PERSON NAME [INTERNAL]

Overview
Updates a profile for a given internal person name.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/
username=:username?type=internal&upsert=:upsert

Calling Options
Table 54: Calling Options

Name Description Sample Value Data Type Required?

username Username testUser string Yes

securityDomain Security Domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

password Password welcome string No

ss_no SS No 666-77-4322 string No

location Location {"id": string No


"locat000000000200040",
Supports lookup (Loc-
"displayName":
ation).
"Location1"}

correspond- Correspondence 1 integer No


ence_prefer- preference 1
ence1

address1 Address 1 add1 string No


REST API Reference | People | 241

Name Description Sample Value Data Type Required?

correspond- Correspondence 0 integer No


ence_prefer- preference 2
ence2

address2 Address 2 add2 string No

correspond- Correspondence 0 integer No


ence_prefer- preference 3
ence3

address3 Address 3 add3 string No

city City Redwood Shore string No

religion Religion Mix string No

username Username testUser string No

jobtype_id Job type ID {"id": "job- object No


tp000000000001620",
Supports lookup (Job
"displayName":
Type).
"jobtype"}

customValues Custom Values string No

gender Gender 2 integer No

fname First name fname string No

workphone Workphone 1234567890 string No

lname Last name lname string No

fax Fax 446655 string No

status Status Full Time string No

manager_id Manager ID object No


When using look-
Supports lookup (Per- up, displayName
son In). will hold the user-
name:

{"id" : "em►
plo000000000001000",
"displayName"
: "UONE"}

date_of_birth Date of birth 1983-09- date No


01T23:00:00.000

country Country USA string No

job_title_type Job title type internship string No


REST API Reference | People | 242

Name Description Sample Value Data Type Required?

email Email abc@gmail.com string No

home_domain Home domain object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

job_title Job title The Super REST string No


Guy

timezone_id Timezone ID object No


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

terminated_on Terminated on date No

company_id Company ID object No


{"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

person_no Person no 00201228 string No

creation Creation false string No

person_type Person type Intern string No

state State California string No

title Title test user string No

organization Organization string No

is_manager is Manager false boolean No

homephone Homephone 4455774433 string No

auditReason Audit Reason audit with reason string No

started_on Started on 2018-04- date No


01T23:00:00.000
REST API Reference | People | 243

Name Description Sample Value Data Type Required?

mname Middle name M. string No

managerPerson Manager Person string No

zip Zip 678733 string No

special_user Special user false boolean No

locale_id Locale ID object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

suffix Suffix Sr string No

displayName Display Name Test user string No

ethnicity Ethnicity Asian/Pacific Is- string No


lander

currency_id Currency ID object No


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

home_com- Home company ID object No


pany_id {"id":
Supports lookup (Or- "cmpny000000000001650",
ganization). "displayName":
"Saba1"}

account_no Account No 001043 string No

clientType Client Type 001023 string No

requiredJobRoles Required Job Roles object No


• Engineer Role
Supports lookup 1
(Role).

optionalJobRoles Optional Job Roles object No


• Engineer Role
Supports lookup 2
(Role).

securityRoles Security Roles string No


• Super User

is_508_user Is 508 User? false boolean No


REST API Reference | People | 244

Name Description Sample Value Data Type Required?

enable_otp_veri- Enable Two Factor false boolean No


fication Authentication
REST API Reference | People | 245

Name Description Sample Value Data Type Required?

associations object No
"associations":{

"partialUp►
date":true,
"audience►
Type":[
{

"d
i ":aude
i 000000000001172",

"display►
Name":"Demo_Aud2",

"ac►
tion":"add"
}
],
"resource":{
"markRe►
source":true,
"rate":[
{

"amount":"10",
"cur►
rency":{

d
"i "c
: rncy000000000201689",

"dis►
playName":"c3",

"ac►
tion":"add"
}
}
]
},
"default►
Group":{

"d
i ":teams00000000001981",

"display►
Name":"Test
Group1"
}
}
REST API Reference | People | 246

Name Description Sample Value Data Type Required?

Map of associations
object detail. Pass this
attribute, only if you
need to update associ-
ations. By default, ex-
isting associations are
removed. If you need
to preserve them, use
the partialUpdate at-
tribute.
Note:
Associations support
lookup. To use lookup,
pass the value in the
"displayName" attrib-
ute and omit the "id"
attribute.
This API allows to:
• Add one or more
associations
without impacting
the existing associ-
ations. For ex-
ample, add one or
more Audience-
Type, Currency and
mark Resource.
• Remove a single
association. For ex-
ample: removing
one AudienceType
without knowing
the full list of Audi-
enceType .
• Replace just one
association and
leave others un-
changed.
To support these
functions, the follow-
ing attributes/fields
are available for use
in the input JSON:
• partialUpdate:
Boolean field that
will enable the abil-
ity to add or re-
move one or more
associations
without impacting
REST API Reference | People | 247

Name Description Sample Value Data Type Required?

the existing associ-


ations.
Note: The default
value of this field is
false.
• action: This attrib-
ute is considered
only if partialUp-
date is set to true,
otherwise it is ig-
nored. If partialUp-
date is set to true
but the action is
not provided then
the default action
will be add. Pos-
sible values of this
attribute are:
• add: adds the
corresponding
association to
the person.
• delete: deletes
the correspond-
ing association
from the person.

The action and partia-


lUpdate fields are
only valid in case of
Person update or add
/ delete of individual
associations.
REST API Reference | People | 248

Name Description Sample Value Data Type Required?

In case of partial up-


date, if the attribute
audienceType / re-
source is passed with
a null value or an
empty array or no
value is passed, no
action will be taken.
The existing associ-
ations will remain un-
touched. However if
partialUpdate is set to
false or not passed in
input then the attrib-
ute with null value will
remain untouched
however attribute
with empty array will
remove all existing
association.
Scenario 1:
partialUpdate =true
audienceType=null
In this case the exist-
ing associations will
remain untouched.
Scenario 2:
partialUpdate =true
audienceType={}
In this case the exist-
ing associations will
remain untouched.
Scenario 3:
partialUpdate =false
audienceType=null
In this case the exist-
ing association will re-
main untouched.
Scenario 4:
partialUpdate =false
audienceType={}
In this case the exist-
ing associations will
be removed.
REST API Reference | People | 249

Name Description Sample Value Data Type Required?

Note: The provided


group will not be selec-
ted as the default
group, if the person is
not already a member
of the group and
group has any kind of
membership rule asso-
ciated to it. The "ac-
tion" attribute is not
applicable for the de-
faultGroup associ-
ation.

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.

Request Body

{
"is_payable":true,
"is_508_user":false,
"enable_otp_verification": false,
"home_domain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"fname":"00010079",
"lname":"00010079",
"person_no":"00006008",
"mname":"",
"addr1":"",
"addr2":"",
"addr3":"",
"ethnicity":null,
"religion":null,
"date_of_birth":null,
"fax":"",
"timezone_id":{
"id":"tzone000000000000042",
"displayName":"(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
REST API Reference | People | 250

"is_manager":false,
"terminated_on":null,
"city":"",
"zip":"",
"gender":2,
"home_company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
"email":"00010079@saba.com",
"person_type":null,
"started_on":null,
"job_title_type":null,
"special_user":false,
"workphone":"",
"homephone":"",
"correspondence_preference1":"1",
"correspondence_preference2":"0",
"correspondence_preference3":"0",
"location_id":null,
"state":"",
"country":"",

"password":"3916284AAFCF7ADAC206D7EA999696B1F22DF2E0BB168E3C5896246FB8495485",

"locale_id":{
"id":"local000000000000001",
"displayName":"English"
},
"manager_id":null,
"username":"00010079@SABA.COM",
"status":null,
"currency_id":{
"id":"crncy000000000000167",
"displayName":"US Dollars"
},
"suffix":null,
"securityDomain":{
"id":"domin000000000004390",
"displayName":"ecommerce"
},
"customValues":{
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":"default"
},
"securityRoles":[
REST API Reference | People | 251

{
"name":"Super User",
"id":"cpriv000000000000100",
"description":"Grants access to all functionality in Cornerstone SBX",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Manager Basic Privileges",
"id":"cpriv000000000000114",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Basic Privileges",
"id":"cpriv000000000000107",
"description":"Grants access to all functionality in Cornerstone SBX (Automatically
assigned to all internal people defined in the system)",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Objectives Administrator",
"id":"cpriv000000000000111",
"description":"Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Person Login Privileges",
"id":"cpriv000000000000113",
"description":"Grants view internal person privilege",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Common Privileges in world domain",
"id":"cpriv000000000000117",
"description":"Grants access to all Common Privileges in world domain",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Approvers",
"id":"cpriv000000000003030",
"description":"Approver Role",
"securityDomain":{
"id":"domin000000000000001",
REST API Reference | People | 252

"displayName":"world"
}
}
],
"requiredJobRoles":[
{
"name":"Director",
"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001362"
},
{
"name":"Engineering",
"description":"",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001433"
}
],
"optionalJobRoles":[
{
"name":"Finance Manager",
"description":"Finance Manager",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001366"
},
{
"name":"i90",
"description":"",
"customValues":{
REST API Reference | People | 253

"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
"longTermAspirationsTargetDate":"2040-09-30T00:00:00.000-0400",
"shortTermAspirationsTargetDate":"2014-12-31T00:00:00.000-0500"
},
"tagName":"ProfessionalInterests",
"factoryName":"com.saba.profile.profileElements.ObjectivesElement",
"updateMetadata":null,
"auditReason":"audit with reason",
"id":"pintr000000000000000",
"displayName":null,
"locale":null,
"class":"com.saba.profile.profileElements.ObjectivesElement",
"associations":{
"partialUpdate":true,
"audienceType":[
{
"id":"audie000000000001172",
"displayName":"Demo_Aud2",
"action":"add"
}
],
"resource":{
"markResource":true,
"rate":[
{
"amount":"10",
"currency":{
"id":"crncy000000000201689",
"displayName":"c3",
"action":"add"
}
}
]
},
"defaultGroup":{
"id":"teams000000000011981",
"displayName":"Test Group1"
}
}
}

Note: This API also allows assigning or removing security or job roles to or from the user
profile.
REST API Reference | People | 254

UPDATE COREPROFILE DETAILS OF A PERSON

Overview
Update a person's coreprofile details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/coreProfile/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Core
Profile's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<Username>/coreProfile/username%3D<Username>?type={internal/external}

Calling Options
Table 55: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Coreprofile's ID string Yes

userAccept- User Acceptance Approved string Yes


anceStatus Status

objective Objective string No

will_relocate Will Relocate false string No

externalSite External Site string No

Request Body

{
"userAcceptanceStatus": "Approved",
"will_relocate": false,
"objective": "Work",
"externalSite": [
{
"url": "https://twitter.com/pratikghodekar",
"site_type": "OTHER"
},
REST API Reference | People | 255

{
"url": "https://<hostname-api.sabacloud.com>",
"site_type": "BLOG"
},
{
"url": "https://<hostname-api.sabacloud.com>/abc",
"site_type": "FACEBOOK"
},
{
"url": "https://<hostname-api.sabacloud.com>",
"site_type": "LINKEDIN"
}
],
"id": "ppcor000000000001063"
}

UPDATE LANGUAGES DETAILS OF A PERSON

Overview
Updates a person's languages details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/languages/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/languages/:id

Calling Options
Table 56: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Languages's ID string Yes


REST API Reference | People | 256

Name Description Sample Value Data Type Required?

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

reading_level Reading level High string Yes

profiled Profiled string No

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No

auditReason Audit Reason audit with reason string No

writing_level Writing level High string Yes

speaking_level Speaking level High string Yes

language Language Polish object Yes


lange000000000000017

notes Notes note1 string No

Request Body

{
"notes": "note1",
"reading_level": "High",
"speaking_level": "High",
"writing_level": "High",
"language": {
"id": "lange000000000000017",
"displayName": "Polish"
},
"id": "pplan000000002273374",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
REST API Reference | People | 257

UPDATE CAREER INTERESTS DETAILS OF A PERSON

Overview
Updates a person's career interests details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/careerInterests/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/careerInterests/:id

Calling Options
Table 57: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id ID string Yes

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

profiled Profiled string No

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

description Description desc modified string No

customValues Custom Values string No

displayName Display name string No


REST API Reference | People | 258

Name Description Sample Value Data Type Required?

auditReason Audit Reason audit with reason string No

job_type_id Job type ID object Yes


{"id": "job►
tp000000000001622",
"displayName":
"Android De►
veloper"}

Request Body

{
"job_type_id": {
"id": "jobtp000000000001622",
"displayName": "Android Developer"
},
"description": "Android app dev",
"id": "ppcit000000002308486",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

UPDATE EDUCATION DETAILS OF A PERSON

Overview
Updates a person's education details based on the Person's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/education/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/education/:id
REST API Reference | People | 259

Calling Options
Table 58: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Education's ID ppedu000000000022464 string Yes

completion_per- Completion percent 100 string Yes


cent

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

major_lov Major LOV Economics string No

institution_type Institution type University string Yes

completion_date Completion date 1989-01-27 string No

institute_lov Institute lov University of string Yes


Illinois

degree Degree Doctorate string Yes

comments Comments Prode Moment string No

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

profiled Profiled string No


REST API Reference | People | 260

Name Description Sample Value Data Type Required?

customValues Custom Values string No


{
"custom0":
"c0",
"custom1": "c1",

"custom2":
"c2",
"custom3":
"c3",
"custom4":
"c4",
"custom5":
"c5",
"custom6":
"c6",
"custom7":
"c7",
"custom8":
"c8",
"custom9":
"c9"
}

auditReason Audit Reason audit with reason string No

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9"
},
"degree": "Masters in sciences",
"comments": null,
"completion_date": "2016-07-06T00:00:00.000+0000",
"institution_type": "College",
"institute_lov": "Mumbai IIT",
"major_lov": "Electronics",
"completion_percent": 65
}
REST API Reference | People | 261

UPDATE EXTERNAL CERTIFICATIONS DETAILS OF A PERSON

Overview
Updates a person's external certifications details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/externalCertifications/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/externalCertifications/:id

Calling Options
Table 59: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID em- string Yes


plo000000000001002

id External Certifica- string Yes


tions's ID

acquired_on Acquired on 2008-07- string


07T00:00:00.000+0530

expires_on Expires on string No

certification_lov Certification LOV OCP string Yes

certification_text Certification text string No

accredit- Accrediting body LOV Seed string Yes


ing_body_lov

accredit- Accrediting body text string No


ing_body_text
REST API Reference | People | 262

Name Description Sample Value Data Type Required?

domain Domain object No


{"id": "dom►
in000000000000001",
"name":
"world"}

customValues Custom Values string No


{
"custom0":
"c0",
"custom1": "c1",

"custom2":
"c2",
"custom3":
"c3",
"custom4":
"c4",
"custom5":
"c5",
"custom6":
"c6",
"custom7":
"c7",
"custom8":
"c8",
"custom9":
"c9"
}

displayName Display Name Test user string No

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9"
},
"id": "ppcer000000000006357",
"acquired_on": "2008-07-07T00:00:00.000+0000",
"expires_on": null,
"certification_lov": "OCP",
REST API Reference | People | 263

"certification_text": null,
"accrediting_body_lov": "Seed",
"accrediting_body_text": null
}

UPDATE IM PROFILE DETAILS OF A PERSON

Overview
Updates a person's IM Profile details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/imProfile/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/imProfile/:id

Calling Options
Table 60: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

id ID string Yes

isPreferred is Preferred false string No

person_id Person's ID per- string Yes


sn000000000001000

locale Locale object No


{"id": "loc►
al000000000000001",
"displayName":
"English"}

im_alias IM alias aliass string Yes

im_type IM type 2 string Yes


REST API Reference | People | 264

Name Description Sample Value Data Type Required?

displayName Display name string No

auditReason Audit Reason audit with reason string No

Request Body

{
"id": "emplo000000000002503",
"imProfile": [
{
"person_id": {
"id": "emplo000000000002503",
"displayName": null
},
"id": "prsim000000000001595",
"im_alias": "eee",
"im_type": "1",
"isPreferred": false
}
]
}

UPDATE INTERESTS DETAILS OF A PERSON

Overview
Update a person's interests details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/interests/:personId

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the Person's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>/interests/username%3D<UserName>?type={internal/external}

Calling Options
Table 61: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000
REST API Reference | People | 265

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

shortTermAspira- Short Term Aspira- string No


tions tions

longTermAspira- Long Term Aspira- string No


tions tions

Request Body

{
"shortTermAspirations": "",
"longTermAspirations": ""
}

UPDATE INTERNAL WORK HISTORY DETAILS OF A PERSON

Overview
Updates a person's internal work history details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/internalWorkHistory/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/internalWorkHistory/:id

Calling Options
Table 62: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID em- string Yes


plo000000000001002

id Internal work history's string Yes


ID
REST API Reference | People | 266

Name Description Sample Value Data Type Required?

location_id Location's ID Location1 object


locat000000000001000

manager_id Manager's ID string No

organization_id Organization's ID object No


{"id":
"cmpny000000000001650",
"displayName":
"Saba1"}

start_date Start date 2000-04- string No


10T18:00:37.000+0530

job_title Job title string No

job_type_id Job type's ID object No


{"id": "job►
tp000000000001622",
"displayName":
"Android De►
veloper"}

key_accomplish- Key accomplishments string No


ments
Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

end_date End date string No

additional_re- Additional responsibil- string No


sponsibilities ities
Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

domain Domain object No


{"id": "dom►
in000000000000001",
"name":
"world"}

displayName Display name Test user string No


REST API Reference | People | 267

Request Body

{
"additional_responsibilities": "",
"key_accomplishments": "",
"job_type_id": {
"id": "jobtp000000000001000",
"displayName": "Beta Tester"
},
"end_date": null,
"start_date": "2011-12-12T03:03:50.000-0500",
"job_title": null,
"location_id": {
"id": "locat000000000001000",
"displayName": "USA (North America)"
},
"manager_id": null,
"organization_id": {
"id": "cmpny000000000001000",
"displayName": "Saba"
},
"id": "ppiwh000000000001559",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

UPDATE EXTERNAL WORK HISTORY DETAILS OF A PERSON

Overview
Updates a person's external work history details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/externalWorkHistory/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/externalWorkHistory/:id
REST API Reference | People | 268

Calling Options
Table 63: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000002266

id External work his- string Yes


tory's ID

location Location Name Pune string No

start_date Start date 2000-04-10 string No

end_date End date 2011-04-10 string No

job_title Job title PreviousOrg string No

company_lov External company Testing Employer string No


name 4

securityDomain Security Domain string No

accomplish- Accomplishments string No


ments
Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

responsibilities Responsibilities string No


Note: This attribute is
deprecated. You may
continue to send val-
ues for the requests,
but they will be ig-
nored.

Request Body

{
"end_date": "2004-04-10",
"start_date": "2000-04-10",
"job_title": "testEmpHostory",
"company_lov": "Test Company 0001",
"responsibilities": "",
"accomplishments": "",
"location": "Mumbai",
"id": "ppewh000000000329231",
"securityDomain": {
"id": "domin000000000000001",
REST API Reference | People | 269

"displayName": "world"
}
}

UPDATE MOBILITY DETAILS OF A PERSON

Overview
Updates a person's mobility details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/mobility/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/mobility/:id

Calling Options
Table 64: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

id Mobility's ID string Yes

comments Comments commentss string No

assignment_type Assignment type Short term string Yes

avail_from Available from string Yes

location_id Location ID locat000000000200040 string Yes


REST API Reference | People | 270

Name Description Sample Value Data Type Required?

securityDomain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

Request Body

{
"mobility": [
{
"comments": null,
"assignment_type": "Short term",
"avail_from": "2014-08-19T00:00:00.000-0400",
"location_id": {
"id": "locat000000000001189",
"displayName": "23423434"
},
"id": "ppmob000000003063398",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}

UPDATE NETWORK INFO DETAILS OF A PERSON

Overview
Update a person's network info details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/networkInfo/:personId

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the Person's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>/networkInfo/username%3D<UserName>?type={internal/external}
REST API Reference | People | 271

Calling Options
Table 65: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

personId Person's ID per- string Yes


sn000000000001000

mentors Mentors string No

Request Body

{
"person": {
"id": "persn000000000001000",
"displayName": null
},
"mentors": []
}

UPDATE POTENTIAL POSITIONS DETAILS OF A PERSON

Overview
Updates a person's potential positions details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/potentialPositions/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/potentialPositions/:id
REST API Reference | People | 272

Calling Options
Table 66: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID em- string Yes


plo000000000001002

id Potential Position's ID string Yes

notes Notes test string string No

readiness Readiness Not Evaluated string Yes

job_type_id Job type's ID string Yes

securityDomain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

Request Body

{
"job_type_id": {
"id": "jobtp000000000001301",
"displayName": "job1"
},
"readiness": "Ready",
"notes": null,
"id": "pppos000000002300963",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}

UPDATE POTENTIAL RATING DETAILS OF A PERSON

Overview
Update a person's potential rating details.

Requires OAuth
No

Method
PUT
REST API Reference | People | 273

URL
https://<hostname-api.sabacloud.com>/v1/people/
:person_id/potentialRating/:id?upsert=:upsert

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/
username%3D<Username>/potentialRating/:id?type={internal/external}
&upsert=:upsert

Calling Options
Table 67: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Potential Rating's ID string Yes

potential Potential Undetermined string Yes

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

customValues Custom Values string No


REST API Reference | People | 274

Name Description Sample Value Data Type Required?

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.
Using upsert with sub
component is useful
only when the sub-
component ID is not
available i.e. use up-
sert only when per-
son_id is passed in-
stead of sub compon-
ent ID in the :id field.

Request Body

{
"potential": "Medium",
"id": "ppprt000000003012844",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

UPDATE RETIREMENT RISK DETAILS OF A PERSON

Overview
Update a person's retirement risk details.

Requires OAuth
No

Method
PUT
REST API Reference | People | 275

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/retirementRisk/:id?upsert=:upsert

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/
username%3D<Username>/retirementRisk/:id?type={internal/external}
&upsert=:upsert

Calling Options
Table 68: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID per- string Yes


sn000000000001000

id Retirement Risk's ID string Yes

retirementRisk Retirement Risk Undetermined string Yes

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.
Using upsert with sub
component is useful
only when the sub-
component ID is not
available i.e. use up-
sert only when per-
son_id is passed in-
stead of sub compon-
ent ID in the :id field.

Request Body

{
"retirement_risk":"Low",
"id":"pprtr000000001505691",
REST API Reference | People | 276

"customValues":{
"custom1":null,
"custom2":null,
"custom3":"test",
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
}

UPDATE Cornerstone SBX MEETING PROFILE DETAILS OF A


PERSON

Overview
Updates a person's Cornerstone SBX Meeting Profile details.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/centraProfile/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal
Cornerstone SBX Metting Profile's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<Username>/centraProfile/username%3D<Username>?type={internal/external}

Calling Options
Table 69: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Cornerstone SBX Met- pcntr000000000012452 string Yes


ting Profile's ID

nick_name Nick name CONE string No


REST API Reference | People | 277

Name Description Sample Value Data Type Required?

meeting_capa- Meeting capacity 25 string Yes


city

conf_call_num- Conference call num- string No


ber ber

conf_call_instruc- Conference call in- string No


tions structions

conf_call_host_code Conference call host string No


code

conf_call_ac- Conference call ac- string No


cess_code cess code

conf_call_alt_num- Conference call altern- string No


ber ate number

Request Body

{
"conf_call_alt_number": null,
"conf_call_access_code": null,
"conf_call_host_code": null,
"conf_call_instructions": "hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello hello
hello hello hello hello hell",
"conf_call_number": "11111111111111111111111",
"meeting_capacity": null,
"nick_name": "Ben Willis",
"id": "pcntr000000000001071"
}

UPDATE SECONDARY ADDRESS DETAILS OF A PERSON

Overview
Update a person's secondary address details.
Note: This action is only supported for an external user.

Requires OAuth
No

Method
PUT
REST API Reference | People | 278

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/secondaryAddress/:id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/secondaryAddress/:id

Calling Options
Table 70: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Secondary Address's string Yes


ID

addr1 Address 1 cl1baddress1 string Yes

addr2 Address 2 cl1baddress2 string Yes

addr3 Address 3 cl1baddress3 string Yes

city City cl1bcity string Yes

state State cl1bstate string Yes

country Country cl1bcountry string Yes

zip Zip cl1bzip string No

Request Body

{
"addr1": "cl1baddress1",
"addr2": "cl1baddress2",
"city": "cl1bcity",
"zip": "cl1bzip",
"addr3": "cl1baddress3",
"state": "cl1bstate",
"country": "cl1bcountry--ytest"
}

UPDATE CUSTOM SECTION OF A PERSON

Overview
Update a person's custom section details.
REST API Reference | People | 279

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/
:customSection/:id?upsert=:upsert

Calling Options
Table 71: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

customSection The actual custom customSection1 string Yes


section

id The above custom string Yes


section's ID

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.
Using upsert with sub
component is useful
only when the sub-
component ID is not
available i.e. use up-
sert only when per-
son_id is passed in-
stead of sub compon-
ent ID in the :id field.
REST API Reference | People | 280

Request Body

{
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"customValues":{
"custom0":"c0",
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom10":null,
"custom11":null,
"custom12":null,
"custom13":null,
"custom14":null,
"custom15":null,
"custom16":null,
"custom17":null,
"custom18":null,
"custom19":null
}
}

UPDATE CUSTOM SECTION OF A PERSON (WITHOUT PASSING


SECTION ID)

Overview
Update a person's custom section details without passing section ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/
:person_id/:customSection/:person_id?type=internal&upsert=:upsert

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Custom
Section's ID.
https://<hostname-api.sabacloud.com>/v1/people
REST API Reference | People | 281

/username=<userName>/:customSection/username=<userName>
?type=internal&upsert=:upsert
You can use a user-friendly URL which accepts person_no instead of the internal Custom
Section's ID.
https://<hostname-api.sabacloud.com>/v1/people/
person_no=<personNo>/:customSection/person_no=<personNo>
?type=internal&upsert=:upsert

Calling Options
Table 72: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

customSection The actual custom customSection1 string Yes


section

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "updated",
"custom1": "updated",
"custom2": "updated",
"custom3": "updated",
"custom4": "updated",
"custom5": "updated",
"custom6": "updated",
"custom7": "updated",
"custom8": "updated",
"custom9": "updated",
"custom10": "updated",
REST API Reference | People | 282

"custom11": "updated",
"custom12": "updated",
"custom13": "updated",
"custom14": "updated",
"custom15": "updated",
"custom16": "updated",
"custom17": "updated",
"custom18": "updated",
"custom19": "updated"
}
}

UPDATE AUDIENCE TYPES / AUDIENCE SUB TYPES ASSIGNED TO


A PERSON

Overview
Updates the audience types of a Person / Employee to the list sent as Input JSON. Any existing
Audience Types not part of the current list will be deleted and those not already present will
be added.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>

Calling Options
Table 73: Calling Options

Name Description Sample Value Data Type Required?

person_id Person / Employee ID per- string Yes


of person to whom sn000000000001000
Audience / Sub Audi-
ence Type is to be as-
signed
REST API Reference | People | 283

Name Description Sample Value Data Type Required?

audiencetypes List of Audience [{"displayName": object Yes


Types / Audience Sub "Audience Type 1",
Types to be assigned "id":
to a person "aude
i 000000000001165"},{"ds
i-
playName": "Audi-
ence Sub Type 1",
"id":
"seatc000000000001165"}]

Request Body

{
"audiencetypes": [
{"id":"audie000000000001105"},
{"id":"audie000000000001106"}
]
}

Request Body (Using lookup)

{
"audiencetypes": [
{"displayName": "Contractors"},
{"displayName": "Engineering"}
]
}

Return Values

{
"facets": [],
"results": [
{
"name": "0123",
"id": "audie000000000002562",
"href":
"https://<hostname-api.sabacloud.com>/v1/audiencetypes/audie000000000002562"
},
{
"name": "1AT",
"id": "audie000000000001747",
"href":
"https://<hostname-api.sabacloud.com>/v1/audiencetypes/audie000000000001747"
},
],
"totalResults": 10,
"startIndex": 1,
"itemsPerPage": 10,
"hasMoreResults": false
}
REST API Reference | People | 284

UPDATE A PERSON'S GRID CUSTOM SECTION DETAILS

Overview
Updates the Grid Custom Sections of a person based on the Person's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/:gridCustomSectionNo/:id

Calling Options
Table 74: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Grid Custom Section pgc- string Yes


row ID sa000000000001001

gridCustomSec- Grid Custom Section gridCustomSec- string Yes


tionNo No tion1

securityDomain Security Domain {"id": "dom- string No


n
i 000000000000001",name":
"world"}

customValues Custom Values string No

name Unique ID or Name string No

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "updated",
"custom1": "updated",
"custom2": "updated",
"custom3": "updated",
"custom4": "updated",
"custom5": "updated",
REST API Reference | People | 285

"custom6": "updated",
"custom7": "updated",
"custom8": "updated",
"custom9": "updated"
},

"name": "gridCustomSectionRow2"
}

UPDATE A PERSON'S GRID CUSTOM SECTION DETAILS (PERSON


LOOKUP SUPPORTED)

Overview
Updates the Grid Custom Section Details of a person.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/username=:username/:gridCustomSectionNo
/:id?type=:type

URL (User-friendly)
You can use a user-friendly URL which accepts uniqueid - which is case sensitive (i.e. the
name field for grid custom section's GET, PUT, DELETE calls) instead of the internal row ID.
https://<hostname-api.sabacloud.com>/v1/people/person_no=<personNo>/:gridCustomSectionNo/<uniqueid>?type=:type
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/:gridCustomSectionNo/:id?type=:type
You can use a user-friendly URL which accepts person_no instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/person_no=<personNo>/:gridCustomSectionNo/:id?type=:type

Calling Options
Table 75: Calling Options

Name Description Sample Value Data Type Required?

username Username of the per- cone string Yes


son
REST API Reference | People | 286

Name Description Sample Value Data Type Required?

type The person type external Yes


"enumerated",
"Enumer-
atedList": [
"internal",
"external"
]

securityDomain Security Domain {"id": "dom- string No


n
i 000000000000001",name":
"world"}

customValues Custom Values string No

gridCustomSec- Grid Custom Section gridCustomSec- string Yes


tionNo No tion1

name Unique ID or Name string No

id Grid Custom Section pgc- string Yes


row ID sa000000000001001

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "updated",
"custom1": "updated",
"custom2": "updated",
"custom3": "updated",
"custom4": "updated",
"custom5": "updated",
"custom6": "updated",
"custom7": "updated",
"custom8": "updated",
"custom9": "updated"
},

"name": "gridCustomSectionRow2"
}

UPDATE TALENT DATA OF A PERSON

Overview
Updates the talent data of a person based on the Person's ID.

Requires OAuth
No
REST API Reference | People | 287

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/
talentData/:id?upsert=:upsert

Calling Options
Table 76: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id TalentData's ID pptdt000000000024502 string Yes

criticalPerson Values can be: NotCritical string No


• IsCritical
• NotCritical
• Undetermined

nbox_plot- NBOX PLOTTING FIELD string No


ting_field_1 1

nbox_plot- NBOX PLOTTING FIELD string No


ting_field_2 2

nbox_plot- NBOX PLOTTING FIELD string No


ting_field_3 3

nbox_plot- NBOX PLOTTING FIELD string No


ting_field_4 4

nbox_plot- NBOX PLOTTING FIELD string No


ting_field_5 5

potentialLevel Potential Level string No

genReadiness General Readiness. {"id":


You can provide the "rdins000000000000001",
exact value for "id" or "name": "Ready
provide a value "dis- Now"}
playName".

securityDomain Security Domain {"id": "dom-


in000000000000001",
"name": "world"}

customValues Custom Values


REST API Reference | People | 288

Name Description Sample Value Data Type Required?

upsert UPSERT boolean flag. false string No


If set to true, an UP-
SERT operation will be
performed - If an
entry does not exists
then a new entry will
be created.
If you use the UPSERT
action and an entry is
created then the re-
sponse code for that
update API will be 201
instead of 204.
Using upsert with sub
component is useful
only when the sub-
component ID is not
available i.e. use up-
sert only when per-
son_id is passed in-
stead of sub compon-
ent ID in the :id field.

Request Body

{
"customValues": {
"custom0": "test001",
"custom1": "Manager",
"custom2": "test 1",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": null
},
"potentialLevel": "Manager",
"genReadiness": {
"id": "rdins000000000000001",
"displayName": "Ready Now"
},
"criticalPerson": "NotCritical",
"nbox_plotting_field_1": "Undetermined",
"nbox_plotting_field_2": "Undetermined",
"nbox_plotting_field_3": "Undetermined",
"nbox_plotting_field_4": "Undetermined",
"nbox_plotting_field_5": "Undetermined"
}
REST API Reference | People | 289

REMOVE/UPDATE JOB / SECURITY ROLES OF A PERSON

Overview
Remove/Update a person's job / security roles.
Note: Invoking this service removes all the existing roles of that person and assigns the new
roles provided in Input JSON (Request Body).
The existing job/security roles are not affected, in case you do not provide any job/security
roles in the Input JSON.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>

Calling Options
Table 77: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

Request Body

{
"securityRoles": [
{
"name": "Objectives Administrator",
"id": "cpriv000000000000111",
"description": "Grants access to all functionality for Organization Owner in the
Cornerstone SBX ",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Super User",
"id": "cpriv000000000000100",
REST API Reference | People | 290

"description": "Grants access to all functionality in Cornerstone SBX",


"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Internal Manager Privileges",
"id": "cpriv000000000000114",
"description": "Privileges assigned to Internal Manager",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Common Privileges in world domain",
"id": "cpriv000000000000117",
"description": "Grants access to all Common Privileges in world domain",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Report Privileges in world domain",
"id": "cpriv000000000001061",
"description": "Execute Privilege to All Reports in world domain",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Social User Role",
"id": "cpriv000000000003017",
"description": "",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "Social"
}
}
],"requiredJobRoles": [
{
"name": "Engineer Role 1",
"id": "roles000000000001140"
}
],"optionalJobRoles": [
{
"name": "Engineer Role 1",
"id": "roles000000000001062"
}
]
}

UPDATE TEAM DETAILS OF A PERSON

Overview
Update a person's team details.
REST API Reference | People | 291

Note: This API does not support partial update.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/teamInfo/:personId

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the Person's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>/teamInfo/username%3D<UserName>?type={internal/external}

Calling Options
Table 78: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

personId Person's ID per- string Yes


sn000000000001000

alternateMan- Alternate Managers string No


agers

directReports Direct Reports string No

alternateReports Alternate Reports string No

Request Body

{
"person": {
"id": "persn000000000001000",
"displayName": "Ben Willis"
},
"directReports": [
{
"id": "persn000000000001066",
"displayName": "Sandeep Thorat"
},
{
"id": "persn000000000001016",
"displayName": "Ryan Vesely"
},
{
"id": "persn000000000001180",
"displayName": "sejal parekh"
REST API Reference | People | 292

},
{
"id": "persn000000000001546",
"displayName": "pooja_jp khanvilkar_jp"
},
{
"id": "persn000000000019311",
"displayName": "shailesh 22"
},
{
"id": "persn000000000005514",
"displayName": "aparna jadhav"
},
{
"id": "persn000000000006026",
"displayName": "fname lname"
},
{
"id": "persn000000000007278",
"displayName": "Agreema Sharma"
},
{
"id": "persn000000000002041",
"displayName": "1Ja1yesh 1Thakkar"
}
],
"peers": [
{
"id": "persn000000000001234",
"displayName": "Vishnu Peddawad"
},
{
"id": "persn000000000014135",
"displayName": "rest4 user4"
},
{
"id": "persn000000000014136",
"displayName": "rest5 user5"
},
{
"id": "persn000000000001130",
"displayName": "Vinayak Vidhate"
},
{
"id": "persn000000000001166",
"displayName": "Shailesh Khare"
},
{
"id": "persn000000000001169",
"displayName": "Bijal Sanghavi"
},
{
"id": "persn000000000001139",
"displayName": "Vishwas Jagetiya"
},
{
"id": "persn000000000001276",
"displayName": "Chetan Salunkhe"
},
{
"id": "persn000000000014134",
"displayName": "rest3 user3"
REST API Reference | People | 293

},
{
"id": "persn000000000001070",
"displayName": "Gautam Wahi"
},
{
"id": "persn000000000011876",
"displayName": "rest2 user2"
},
{
"id": "persn000000000011875",
"displayName": "rest1 user1"
},
{
"id": "persn000000000001217",
"displayName": "Vijay1 Nanekar1"
},
{
"id": "persn000000000001000",
"displayName": "Ben Willis"
}
],
"alternateReports": [
{
"id": "persn000000000001183",
"displayName": "Aditya Menon"
},
{
"id": "persn000000000023211",
"displayName": "password password"
}
],
"alternateManagers": [
{
"id": "persn000000000001261",
"displayName": "Aarti Parihar"
}
]
}

MARK CURRENCY ACTIVE/INACTIVE

Overview
Updates the account currency of the Person.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/currencyList/:currencyId
REST API Reference | People | 294

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/currencyList/:currencyId

Calling Options
Table 79: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID string Yes

currencyId Currency ID of the string Yes


currency to be up-
dated

active Set the currency to true string Yes


active/inactive

Request Body

{
"active": false
}

MERGE PERSON'S PROFILE

Overview
When a learner moves from one external organization to another, there is a need to move
history of completed learning elements. This API merges a peron's profile.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/action/merge

Calling Options
Table 80: Calling Options

Name Description Sample Value Data Type Required?

personId Primary Person / Em- per- string Yes


ployee's ID sn000000000001000
REST API Reference | People | 295

Name Description Sample Value Data Type Required?

@type Input JSON class com.saba.rest.busi- string Yes


name nesscomponent
.dto.Profile-
MergeDTO

secondaryPer- Secondary Person / em- string Yes


sonId Employee's ID plo000000000201009

secPerson- Secondary person's Terminated string No


StatusAfter- status after merge
Merge

isMergeSecuri- Whether to merge Se- true string Yes


tyChecked curity Roles or not

isrecalculate- Whether to recalcu- true string Yes


CompStatusChecked late completion status
for Certifications/Cur-
riculum or not

isMergeVcAnd- Whether to merge true string Yes


Blended- Virtual and Blended
ClassChecked class Transcripts or
not

isMergeAudience- Whether to merge false string Yes


TypeChecked Audience Type or not

isSwapPerson- Whether to swap Per- false string Yes


NumberChecked son No or not

isMergeDirectRe- Whether to merge false string Yes


portsChecked Direct Reports or not

Request Body

{
"@type": "com.saba.rest.businesscomponent.dto.ProfileMergeDTO",
"secondaryPersonId": "emplo000000000200928",
"secPersonStatusAfterMerge":"Terminated",
"isMergeSecurityChecked":false,
"isMergeVcAndBlendedClassChecked":false,
"isrecalculateCompStatusChecked":false,
"isMergeAudienceTypeChecked":false,
"isSwapPersonNumberChecked":false,
"isMergeDirectReportsChecked":false
}

Return Values

{
"href":
REST API Reference | People | 296

"http://<hostname-api.sabacloud.com>/v1/common/profile/emplo000000000200874/resource"
}

UPDATE A PERSON'S PROFILE PIC

Overview
Updates the profile picture of a person based on the Person's ID or username using
multipart/form-data as the content-type.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:person_id/profilePic

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<Username>/profilePic?type={internal/external}

Content-type
Multipart/form-data
Note:
The supported file types for upload are: .jpg of .gif. A file needs to be passed and the file size
should be less than Picture size specified Web variables.

Calling Options
Table 81: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

file key / value file Yes


file: picture-
file.jpg
REST API Reference | People | 297

ASSESS PERSON'S COMPETENCY

Overview
Assesses a person's competency.
Note: This API does not allow assessing a competency which is not assigned to a learner.
To assign a competency to a person as a required competency and then assess the
competency to solve the problem, use the Assign_And_Assess action.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:person_id/competency

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<Username>/competency

Calling Options
Table 82: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID persn000000000001000 string Yes

comments Comment text string No


REST API Reference | People | 298

Name Description Sample Value Data Type Required?

behaviorIndicat- Behavioral indic- string No


[
ors ators
{
"competencyLevelValue":"4",
"comments":"",
"competencyEvidenceLevel":{
"id":"",
"display-
Name":"24650054_method1"
}
},
{
"competencyLevelValue":"7",
"comments":"",
"competencyEvidenceLevel":{
"id":"",
"display-
Name":"24650054_method2"
}
}
]

heldLevel Held Level {"value":5} string No

competency Competency string Yes


{
"id":"compt000000000001327",
"displayName":"English Skill"
}

library Competency lib- string No


{
rary
"id":"cplib000000000000001",
"displayName":"Company
Skills"
}
REST API Reference | People | 299

Name Description Sample Value Data Type Required?

action Action, can be Assess string No


one of the follow-
ing:
• As-
sign_And_As-
sess - This ac-
tion will first
assign a com-
petency to a
person as a
required
competency
and then as-
sess the com-
petency to
solve the
problem.
Note: re-
quiredLevel
becomes
mandatory
for this ac-
tion.
• Assess - This
action will as-
sess the com-
petency to
solve the
problem.

requiredLevel Required level string No

Request Body (Behavioural Level)

{
"comments":"test commmentsss",
"behaviorIndicators":[
{
"competencyEvidenceLevel":{
"id":"",
"displayName":"bi1"
},
"competencyLevelValue":1,
"comments":"",
"weight":10
},
{
"competencyEvidenceLevel":{
"id":"cpevi000000000001305"
},
"competencyLevelValue":3,
"comments":"",
REST API Reference | People | 300

"weight":11
}
],
"library":{
"id":"",
"displayName":"Company Skills"
},
"competency":{
"id":"compt000000000001467",
"displayName":"24650054"
},
"requiredLevel": {
"name": "Average",
"value": 4
},
"action":"Assess"
}

Request Body (Proficiency Level)

{
"comments":"cricket skill comment text",
"competency":{
"id":"",
"displayName":"hk_skill_11_10_2"
},
"library":{
"id":"",
"displayName":"Company Skills"
},
"heldLevel": {
"value":6
},
"action":"Assign_And_Assess",
"requiredLevel": {
"name": "Average",
"value": 3
}
}

DELETE Methods
REST endpoints for the People data.

DELETE A SPECIFIC COMPONENT FROM A PERSON

Overview
Deletes a person's particular component based on the Person's ID.

Method
DELETE
REST API Reference | People | 301

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/:component_name/:component_id

URL (User-friendly)
You can use a user-friendly URL which accepts uniqueID instead of the internal Person's ID.
https://<hostname-api.sabacloud.com>/v1/people/person_no=<personNo>/:component_name/<uniqueID>?type=:type
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/:component_name/:component_id?type=:type
You can use a user-friendly URL which accepts person_no instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/person_no=<personNo>/:component_name/:component_id?type=:type

Calling Options
Table 83: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

compon- Indicate a single com- flightRisk string Yes


ent_name ponent that you in-
tend to delete:
flightRisk,socialPro-
file,transcripts,extern-
alWorkHistory,in-
terests,competencies,
centraProfile,educa-
tion,coreProfile,lan-
guages,teamInfo,im-
Profile,customSec-
tion1, customSec-
tion3,careerInt-
erests,customSec-
tion2, externalCertific-
ations,mobility,net-
workInfo,potentialRat-
ing, gridCustomSec-
tion<No>]

component_id Component's ID string Yes


REST API Reference | People | 302

DELETE A SECURITY ROLE FROM A PERSON

Overview
Deletes a person's security role based on the Employee's ID.
Note: This API does not support criteria based security role deletion.

Method
DELETE

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:empid/securityRole/:secroleid/:domainId

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/securityRole/:secroleid
/:domainId

Calling Options
Table 84: Calling Options

Name Description Sample Value Data Type Required?

empid Employee's ID em- string Yes


plo000000000207770

secroleid Security Role's ID cpriv000000000000114 string Yes

domainId Domain ID of the se- dom- string Yes


curity role in000000000000001

DELETE A REQUIRED JOB ROLE FROM A PERSON

Overview
Deletes a person's required job role based on the Person's ID.

Method
DELETE
REST API Reference | People | 303

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:personid/requiredjobrole/:jobid

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/requiredjobrole/:jobid

Calling Options
Table 85: Calling Options

Name Description Sample Value Data Type Required?

personid Person's ID per- string Yes


sn000000000200151

jobid Job Role's ID roles000000000001060 string Yes

DELETE AN OPTIONAL JOB ROLE FROM A PERSON

Overview
Deletes a person's optional job role based on the Person's ID.

Method
DELETE

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:personid/optionaljobrole/:jobid

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/optionaljobrole/:jobid
REST API Reference | People | 304

Calling Options
Table 86: Calling Options

Name Description Sample Value Data Type Required?

personid Person's ID per- string Yes


sn000000000200151

jobid Job Role's ID roles000000000001060 string Yes

DELETE AN AUDIENCE TYPE / AUDIENCE SUB TYPES ASSIGNED


TO A PERSON

Overview
Deletes an Audience Type / Audience Sub Types assigned to a Person

Method
DELETE

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/audiencetype/{audId}

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/audiencetype/{audId}

Calling Options
Table 87: Calling Options

Name Description Sample Value Data Type Required?

personid Person / Employee ID per- string Yes


whose Audience Type sn000000000200151
/ Audience Sub Type
is to be removed.

audId Audience Type / Audi- string Yes


ence Sub Type that is
to be removed.
REST API Reference | People | 305

DELETE PERSON'S QUALIFIED LEARNING INFORMATION

Overview
Delete a person's qualified learning details.

Method
DELETE

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/qualifiedlearning/:courseId/:deliveryTypeId

Calling Options
Table 88: Calling Options

Name Description Sample Value Data Type Required?

personId Person / Employee's string Yes


ID whose qualified
learning details need
to be deleted

courseId Course ID of the quali- string Yes


fied learning that
needs to be deleted

deliveryTypeId Delivery Type ID of the string Yes


qualified learning that
needs to be deleted

Return Values

{
status: "successful"
}

DELETE PERSON'S RATE INFORMATION

Overview
Deletes a person's rate details.

Method
DELETE
REST API Reference | People | 306

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/rate/:currencyId

Calling Options
Table 89: Calling Options

Name Description Sample Value Data Type Required?

personId Person / Employee's string Yes


ID whose rate details
need to be deleted

currencyId Currency ID of the string Yes


rate that needs to be
deleted

Return Values

{
status: "successful"
}

DELETE PERSON'S SPOKEN LANGUAGE INFORMATION

Overview
Deletes a person's spoken language details.

Method
DELETE

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/languagespoken/:languageId
REST API Reference | People | 307

Calling Options
Table 90: Calling Options

Name Description Sample Value Data Type Required?

personId Person / Employee's string Yes


ID whose language
details need to be de-
leted

languageId Language ID that string Yes


needs to be deleted

Return Values

{
status: "successful"
}

DELETE PERSON'S CURRENCY

Overview
Delete a currency from the associated currency list of a particular person.

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/currencyList/:currencyId

Calling Options
Table 91: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID string Yes

currencyId Currency ID of the string Yes


currency to be de-
leted

DELETE PERSON'S INTERNAL WORK HISTORY DETAILS

Overview
Deletes the internal work history details of a particular person.
REST API Reference | People | 308

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/common/profile
/:personId/action/deleteworkhistory

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/
username=<userName>/action/deleteworkhistory

Calling Options
Table 92: Calling Options

Name Description Sample Value Data Type Required?

personId Person ID of the per- string Yes


son to be deleted

DELETE PERSON'S CURRENCY BASED ON CURRENCY ISOCODE


LOOKUP

Overview
Deletes a currency from the associated currency list of a particular person based on currency
isocode lookup.

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/currencyList/name=:isoCode

URL (User-friendly)
You can use a user-friendly URL which accepts username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/people/username=<userName>/currencyList/name=:isoCode
REST API Reference | People | 309

Calling Options
Table 93: Calling Options

Name Description Sample Value Data Type Required?

personId Person's ID string Yes

isoCode ISO code of the cur- string Yes


rency

PURGE PERSON'S PROFILE

Overview
Purges a terminated person's profile.
Note: After a terminated person is purged, that person's records will not be visible in any
search results.

Method
DELETE

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:personId/action/purge

Calling Options
Table 94: Calling Options

Name Description Sample Value Data Type Required?

personId Person / Employee's string Yes


ID whose profile de-
tails need to be
purged

Return Values

204

CANCEL ALL ENROLLMENTS OF A LEARNER

Overview
Cancels all the enrollments of a learner.
REST API Reference | People | 310

Requires OAuth
No

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/common/profile/learner/:learnerId/enrollments?action=:action&applyCharge=:applyCharge
Example:
http://<hostname-api.sabacloud.com>/v1/common/profile/learner/persn000000000001041/enrollments?action=cancel&applyCharge=true

Calling Options
Table 95: Calling Options

Name Description Sample Value Data Type Required?

learnerId Learner's ID whose per- string Yes


enrollments will be sn000000000001041
cancelled

action Action for the enroll- cancel string Yes


ments

applyCharge Whether to apply true boolean No


charge or not

STOP FOLLOWING A PERSON

Overview
Stop following a person.
Note: It is the logged in user who starts/stops following. An admin cannot make someone
start/stop following others.

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/follows/:personId

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/follows/username%3D<UserName>?type={internal/external}
REST API Reference | People | 311

Calling Options
Table 96: Calling Options

Name Description Sample Value Data Type Required?

personId Person Id em- string Yes


plo000000000001026

Note: If the logged in user is not following the specified user then an error message is
returned:

{
"errorMessage": "emplo000000000001000 is not following emplo000000000001026"
}

DELETE A PERSON'S PROFILE PIC

Overview
Deletes the profile picture of a person based on the Person's ID or username.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/common/profile/:person_id/profilePic

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal Person's
ID.
https://<hostname-api.sabacloud.com>/v1/common/profile/username%3D<Username>/profilePic
?type={internal/external}

Calling Options
Table 97: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000
Chapter

6
Common

Topics: REST endpoints for the common data.

• Retrieve all privileges for a


component
• Retrieve all privileges for a
component in the given
domain
• Retrieve specific privileges
for a component in the given
domain
REST API Reference | Common | 314

Retrieve all privileges for a component


To extract all the privileges the user has for a particular component invoke the following URL
using the GET method:
https://<hostname-api.sabacloud.com>/v1/<component_name>/meta/privileges
Output:

{ "privileges" : [ {
"name" : "view",
"sequence" : "6"
}]
}

For example, to extract all the privileges for the people (internal) component:
https://<hostname-api.sabacloud.com>/v1/people/meta/privileges?type=internal

Retrieve all privileges for a component in the given


domain
To extract all the privileges the user has for a particular component in the given domain
invoke the following URL using the GET method:
https://<hostname-api.sabacloud.com>/v1/<component_name>/meta/privileges?domain=<domain_id>
Output:

{ "privileges" : [ {
"granted" : "true",
"name" : "view",
"sequence" : "6"
}]
}

For example, to extract all the privileges for the people (internal) component in the domain
domin000000000000001:
https://<hostname-api.sabacloud.com>/v1/people/meta/privileges?type=internal&domain=domin000000000000001

Retrieve specific privileges for a component in the


given domain
To extract only specific privileges the user has for a particular component in the given domain
invoke the following URL using the GET method:
REST API Reference | Common | 315

https://<hostname-api.sabacloud.com>/v1/<component_name>/meta/privileges:(<priv_sequence1>,<priv_sequence2..>)?domain=<domain_id>
Output:

{ "privileges" : [ {
"granted" : "true",
"name" : "view",
"sequence" : "6"
}]
}

For example, to extract the privileges 1,2,7 for the people (internal) component in the domain
domin00000000000000:
https://<hostname-api.sabacloud.com>/v1/people/meta/privileges:(1,2,7)?type=internal&domain=domin00000000000000
Chapter

7
Foundation

Topics: REST endpoints for the Foundation data.

• Common
• Attachment
• Audience Type
• Sub Audience Type
• Competency
• Country
• Language
• Locales
• State
• Currency
• Currency Exchange Rate
• Facility
• Job Type
• Job Family
• List Value
• Location
• Organization
• Positions
• Roles
• Note
• Security Roles
• Security Domain
• Smart List
• Timezone
REST API Reference | Foundation | 318

Common
REST endpoints for the Foundation data.

GLOBAL SEARCH

Overview
This API is very similar to the global search functionality available on UI. It helps locating
resources in Cornerstone SBX and returns result details similar to those on UI based on the
resource type.
Note: The maximum page size will be restricted to 100 records. At max 500 records can be
fetched using this API.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/globalsearch?count=<count>&startpage=<startpage>

Calling Options
Table 98: Calling Options

Name Description Sample Value Data Type Required?

searchText Required in case test string Yes


searchContext is set
as ALL

searchContext Name of resource LEARNINGEVENT string Yes


type for which search
needs to be per-
formed. Possible val-
ues are listed in the
Possible values of
search context attrib-
ute table below.
REST API Reference | Foundation | 319

Name Description Sample Value Data Type Required?

learningEvent- Used for learning CERTIFICATION string No


Type catalog advance
search. Possible value
are listed in the Pos-
sible values of learn-
ing event type attrib-
ute table below.

deliveryType Used for learning object No


{"d
i ":eqcat000000000000014",
catalog advance
search. "display-
Name":"blended"}

startDate Used for learning 2015-10- string No


catalog advance 10THH:mm:ssZ
search.
Note: The startDate
condition fetches res-
ults in the month from
the provided date.

offeringDate Used for learning 2015-10- string No


catalog advance 10THH:mm:ssZ
search.
Note: The offering-
Date condition only
fetches results for 30
days from the
provided date.

location Used for learning object No


[{"id":locat000000000200100",
catalog / job requisi-
tion advance search. "display-
Name":"loca-
tion1"}]

category Used for learning object No


[{"id":categ000000000001001",
catalog / social object
search as advance fil- "display-
ter. Name":"cat-
egory1"}]

tag Used for learning tag1 string No


catalog / social object
search as advance fil-
ter.
REST API Reference | Foundation | 320

Name Description Sample Value Data Type Required?

owner Used for learning [{"id":"em- object No


catalog / social object plo000000000200100",
search as advance fil- "display-
ter. Name":"user1"}]

sortBy Used for sorting res- AlphaAZ string No


ult. Possible values
are listed in the Pos-
sible value of sort by
attribute table below.

Possible values of search context attribute

Possible value UI field Name

ALL All

BLOGS Blogs

BOOKMARKLIST Bookmarks

CENTRAEVENT Meetings

CHANNELS Video Channels

VIDEOCONTENT Videos

DISCUSSIONMESSAGE Discussions

EVENT Conferences

FILE Files

GROUP Groups

IDEA Ideas

ISSUE Issues

URL Links

PAGE Pages

JOBREQUISITION Job Openings

LEARNINGEVENT Learning Catalog

SUBSCRIPTION Subscription

PERSON People

Possible values of learning event type attribute


REST API Reference | Foundation | 321

Possible value UI field Name

CURRICULUM Course

CERTIFICATION Certification

COURSE Curriculum

OFFERING Offering / Class


Note: The "Offering" event type will return
the same resultset as Course.

PACKAGE Package

Possible value of sort by attribute

Possible value UI field Name

RatingHighToLow RatingHighToLow

RatingLowToHigh RatingLowToHigh

RecentlyAdded RecentlyAdded

RecentlyModified RecentlyModified

AlphaAZ AlphaAZ

AlphaZA AlphaZA

MostCommented MostCommented

MostShared MostShared

Note:
The default sort value will be Relevance.

Request Body

{
"searchText": "test",
"searchContext": "LEARNINGEVENT",
"learningEventType": "CERTIFICATION ",
"deliveryType": {"id":"eqcat000000000000014","displayName":"blended"},
"startDate": "2015-10-10THH:mm:ssZ",
"location": [{"id":"locat000000000200100","displayName":"location1"}],
"category": [{"id":"categ000000000001001","displayName":"category1"}],
"tag": ["tag1","tag2"],
"owner": [{"id":"emplo000000000200100","displayName":"user1"}],
"sortBy":"AlphaAZ"
}
REST API Reference | Foundation | 322

Return Values

{
"hasMoreResults":true,
"itemsPerPage":2,
"results":[
{
"displayName":"Multiple Classes 2",
"rating":"0.0",
"description":"Multiple Classes with delivery type Blended.",
"id":"cours000000000037525",
"href":"https://<hostname-api.sabacloud.com>/v1/course/cours000000000037525",
"type":"COURSE"
},
{
"displayName":"test1",
"rating":"0.0",
"description":null,
"id":"cours000000000004147",
"href":"https://<hostname-api.sabacloud.com>/v1/course/cours000000000004147",
"type":"COURSE"
}
]
}

Note:
The href attribute in the output JSON will be populated for the below listed objects. For rest
of object it's value will be null:
• IDEA
• ISSUE
• FILE
• BOOKMARKLIST
• GROUP
• DISCUSSIONMESSAGE
• PERSON
• OFFERING
• CERTIFICATION
• COURSE
• CURRICULUM
• SUBSCRIPTION
• JOBREQUISITION

Attachment
REST endpoints for the Foundation data.
REST API Reference | Foundation | 323

FIND DETAILS OF ATTACHMENT FOR A GIVEN ID

Overview
Returns the details of the attachments along with the IDs. You can filter the results using the
attachment's reference ID.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attachments/attachment/:id/detail
Note:
This API does not support retrieving additional details using Field Selectors.

Calling Options
Table 99: Calling Options

Name Description Sample Value Data Type Required?

id Attachment's ID not- string Yes


dc000000000203149

Return Values

{
@type:"com.saba.attachment.AttachmentDetail",
updateMetadata:{
@type:"com.saba.ejb.UpdateMetadata",
timestamp:"1964933312",
locale:{
@type:"loclref",
id:"local000000000000001",
displayName:"English"
},
primaryKey:{
@type:"com.saba.persist.ObjectId",
id:"notdc000000000016856",
prefix:"notdc"
}
},
displayName:null,
headerDetail:{
@type:"com.saba.attachment.AttachmentHeaderDetail",
updateMetadata:{
@type:"com.saba.ejb.UpdateMetadata",
timestamp:"1964933312",
locale:{
REST API Reference | Foundation | 324

@type:"loclref",
id:"local000000000000001",
displayName:"English"
},
primaryKey:{
@type:"com.saba.persist.ObjectId",
id:"ntdch000000000012143",
prefix:"ntdch"
}
},
displayName:null,
componentName:"AttachmentHeader",
docType:"Promotions",
private:false,
attachmentHeader:{
@type:"com.sun.proxy.$Proxy1421",
id:"ntdch000000000012143",
primaryKey:{
@type:"com.saba.persist.ObjectId",
id:"ntdch000000000012143",
prefix:"ntdch"
},
referenceInterface:"com.saba.attachment.AttachmentHeader",
displayName:"nonn",
locale:{
@type:"loclref",
id:"local000000000000001",
displayName:"English"
}
},
attachmentDetails:[
"java.util.ArrayList",
[

]
],
id:"ntdch000000000012143",
owner:{
@type:"LocationReference",
id:"locat000000000001140",
displayName:null,
primaryKey:{
@type:"com.saba.persist.ObjectId",
id:"locat000000000001140",
prefix:"locat"
}
},
description:"nonn",
primaryKey:{
@type:"com.saba.persist.ObjectId",
id:"ntdch000000000012143",
prefix:"ntdch"
},
locale:{
@type:"loclref",
id:"local000000000000001",
displayName:"English"
},
auditReason:"audit with reason"
},
url:null,
attachType:"application/octet-stream",
REST API Reference | Foundation | 325

auditDetail:{
@type:"com.saba.ejb.AuditDetailImpl",
createdId:"emplo000000000009725",
createdBy:"uone",
updatedBy:"uone",
createdOn:{
@type:"com.saba.customtypes.DateWithLocale",
date:1519208306000,
locale:"2018/02/21",
timeInLocale:"10:18 AM",
dateInUserTimeZone:"2018/02/21",
timeInUserTimeZone:"3:48 PM",
dateInCustomTimeZone:null,
timeInCustomTimeZone:null,
customTimeZoneDate:0,
timeInStandardFormat:"10:18 AM",
dateInStandardFormat:"02/21/2018"
},
updatedOn:{
@type:"com.saba.customtypes.DateWithLocale",
date:1519208306000,
locale:"2018/02/21",
timeInLocale:"10:18 AM",
dateInUserTimeZone:"2018/02/21",
timeInUserTimeZone:"3:48 PM",
dateInCustomTimeZone:null,
timeInCustomTimeZone:null,
customTimeZoneDate:0,
timeInStandardFormat:"10:18 AM",
dateInStandardFormat:"02/21/2018"
}
},
componentName:"Attachment",
docType:".java",

encryptedAttachId:".-.784FF98801645069AA92640B375E470AF5C171F8CB43DBF228CFB53EE0C7FCF7-.-",

id:"notdc000000000016856",
description:"BaseRestTest",
locale:{
@type:"loclref",
id:"local000000000000008",
displayName:"English (United Kingdom)"
},
attachment:{
@type:"com.sun.proxy.$Proxy1422",
id:"notdc000000000016856",
primaryKey:{
@type:"com.saba.persist.ObjectId",
id:"notdc000000000016856",
prefix:"notdc"
},
referenceInterface:"com.saba.attachment.Attachment",
displayName:null,
locale:{
@type:"loclref",
id:"local000000000000001",
displayName:"English"
}
},
primaryKey:{
@type:"com.saba.persist.ObjectId",
REST API Reference | Foundation | 326

id:"notdc000000000016856",
prefix:"notdc"
},
auditReason:"audit with reason"
}

GET ACTUAL CONTENT OF AN ATTACHMENT

Overview
Returns the contents of the attachment based on the Attachment's ID.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attachments/attachment/:id

Calling Options
Table 100: Calling Options

Name Description Sample Value Data Type Required?

id Attachment's ID not- string Yes


dc000000000203149

Return Values

Renders the content of the actual attachment.

FIND ALL ATTACHMENTS

Overview
Returns all attachments for a given owner ID.

Requires OAuth
No

Method
GET
REST API Reference | Foundation | 327

URL
https://<hostname-api.sabacloud.com>/v1/attachments?ownerName=:ownerName&ownerId=:ownerId

Calling Options
Table 101: Calling Options

Name Description Sample Value Data Type Required?

ownerId Reference's ID of the locat000000000200040 string Yes


attachment

ownerName Component Name of location string No


Owner

Note: The startPage and count parameters are not listed here since this REST Web service
does not support pagination.

Return Values

[
"list",
[
{
"@type": "com.saba.rest.dto.AttachmentDTO",
"id": "notdc000000000203268",
"file-name": "Map",
"locale": {
"@type": "com.saba.rest.dto.LocaleDTO",
"name": "English",
"id": "local000000000000001"
},
"category": "Map",
"mime-type": "text/html",
"owner-id": "pordr000000000200182",
"url": "www.saba.com",
"audit-reason": null,
"is-private": false,
"is-url": true,
"attachment-name": "RESTAttaTest101"
},
{
"@type": "com.saba.rest.dto.AttachmentDTO",
"id": "notdc000000000203269",
"file-name": "Setup",
"locale": {
"@type": "com.saba.rest.dto.LocaleDTO",
"name": "English",
"id": "local000000000000001"
},
"category": "Setup",
"mime-type": "text/html",
"owner-id": "pordr000000000200182",
"url": "www.google.com",
"audit-reason": null,
"is-private": true,
"is-url": true,
"attachment-name": "RESTAttaTest102"
}
REST API Reference | Foundation | 328

]
]

Note: For file attachments: The URL (in the JSON) is the download URL for the
attachment. Clicking this URL will download the file attachment directly.
For URL attachments: The URL (in the JSON) points to the actual URL added while creating
the attachment.

FIND ALL PUBLIC/PRIVATE ATTACHMENTS

Overview
Returns all public/private attachments for a given owner ID.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attachments?ownerName=:ownerName&ownerId=:ownerId&isPrivate=:isPrivate

URL (User-friendly)
You can use a user-friendly URL by passing attributeName%3Dattribute value instead of
Cornerstone SBX ID for Location:
https://<hostname-api.sabacloud.com>/v1/attachments/?ownerId=location%3D<LocationName>

Calling Options
Table 102: Calling Options

Name Description Sample Value Data Type Required?

ownerId Reference's ID of the locat000000000200040 string Yes


attachment

ownerName Component Name of location string No


Owner
REST API Reference | Foundation | 329

Name Description Sample Value Data Type Required?

isPrivate Flag to get pub- false enumerated No


lic/private attach-
ments.
"EnumeratedList": [
"true", "false" ]
If a value is not
provided for this
parameter, the API
will fetch all (public
and private) the at-
tachments for the
given owner ID.

Return Values

[
"list",
[
{
"@type": "com.saba.rest.dto.AttachmentDTO",
"id": "notdc000000000224745",
"file-name": "Penguins",
"locale": {
"@type": "com.saba.rest.dto.LocaleDTO",
"name": "English",
"id": "local000000000000001"
},
"createdBy": "emplo000000000001000",
"createdId": "uone",
"owner-id": "locat000000000200040",
"mime-type": "image/jpeg",
"attachment-name": "Publicattachment",
"fileExtension": ".jpg",
"url": "http://<hostname>/Saba/Web/Main?ssp=pageIsIgnored
&doIt=showAttachment&showbinary=true&attachId
=.-.CB7D9D9C6E847507EE9693C641297AD88E23482C4B65A40527E479
56338840ED-.-&mimeType=image/jpeg&deepLinkCertificate=3135363
6386337653832345E235E756F6E655E235E53616261536974655E235E656E
5F55535E235E536162615E235E24414240302C02146974AD81F8144FBEDD9
905420AE3DD07BB2FECBE02145670EEA450861BB6C9AE67AB3FB6C56E9B4A163B
&isAttachment=true",
"category": "Map",
"is-url": false,
"audit-reason": null,
"is-private": false
}
]
]
REST API Reference | Foundation | 330

CREATE A NEW ATTACHMENT (FILE)

Overview
Allows creating a new attachment using a file using multipart/form-data as the content-type.
List of component supported for attachment
• Offering Template
• Purchase Order
• Delivery Mode
• ILT Offering
• Certification
• Curriculum
• Competency
• Role
• JobType
• Location
• Facility
• Content Module
• Person, Internal
• Person, External
• ContentInventory
• Room
• Equipment
Note: owner-id in Request Body must be the Cornerstone SBX ID of any of the above
component.

Requires OAuth
No

Method
POST

Content-type
Multipart/form-data

URL
https://<hostname-api.sabacloud.com>/v1/attachments

Calling Options
Table 103: Calling Options

Name Description Sample Value Data Type Required?

metadata Accepts JSON as the string Yes


metadata. Please
refer to the Request
Body.
REST API Reference | Foundation | 331

Name Description Sample Value Data Type Required?

file1 file Yes


For uploading the file.

Request Body

{
"file-name":"Tulips.jpg",
"locale":{
"id":"local000000000000001",
"name":"English"
},
"category":"Map",
"mime-type":"image/jpeg",
"url":null,
"is-private":true,
"audit-reason":null,
"is-url":false,
"attachment-name":"tulipFileTest103",
"owner-id":"locat000000000200040"
}

Return Values

{
"@type": "com.saba.rest.dto.AttachmentDTO",
"id": "notdc000000000203151",
"file-name": "1.png",
"locale": {
"@type": "com.saba.rest.dto.LocaleDTO",
"name": "English",
"id": "local000000000000001"
},
"is-private": true,
"audit-reason": null,
"mime-type": "image/jpeg",
"category": "Map",
"owner-id": "locat000000000200040",
"url": null,
"is-url": false,
"attachment-name": "tulipFileTest105"
}

CREATE A NEW ATTACHMENT (URL)

Overview
Allows creating a new attachment using a URL using multipart/form-data as the content-type.
List of component supported for attachment
• Offering Template
• Purchase Order
• Delivery Mode
• ILT Offering
REST API Reference | Foundation | 332

• Certification
• Curriculum
• Competency
• Role
• JobType
• Location
• Facility
• Content Module
• Person, Internal
• Person, External
• ContentInventory
• Room
• Equipment
Note: owner-id in Request Body must be the Cornerstone SBX ID of any of the above
component.

Requires OAuth
No

Method
POST

Content-type
Multipart/form-data

URL
https://<hostname-api.sabacloud.com>/v1/attachments
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/platform/attachments

Calling Options
Table 104: Calling Options

Name Description Sample Value Data Type Required?

metadata Accepts JSON as the string Yes


metadata. Please
refer to the Request
Body.
REST API Reference | Foundation | 333

Name Description Sample Value Data Type Required?

owner-id Owner's ID Or Lookup locat000000000200020 string Yes


is also possible like OR Loca-
Loca- to
i n=o
l cat000000000200020
tion=locat000000000200020.
Lookup is supported
for Location, Facility,
Room, Equipment,
Purchase Order,
Package, Delivery
Mode

Request Body

{
"locale":{
"id":"local000000000000001",
"name":"English"
},
"category":"Map",
"mime-type":"image/jpeg",
"url":null,
"is-private":true,
"audit-reason":null,
"is-url":true,
"attachment-name":"urlTest103",
"owner-id":"locat000000000200040"
}

Return Values

{
"@type": "com.saba.rest.dto.AttachmentDTO",
"id": "notdc000000000203152",
"file-name": null,
"locale": {
"@type": "com.saba.rest.dto.LocaleDTO",
"name": "English",
"id": "local000000000000001"
},
"is-private": true,
"audit-reason": null,
"mime-type": "image/jpeg",
"category": "Map",
"owner-id": "locat000000000200040",
"url": "www.saba.com",
"is-url": true,
"attachment-name": "urlTest105"
}
REST API Reference | Foundation | 334

UPDATE AN ATTACHMENT

Overview
Updates an attachment

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/attachments/:id

Calling Options
Table 105: Calling Options

Name Description Sample Value Data Type Required?

@type Type of class com.saba.rest.dto.At- string Yes


tachmentDTO

id Attachement's ID not- string Yes


dc000000000203115

owner-id Owner's ID Or Lookup locat000000000200040 string No


is also possible like
Loca-
tion=locat000000000200020
Lookup is supported
for Location, Facility,
Room, Equipment,
Purchase Order,
Package, Delivery
Mode

is-private Whether the attach- false string No


ment is private

attachment- Name of the attach- tulipFileTest103 string No


name ment

category Category Map string No

file-name Filename of the at- Tulips.jpg string No


tachment

mime-type Mime-type image/jpeg string No

url URL null string No


REST API Reference | Foundation | 335

Name Description Sample Value Data Type Required?

is-url Whether the attach- false string No


ment is a URL
(true/false)

locale Locale {"@type": object No


"com.saba.rest.dto.Loc-
aleDTO","name":
"English","id": "loc-
al000000000000001"}

Request Body

{
"@type": "com.saba.rest.dto.AttachmentDTO",
"id": "notdc000000000203115",
"file-name": "Tulips.jpg",
"locale": {
"@type": "com.saba.rest.dto.LocaleDTO",
"name": "English",
"id": "local000000000000001"
},
"is-private": true,
"mime-type": "image/jpeg",
"category": "Map",
"url": null,
"owner-id": "locat000000000200040",
"is-url": false,
"attachment-name": "tulipFileTest103 moddiffied using RESTTTT",
"audit-reason": null
}

GET ATTACHMENT RESOURCE

Overview
Returns the attachment resource details based on the content resource's ID.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attachments/content/:id
REST API Reference | Foundation | 336

Calling Options
Table 106: Calling Options

Name Description Sample Value Data Type Required?

id Content Resource ID cnres000000000001030 string Yes

Return Values

{
"@type": "org.json.simple.JSONObject",
"name": " environment.txt",
"Attached By": {
"@type": "org.json.simple.JSONObject",
"displayName": "uone",
"id": "emplo000000000001000"
},
"id": "cnres000000000001030"
}

ADD ATTACHMENT TO OBJECT

Overview
Allows adding an attachment to an object such as Transcript, Checklist and HeldChecklist
Item.

Requires OAuth
No

Content-type
Multipart/form-data

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/attachments/attachment/content/:id

Calling Options
Table 107: Calling Options

Name Description Sample Value Data Type Required?

id Owner ID hck- string Yes


im000000000002040

file1 environment.txt file Yes


For uploading the file.
REST API Reference | Foundation | 337

Return Values

{
"@type": "org.json.simple.JSONObject",
"name": "environment.txt",
"id": "cnres000000000001030"
}

DELETE ATTACHMENT RESOURCE

Overview
Deletes the attachment resource details based on the content resource's ID.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/attachments/content/:id

Calling Options
Table 108: Calling Options

Name Description Sample Value Data Type Required?

id Content Resource ID cnres000000000001030 string Yes

Return Values

204

GET ALL ATTACHMENTS FOR AN OBJECT

Overview
Returns the details of all the attachments based on the owner's ID.

Requires OAuth
No

Method
GET
REST API Reference | Foundation | 338

URL
https://<hostname-api.sabacloud.com>/v1/attachments/attachment/content/:ownerid

Calling Options
Table 109: Calling Options

Name Description Sample Value Data Type Required?

ownerid Owner ID hck- string Yes


im000000000002040

Return Values

[
"list",
[
{
"@type": "org.json.simple.JSONObject",
"name": "JAWS 21 Setup.docx",
"Attached By": {
"@type": "org.json.simple.JSONObject",
"displayName": "uone",
"id": "emplo000000000001000"
},
"id": "cnres000000000001024"
},
{
"@type": "org.json.simple.JSONObject",
"name": "Content Guide.doc",
"Attached By": {
"@type": "org.json.simple.JSONObject",
"displayName": "uone",
"id": "emplo000000000001000"
},
"id": "cnres000000000001021"
}
]
]

Audience Type
REST endpoints for the Foundation data.

GET ALL AUDIENCETYPES

Overview
Returns all AudienceTypes for which the user has access.
REST API Reference | Foundation | 339

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/audiencetype

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "Recruiting",
"id": "audie000000000001162",
"href":
"https://<hostname-api.sabacloud.com>/v1/audiencetype/audie000000000001162"
}
],
"totalResults": 1,
"startIndex": 1
}

FIND META DETAILS OF AUDIENCE TYPES

Overview
Returns the meta details of the audience type.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/audiencetype/meta

Return Values

{
"sampleData": {
"flags": "0100000000",
"precedence": null,
"name": "",
"description": "",
"customValues": {
"custom1": null,
REST API Reference | Foundation | 340

"custom2": null,
"custom3": null,
"custom0": "Testing"
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/audiencetype/audie000000000000001"
},
"name": "Audience Type",
"displayName": "Audience Type",
"attributes": [
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "flags",
"displayName": "Flags",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 10,
REST API Reference | Foundation | 341

"maximumLength": 10,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "precedence",
"displayName": "Pricing Precedence",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
REST API Reference | Foundation | 342

},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000200184/values"
},
"display": true,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
REST API Reference | Foundation | 343

},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
REST API Reference | Foundation | 344

"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}
]
}

FIND DETAILS OF AUDIENCETYPES

Overview
Returns the details of the AudienceTypes along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/audiencetype?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage
REST API Reference | Foundation | 345

Calling Options
Table 110: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "Recruiting",
"id": "audie000000000001162",
"href":
"https://<hostname-api.sabacloud.com>/v1/audiencetype/audie000000000001162"
}
],
"totalResults": 1,
"startIndex": 1
}

GET DETAILS OF A PARTICULAR AUDIENCE TYPE

Overview
Returns complete information about an Audience Type based on the Audience Type's ID that
is passed as a parameter value.
REST API Reference | Foundation | 346

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/audiencetype/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Audience
Type's ID.
https://<hostname-api.sabacloud.com>/v1/audiencetype/name%3D<AudienceTypesName>

Calling Options
Table 111: Calling Options

Name Description Sample Value Data Type Required?

id Audience Type's ID audie000000000001144 string Yes

Return Values

{
"flags": "1110000000",
"precedence": null,
"name": "audie REST TEST 101 modified",
"description": "Internal Audience Type desccccc",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000201404",
"displayName": "Domain_USSupport"
},
"smartlistId": "stlst000000000041727",
"id": "audie000000000001144"
}
REST API Reference | Foundation | 347

CREATE A NEW AUDIENCE TYPE

Overview
Allows creating a new Audience Type.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/audiencetype

Calling Options
Table 112: Calling Options

Name Description Sample Value Data Type Required?

name The name of the Audi- Audience Type string Yes


ence Type Create

flags The flags for the Audi- 00000 string No


ence Type

description The short description desc string No


about the Audience
Type

precedence Precedence string No

securityDomain The domain for the object Yes


facility {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

customValues Custom Values string No

Request Body

{
"flags": "1110000000",
"precedence": null,
"name": "audie REST TEST 101",
"description": "Internal Audience Type",
"customValues": {
"custom1": null,
REST API Reference | Foundation | 348

"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

Return Values

{
"id": "audie000000000001146",
"displayName": "audie REST TEST 101",
"href": "https://<hostname-api.sabacloud.com>/v1/audiencetype/audie000000000001146"
}

UPDATE DETAILS OF AN AUDIENCE TYPE

Overview
Allows updating an existing Audience Type based on the Audience Type's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/audiencetype/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Audience
Type's ID.
https://<hostname-api.sabacloud.com>/v1/audiencetype/name%3D<AudienceTypesName>
REST API Reference | Foundation | 349

Calling Options
Table 113: Calling Options

Name Description Sample Value Data Type Required?

id Audience Type's ID audie000000000001144 string Yes

name The name of the Audi- Audience Type string Yes


ence Type Create

flags The flags for the Audi- 00000 string No


ence Type

description The short description desc string No


about the Audience
Type

precedence Precedence string No

securityDomain The domain for the object No


facility {"id": "dom►
in000000000000001",
Supports lookup (Do-
main). "name":
"world"}

customValues Custom Values string No

Request Body

{
"precedence": null,
"flags": "1110000000",
"name": "audie REST TEST 101 modified",
"description": "Internal Audience Type desccccc",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000201404",
"displayName": "world"
},
"id": "audie000000000001144"
}

The lookup support is now available for this REST API.


REST API Reference | Foundation | 350

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

GET PERSONS ASSIGNED TO AUDIENCE TYPE

Overview
Returns the persons who are assigned to a particular audience type.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/audiencetype/{audienceTypeID}/person

Calling Options
Table 114: Calling Options

Name Description Sample Value Data Type Required?

audienceTypeID Audience Type ID audie000000000001144 string Yes

Return Values

[
{
"id": "emplo000000000200003",
"displayName": "Sharanam Shah",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200003"
},
{
"id": "emplo000000000200004",
"displayName": "Sheetal Kadam",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200004"
}
]

ASSIGN PERSONS TO AUDIENCE TYPE

Overview
Allows assigning people to an audience type.
REST API Reference | Foundation | 351

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/audiencetype/{audienceTypeID}/person

Calling Options
Table 115: Calling Options

Name Description Sample Value Data Type Required?

audienceTypeID Audience Type ID audie000000000001144 string Yes

"@type" Input JSON Class com.saba.rest.ser- string Yes


Name vice .RESTServi-
ceObjectRefer-
ence

id Employee Id em- string Yes


plo000000000200003

displayName Employee Display RoJo string No


Name

Request Body

[
"java.util.List",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000200003",
"displayName": "RoJo"
},
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000200004",
"displayName": "RoJo1"
}
]
]

Return Values

{
"results": [
{
"name": "0123",
"id": "audie000000000020000",
"href":
REST API Reference | Foundation | 352

"https://<hostname-api.sabacloud.com>/v1/learning/audiencetype/audie000000000200000/person"

}]
}

Sub Audience Type


REST endpoints for the Foundation data.

FIND DETAILS OF SUB AUDIENCE TYPES

Overview
Returns the details of the Sub Audience Types based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 116: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Foundation | 353

Return Values

{
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": [],
"results": [{
"id": "seatc000000000001020","name":"child AT 1",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001020"
}]
}

FIND META DETAILS OF SUB AUDIENCE TYPES

Overview
Returns the meta details of the sub audience type.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype/meta:(:searchFields)

Calling Options
Table 117: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"parent_id": null,
"flags": "0100000000",
"name": "",
"description": "",
"customValues": {
"custom9": null,
REST API Reference | Foundation | 354

"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000000001"
},
"name": "Audience Sub Type",
"displayName": "Audience Sub Type",
"attributes": [{
"name": "created_by",
"displayName": "created_by",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "created_on",
"displayName": "created_on",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
}, {
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "flags",
"displayName": "Flags",
"description": null,
"isRequired": false,
REST API Reference | Foundation | 355

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 10,
"maximumLength": 10,
"isSearchFilter": false
}, {
"name": "id",
"displayName": "id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}, {
"name": "isretained",
"displayName": "Available to Others",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": false,
"isSearchFilter": false
}, {
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
}, {
"name": "owner",
"displayName": "Owner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"isSearchFilter": false
}, {
"name": "parent_id",
"displayName": "Parent",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
REST API Reference | Foundation | 356

"isProtected": false,
"display": true,
"isSearchFilter": true
}, {
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}, {
"name": "updated_by",
"displayName": "updated_by",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "updated_on",
"displayName": "updated_on",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
}, {
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
REST API Reference | Foundation | 357

"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Foundation | 358

"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}, {
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}]
}

GET ALL SUB AUDIENCE TYPES

Overview
Returns all Sub Audience Types for which the user has access.

Requires OAuth
No

Method
GET
REST API Reference | Foundation | 359

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype?count=:count&startPage=:startPage

Calling Options
Table 118: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"results": [{
"name": "aud_11",
"id": "seatc000000000001020",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001020"
}, {
"name": "child AT 1",
"id": "seatc000000000001100",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001100"
}, {
"name": "child AT 12",
"id": "seatc000000000001120",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001120"
}, {
"name": "child AT 2",
"id": "seatc000000000001101",
"href": "https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001101"

}, {
"name": "child AT 21",
"id": "seatc000000000001124",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001124"
}, {
"name": "Child AT21",
"id": "seatc000000000001121",
"href": "https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001121"

}, {
"name": "Child AT211",
"id": "seatc000000000001122",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001122"
}, {
"name": "Child AT212",
"id": "seatc000000000001123",
REST API Reference | Foundation | 360

"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001123"
}, {
"name": "child AT 22",
"id": "seatc000000000001125",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001125"
}, {
"name": "child AT 221",
"id": "seatc000000000001126",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001126"
}],
"totalResults": 29,
"hasMoreResults": true,
"itemsPerPage": 10,
"startIndex": 1
}

GET DETAILS OF A PARTICULAR SUB AUDIENCE TYPE

Overview
Returns complete information about a sub audience type based on the sub audience type's
ID that is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype/:id:(:searchFields)

Calling Options
Table 119: Calling Options

Name Description Sample Value Data Type Required?

id Sub audience type's ID seatc000000000001020 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)
REST API Reference | Foundation | 361

Return Values

{
"parent_id": {
"id": "audie000000000001021",
"displayName": "aud_1"
},
"flags": "00000 ",
"name": "aud_11",
"description": "",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"smartlistId": "stlst000000000041727",
"id": "seatc000000000001020"
}

CREATE A NEW SUB AUDIENCE TYPE

Overview
Allows creating a new sub audience type.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype

Calling Options
Table 120: Calling Options

Name Description Sample Value Data Type Required?

name The name of the sub sub audience string Yes


audience type type Create
REST API Reference | Foundation | 362

Name Description Sample Value Data Type Required?

description The short description desc string No


about the sub audi-
ence type

parent_id Parent of sub audi- {"id": object Yes


ence type "audie000000000001021",
"name": "AT1"}
Supports lookup
(AudienceType).

customValues Custom Values string No

Request Body

{
"name": "sbu aud_1",
"description": "test sub AT",
"parent_id": {
"id": "audie000000000001021",
"displayName": "aud_1"
},
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
}
}

Return Values

{
"id": "seatc000000000001000",
"displayName": "sub aud_1",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001000"
}

FIND THE DETAILS OF SUB AUDIENCE TYPE (USING POST - RANGE


BASED SEARCH)

Overview
Returns the details of the sub audience type.
REST API Reference | Foundation | 363

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 121: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name":"name", object Yes


"operator":"==",
"value":"sub at1"}]

count 10 integer No

startPage 1 integer No

Request Body

{
"conditions" :[{
"name": "name",
"operator": "==",
"value": "aud_11"}]
}

Return Values

{
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": [],
"results": [{
"id": "seatc000000000001020","name":"aud_11",
"href":
"https://<hostname-api.sabacloud.com>/v1/subaudiencetype/seatc000000000001020"
}]
}

UPDATE DETAILS OF A SUB AUDIENCE TYPE

Overview
Allows updating an existing sub audience type based on the Sub audience type's ID.
REST API Reference | Foundation | 364

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype/:id

Calling Options
Table 122: Calling Options

Name Description Sample Value Data Type Required?

id Sub audience type's ID seatc000000000001000 string Yes

name The name of the sub sub audience string Yes


audience type type Create

description The short description desc string No


about the sub audi-
ence type

customValues Custom Values Cust01 string No

Request Body

{
"id": "seatc000000000001000",
"name": "sbu aud_1",
"description": "test sub AT",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
}
}

Note: parent_id update is not supported. In case a different parent_id is passed in input then
that will be ignored by the API.
Domain cannot be set for Audience subtype. It is always the same as the parent's domain.
REST API Reference | Foundation | 365

Competency
REST endpoints for the Foundation data.

GET ALL COMPETENCIES

Overview
Returns all Competencies for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/competency?count=:count&startPage=:startPage

Calling Options
Table 123: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "competency_2",
"id": "compt000000000001106",
"href":
"https://<hostname-api.sabacloud.com>/v1/competency/compt000000000001106"
}
],
"totalResults": 1,
REST API Reference | Foundation | 366

"startIndex": 1
}

FIND DETAILS OF COMPETENCIES

Overview
Returns the details of the competencies along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/competency?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 124: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

You can pass the following criteria fields:


REST API Reference | Foundation | 367

• name
• description
• custom0
• custom1
• custom2
• custom3
• custom4
• custom5
• custom6
• custom7
• custom8
• custom9
• group
• domain_id
• group_id_hidden
• job_role
• prof_level
• hidden_filter_competency
• xcld_reqd
• competencylevellist
• description1
• description2
• description3
• description4
• bi_should_exists
• review_form_adhoc_skills
• csvinput
• library_id
• library_name
• is_enabled
• created_on
• updated_on

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "competency_2",
"id": "compt000000000001106",
"href":
"https://<hostname-api.sabacloud.com>/v1/competency/compt000000000001106"
}
],
"totalResults": 1,
"startIndex": 1
}
REST API Reference | Foundation | 368

GET DETAILS OF A PARTICULAR COMPETENCY

Overview
Returns complete information about a competency based on the Competency's ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/competency/:id
Note: Use ?includeassociation=true to retrieve the association details as well:
https://<hostname-api.sabacloud.com>/v1/competency/:id?includeassociation=true

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the Competency's ID.
https://<hostname-api.sabacloud.com>/v1/competency/name%3D<CompetencyName>?includeassociation=true

Calling Options
Table 125: Calling Options

Name Description Sample Value Data Type Required?

id Competency's ID compt000000000001141 string Yes

Return Values

{
"description": "testSkill",
"name": "testSkill",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "compt000000000001141",
"associations": {
"skillGroup": [],
"rateskillby": "Proficiency Levels",
"behavioralindicator": [
{
"displayName": "method1",
"weight": 30,
"id": "cpevi000000000001040"
},
{
"displayName": "method2",
REST API Reference | Foundation | 369

"weight": 50,
"id": "cpevi000000000001041"
}
],
"weights": [
{
"method": "Learning Offering",
"rating": 10
},
{
"method": "Self Assessment",
"rating": 100
},
{
"method": "Feedback from Others",
"rating": 100
},
{
"method": "Manager Assessment",
"rating": 10
}
],
"proficiency": [
{
"displayName": "Poor",
"description": null,
"proficiencyLevel": 1,
"id": "cplvl000000000001001"
},
{
"displayName": "Below Average",
"description": null,
"proficiencyLevel": 2,
"id": "cplvl000000000001002"
},
{
"displayName": "Average",
"description": null,
"proficiencyLevel": 3,
"id": "cplvl000000000001003"
},
{
"displayName": "Above Average",
"description": null,
"proficiencyLevel": 4,
"id": "cplvl000000000001004"
},
{
"displayName": "Outstanding",
"description": null,
"proficiencyLevel": 5,
"id": "cplvl000000000001005"
},
{
"displayName": "Outstanding1",
"description": null,
"proficiencyLevel": 6,
"id": "cplvl000000000001006"
},
{
"displayName": "testProficiency",
"description": null,
REST API Reference | Foundation | 370

"proficiencyLevel": 7,
"id": "cplvl000000000001015"
}
]
}
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.

GET META DETAILS OF COMPETENCIES

Overview
Returns the meta details of competencies.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/competency/meta

Return Values

{
"sampleData": {
"name": "",
"description": "",
"customValues": {
"ExCustom1": "default"
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/competency/compt000000000000001"
},
"name": "Competency",
"displayName": "Skill",
"attributes": [
{
"name": "admin_only",
"displayName": "For administrative use only",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
REST API Reference | Foundation | 371

},
{
"name": "competency_level_list_id",
"displayName": "Skill Level List",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 1000,
"maximumLength": 1000,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "question",
"displayName": "Question",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
REST API Reference | Foundation | 372

"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
REST API Reference | Foundation | 373

{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
REST API Reference | Foundation | 374

"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

CREATE A NEW COMPETENCY

Overview
Allows creating a new competency.

Requires OAuth
No

Method
POST
REST API Reference | Foundation | 375

URL
https://<hostname-api.sabacloud.com>/v1/competency/

Calling Options
Table 126: Calling Options

Name Description Sample Value Data Type Required?

name The name of the com- General Com- string Yes


petency puter Knowledge

description The short description Understanding string No


about the compet- relationship of
ency CPU, I/O, Storage,
and operating
system.

securityDomain The domain for the object Yes


facility {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

customValues Custom Values string No


REST API Reference | Foundation | 376

Name Description Sample Value Data Type Required?

associations Map of associations { "skillGroup":[], object No


object detail "rateskillby":"Profi-
ciency Levels",
Note: Only the follow-
"behavioralindic-
ing can be passed as
ator":[{ "display-
the association ob-
Name":"testBI",
jects:
"weight":30 },{
• Proficiency Levels "display-
Name":"testBI2",
Supports lookup
"weight":30 } ],
(CompetencyL-
"weights":[ {
evel).
"method":"Man-
• Behavioral Indicat- agerAssess-
ors ment", "rat-
ing":105 }, { "meth-
Supports lookup od":"SelfAssess-
(Competency Evid- ment", "rat-
ence). ing":105 }, { "meth-
• Weights od":"Feedbackfro-
• Skill Groups mOthers", "rat-
ing":1000 }, {
Supports lookup "method":"Learnin-
(Competency- gOffering", "rat-
Group). ing":10 } ], "profi-
ciency":[ { "dis-
• Mode of Skill Rating
playName":"test-
.
proficiency", "de-
Note: The default scription":"profi-
value of weights of ciencydescrip-
behavioral indicators tion", "proficiency-
and rating weights of Level":7 }, { "dis-
competency methods playName":"test-
is 0. Proficiency2",
"description":"pro-
Note: While creating
ficiencydescrip-
associations, the exist-
tiontest", "profi-
ing proficiency levels
ciencyLevel":8 } ]
are associated to the
}
competency by de-
fault. The proficiency
level specified in the
Input JSON should be
different from the
ones already existing.

Request Body

{
"description": "testSkill",
"name": "testSkill",
"securityDomain": {
"id": "domin000000000000001",
REST API Reference | Foundation | 377

"displayName": "world"
},
"associations": {
"rateskillby" : "Behavioral Indicators",
"skillGroup": [
{
"displayName": "Sample Group",
"id": "cpgrp000000000001000"
},
{
"displayName": "Individual Excellence",
"id": "cpgrp000000000001020"
},
{
"displayName": "Manager",
"id": "cpgrp000000000001021"
}
],
"behavioralindicator": [{
"displayName": "method1",
"weight" : 30
}, {
"displayName": "method2",
"weight" : 50
}],
"weights": [
{
"method": "Learning Offering",
"rating": 10
},
{
"method": "Self Assessment",
"rating": 100
},
{
"method": "Feedback from Others",
"rating": 100
},
{
"method": "Manager Assessment",
"rating": 10
}
],
"proficiency": [
{
"displayName": "Outstanding1",
"description": null,
"proficiencyLevel": 6
},
{
"displayName": "Outstanding2",
"description": null,
"proficiencyLevel": 7
}
]
}
}
REST API Reference | Foundation | 378

Return Values

{
"id": "compt000000000001223",
"displayName": "testSkill5",
"href": "https://<hostname-api.sabacloud.com>/v1/competency/compt000000000001223"
}

UPDATE DETAILS OF A COMPETENCY

Overview
Allows updating an existing competency based on the Competency's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/competency/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the Competency's ID.
https://<hostname-api.sabacloud.com>/v1/competency/name%3D<CompetencyName>

Calling Options
Table 127: Calling Options

Name Description Sample Value Data Type Required?

id Competency's ID string Yes

name The name of the com- General Com- string Yes


petency puter Knowledge

description The short description Understanding string No


about the compet- relationship of
ency CPU, I/O, Storage,
and operating
system.
REST API Reference | Foundation | 379

Name Description Sample Value Data Type Required?

securityDomain The domain for the object Yes


facility {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

customValues Custom Values string No


REST API Reference | Foundation | 380

Name Description Sample Value Data Type Required?

associations { "skillGroup":[], object No


"rateskillby":"Profi-
ciency Levels",
"behavioralindic-
ator":[{ "display-
Name":"testBI",
"weight":30 },{
"display-
Name":"testBI2",
"weight":30 } ],
"weights":[ {
"method":"Man-
agerAssess-
ment", "rat-
ing":105 }, { "meth-
od":"SelfAssess-
ment", "rat-
ing":105 }, { "meth-
od":"Feedbackfro-
mOthers", "rat-
ing":1000 }, {
"method":"Learnin-
gOffering", "rat-
ing":10 } ], "profi-
ciency":[ { "dis-
playName":"test-
proficiency", "de-
scription":"profi-
ciencydescrip-
tion", "proficiency-
Level":7 }, { "dis-
playName":"test-
Proficiency2",
"description":"pro-
ficiencydescrip-
tiontest", "profi-
ciencyLevel":8 } ]
}
REST API Reference | Foundation | 381

Name Description Sample Value Data Type Required?

Map of associations
object detail
Note: Only the follow-
ing can be passed as
the association ob-
jects:
• Proficiency Levels
Supports lookup
(CompetencyL-
evel).
• Behavioral Indicat-
ors
Supports lookup
(Competency Evid-
ence).
• Weights
• Skill Groups
Supports lookup
(Competency-
Group).
• Mode of Skill Rating
.
Pass this attribute,
only if you need to up-
date the association.
Pass it as NULL to re-
move all the existing
association data.
Note: The default
value of weights of
behavioral indicators
and rating weights of
competency methods
is 0.
Note: While updating
associations, the Pro-
ficiency level must be
in sequence, starting
with 1.
While creating associ-
ations, the existing
proficiency levels are
associated to the
competency by de-
fault. The proficiency
level specified in the
Input JSON should be
REST API Reference | Foundation | 382

Name Description Sample Value Data Type Required?

different from the


ones already existing.

Request Body

{
"description": "testSkillUpdate",
"name": "testSkillUpdate",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"skillGroup": [],
"rateskillby": "Proficiency Levels",
"behavioralindicator": [
{
"displayName": "method1",
"weight": 30,
"id": "cpevi000000000001040"
},
{
"displayName": "method2",
"weight": 50,
"id": "cpevi000000000001041"
}
],
"weights": [
{
"method": "Learning Offering",
"rating": 10
},
{
"method": "Self Assessment",
"rating": 100
},
{
"method": "Feedback from Others",
"rating": 100
},
{
"method": "Manager Assessment",
"rating": 10
}
],
"proficiency": [
{
"displayName": "Poor",
"description": null,
"proficiencyLevel": 1,
"id": "cplvl000000000001001"
},
{
"displayName": "Below Average",
"description": null,
"proficiencyLevel": 2,
"id": "cplvl000000000001002"
},
REST API Reference | Foundation | 383

{
"displayName": "Average",
"description": null,
"proficiencyLevel": 3,
"id": "cplvl000000000001003"
},
{
"displayName": "Above Average",
"description": null,
"proficiencyLevel": 4,
"id": "cplvl000000000001004"
},
{
"displayName": "Outstanding",
"description": null,
"proficiencyLevel": 5,
"id": "cplvl000000000001005"
},
{
"displayName": "Outstanding1",
"description": null,
"proficiencyLevel": 6,
"id": "cplvl000000000001006"
},
{
"displayName": "test_Proficiency",
"description": null,
"proficiencyLevel": 7
}
]
}
}

Note: To remove the owner association details, use the PUT operation.

UPDATE LOCALE-SPECIFIC DETAILS OF COMPETENCY

Overview
Update locale-specific attributes of competency.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example:
https://<hostname-api.sabacloud.com>/v1/competency/compt000000000001042/locale
https://<hostname-api.sabacloud.com>/v1/competency/name%3D<CompetencyName>/locale
REST API Reference | Foundation | 384

Calling Options
Table 128: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- competency string Yes


dated

instanceId Instance id of compon- compt000000000001042 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name Supports look- al000000000000010",
up (Locale) "displayName":
"de_DE"}

name Name of competency name string No

description Competency descrip- description string No


tion

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[ {
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"name":"comp1",
"description":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01",
"custom2": "custom 02",
"custom3": "custom 03",
REST API Reference | Foundation | 385

"custom4": "custom 04",


"custom5": "custom 05",
"custom6": "custom 06",
"custom7": "custom 07",
"custom8": "custom 08",
"custom9": "custom 09"}}
]}

Country
REST endpoints for the Foundation data.

FIND DETAILS OF COUNTRY

Overview
Returns the details of the Country along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/country?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 129: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Foundation | 386

Return Values

{
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"id": "cntry000000000001000",
"href": "http://<host_name>/v1/country/cntry000000000001000"
}
],
"startIndex": 1
}

GET ALL COUNTRIES

Overview
Returns all Countries for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/country?count=:count&startPage=:startPage

Calling Options
Table 130: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"totalResults": 239,
"hasMoreResults": true,
"itemsPerPage": 10,
"results": [
REST API Reference | Foundation | 387

{
"id": "cntry000000000001000",
"href": "http://<host_name>/v1/country/cntry000000000001000"
},
{
"id": "cntry000000000001010",
"href": "http://<host_name>/v1/country/cntry000000000001010"
},
{
"id": "cntry000000000001100",
"href": "http://<host_name>/v1/country/cntry000000000001100"
},
{
"id": "cntry000000000001110",
"href": "http://<host_name>/v1/country/cntry000000000001110"
},
{
"id": "cntry000000000001120",
"href": "http://<host_name>/v1/country/cntry000000000001120"
},
{
"id": "cntry000000000001130",
"href": "http://<host_name>/v1/country/cntry000000000001130"
},
{
"id": "cntry000000000001140",
"href": "http://<host_name>/v1/country/cntry000000000001140"
},
{
"id": "cntry000000000001150",
"href": "http://<host_name>/v1/country/cntry000000000001150"
},
{
"id": "cntry000000000001160",
"href": "http://<host_name>/v1/country/cntry000000000001160"
},
{
"id": "cntry000000000001170",
"href": "http://<host_name>/v1/country/cntry000000000001170"
}
],
"startIndex": 1
}

GET DETAILS OF A PARTICULAR COUNTRY

Overview
Returns complete information about a country based on the Country's ID that is passed as
a parameter value.

Requires OAuth
No

Method
GET
REST API Reference | Foundation | 388

URL
https://<hostname-api.sabacloud.com>/v1/country/:id

Calling Options
Table 131: Calling Options

Name Description Sample Value Data Type Required?

id Country's Id cntry000000000001000 string Yes

Return Values

{
"name": "new23",
"shortName": "USA",
"isoCode": "NM",
"active": false,
"id": "cntry000000000001000"
}

GET META DETAILS OF COUNTRY

Overview
Returns the meta details of the country

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/country/meta:(:searchFields)

Calling Options
Table 132: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)
REST API Reference | Foundation | 389

Return Values

{
"sampleData": {
"name": null,
"shortName": null,
"active": false,
"isoCode": null,
"id": null,
"href": "http://<host_name>/v1/country/cntry000000000000001"
},
"name": "Country",
"displayName": "Country",
"attributes": [
{
"name": "active",
"displayName": "Active",
"description": "Status of the country",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": "Cornerstone SBX internal id",
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isoCode",
"displayName": "ISO Code",
"description": "ISO code of the country",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2,
"maximumLength": 2,
"isSearchFilter": true
},
{
"name": "name",
"displayName": "Name",
"description": "Name of the country",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
REST API Reference | Foundation | 390

"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "shortName",
"displayName": "Short name",
"description": "Short name of the country",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"maximumLength": 10,
"isSearchFilter": true
}
]
}

CREATE A NEW COUNTRY

Overview
Allows creating a new Country.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/country

Calling Options
Table 133: Calling Options

Name Description Sample Value Data Type Required?

name The name of the Country1 string Yes


Country

isoCode The ISO code for the IS string Yes


country

shortName The short name for IND string No


the country

active Is active false string No


REST API Reference | Foundation | 391

Request Body

{
"name": "India",
"isoCode":"IN",
"shortName":"IND",
"active":true
}

Return Values

{
"id": "cntry000000000004630",
"displayName": null,
"href": "http://<host_name>/v1/country/cntry000000000004630"
}

UPDATE DETAILS OF A COUNTRY

Overview
Allows updating an existing country based on the Role ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/country/:id

Calling Options
Table 134: Calling Options

Name Description Sample Value Data Type Required?

id Country's Id cntry000000000004630 string Yes

name The name of the new23 string No


country

isoCode The ISO code of coun- nm string No


try

shortName shortName string No

active Is active false string No


REST API Reference | Foundation | 392

Request Body

{
"active":true
}

UPDATE LOCALE-SPECIFIC DETAILS OF COUNTRY

Overview
Update locale-specific attributes of country.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/country/cntry000000000001000/locale

Calling Options
Table 135: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- country string Yes


dated

instanceId Instance id of compon- cntry000000000001000 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale)

name Name of country name string No

Request Body

{"details":[
{"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"name":"India"
REST API Reference | Foundation | 393

}
]}

Language
REST endpoints for the Foundation data.

FIND DETAILS OF THE LANGUAGE

Overview
Returns the details of the Language along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/language?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
Example:
https://<hostname-api.sabacloud.com>/v1/language?q=(created_on%3Dge%3D2019-11-04)

Calling Options
Table 136: Calling Options

Name Description Default Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name such
as:
• id
• name
• isEnabled
• isDefault
• created_on
• updated_on

field_value The search value for Hindi string Yes


the specified search
criteria.
REST API Reference | Foundation | 394

Name Description Default Value Data Type Required?

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.

Return Values

{
"totalResults":1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"name": "Hindi",
"created_on": "2019-11-05T09:43:24.000+0530",
"updated_on": "2019-11-05T10:22:48.000+0530",
"id": "lange000000000000028",
"isEnabled": true,
"href": "http://localhost/Saba/api/component/language/lange000000000000028"
}
}

GET ALL LANGUAGES

Overview
Returns all languages for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/language?count=:count&startPage=:startPage

Calling Options
Table 137: Calling Options

Name Description Default Value Data Type Required?

count The number of re- 10 string No


cords per page.
REST API Reference | Foundation | 395

Name Description Default Value Data Type Required?

startPage The start page num- 1 string No


ber for the list of re-
cords.

Return Values

{
"totalResults": 44,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"name": "Hindi",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000028",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000028"

},
{
"name": "Arabic",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000029",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000029"

},
{
"name": "Czech",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000026",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000026"

},
{
"name": "Thai",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000027",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000027"

},
{
"name": "English",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000001",
"isDefault": true,
REST API Reference | Foundation | 396

"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000001"

},
{
"name": "Danish",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000002",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000002"

},
{
"name": "German",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000003",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000003"

},
{
"name": "Greek",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000004",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000004"

},
{
"name": "Spanish",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000005",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000005"

},
{
"name": "Finnish",
"created_on": "2019-11-07T05:15:21.000+0000",
"updated_on": "2019-11-07T05:15:21.000+0000",
"id": "lange000000000000006",
"isDefault": false,
"isEnabled": true,
"href": "https://<hostname-api.sabacloud.com>/v1/language/lange000000000000006"

}
],
"facets": []
}
REST API Reference | Foundation | 397

GET DETAILS OF A PARTICULAR LANGUAGE

Overview
Returns complete information about a language based on the language ID that is passed as
a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/language/:id

Calling Options
Table 138: Calling Options

Name Description Default Value Data Type Required?

id Language ID or lan- lange000000000000001 string Yes


guage Name (such as
name%3DHindi)

Return Values

{
"name": "Hindi1",
"created_on": "2019-11-05T18:21:39.000+0530",
"updated_on": "2019-11-05T18:21:39.000+0530",
"id": "lange000000000001039",
"isDefault": false,
"isEnabled": true
}

GET THE DETAILS OF A PARTICULAR LANGUAGE WITH SEARCH


FIELDS

Overview
Returns complete information about a language based on the language ID that is passed as
a parameter value.

Requires OAuth
No
REST API Reference | Foundation | 398

URL
https://<hostname-api.sabacloud.com>/v1/language/:id:(:searchFields)

Calling Options
Table 139: Calling Options

Name Description Default Value Data Type Required?

id Language ID or lan- string Yes


guage Name (such as
name%3DHindi)

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"name": "Hindi",
"id": "lange000000000000028"
}

CREATE A NEW LANGUAGE

Overview
Allows creating a new language.

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/language/

Calling Options
Table 140: Calling Options

Name Description Default Value Data Type Required?

name The name of the lan- Urdu string Yes


guage

isEnabled Value to set language true string No


enabled

Note: The isDefault field is not supported and will be ignored, if passed.
REST API Reference | Foundation | 399

Request Body

{
"name": "Hindi",
"isEnabled":true
}

Return Values

{
"id": "lange000000000001039",
"displayName": "Hindi",
"href": "http://localhost/Saba/api/component/language/lange000000000001039"
}

UPDATE THE DETAILS OF A LANGUAGE

Overview
Allows updating an existing language based on the language ID.

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/language/:id

Calling Options
Table 141: Calling Options

Name Description Default Value Data Type Required?

id language ID or lan- lange000000000000001 string Yes


guage name (such as
name%3DHindi)

name The name of the lan- Hindi string Yes


guage

isEnabled Accepts true or false true string No

Request Body

{
"name": "Hindi",
"isEnabled":true
}
REST API Reference | Foundation | 400

Locales
REST endpoints for the Foundation data.

GET LOCALES

Overview
Returns all the locales in the system along with their details.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/locales

URL (Example with optional parameters)


https://<hostname-api.sabacloud.com>/v1/locales?enabled=true&visible=true
&id=local000000000000001&java_locale=en_US&name=English

Calling Options
Table 142: Calling Options

Name Description Default Value Data Type Required?

enabled Get a list of enabled true string No


locales

visible Get a list of visible true string No


locales

id Get locale details for loc- string No


the particular ID al000000000000001

java_locale Get locale details for en_us string No


the particular
java_locale

name Get the locale details English string No


for a particular locale
REST API Reference | Foundation | 401

Return Values

[
{
"id": "local000000000000001",
"localeNumber": "1",
"sortOrder": null,
"dateFormat": "DD-MMM-YYYY",
"startDayOfWeek": "Monday",
"timeFormat": "H:mm a",
"numberPattern": "###,##",
"currencyPattern": "#,##0.##",
"fullNameformat": "First Name-Last Name",
"textDirection": "100",
"localeName": "English",
"defaultLocale": true,
"java_locale": "en_US",
"enabled": true,
"visible": true,
"languageid":{
"displayName": "English",
"id": "lange000000000000001"}
}
]

State
REST endpoints for the Foundation data.

FIND DETAILS OF STATE

Overview
Returns the details of the State along with the ID, Name and the Deeplink URL based on the
provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/state?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
REST API Reference | Foundation | 402

Calling Options
Table 143: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"id": "state000000000001670",
"href": "http://<host_name>/v1/state/state000000000001670"
}
],
"startIndex": 1
}

GET ALL STATES

Overview
Returns all States for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/state?count=:count&startPage=:startPage
REST API Reference | Foundation | 403

Calling Options
Table 144: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"totalResults": 158,
"hasMoreResults": true,
"itemsPerPage": 10,
"results": [
{
"id": "state000000000001640",
"href": "http://<host_name>/v1/state/state000000000001640"
},
{
"id": "state000000000001650",
"href": "http://<host_name>/v1/state/state000000000001650"
},
{
"id": "state000000000001670",
"href": "http://<host_name>/v1/state/state000000000001670"
},
{
"id": "state000000000002410",
"href": "http://<host_name>/v1/state/state000000000002410"
},
{
"id": "state000000000002420",
"href": "http://<host_name>/v1/state/state000000000002420"
},
{
"id": "state000000000002430",
"href": "http://<host_name>/v1/state/state000000000002430"
},
{
"id": "state000000000002930",
"href": "http://<host_name>/v1/state/state000000000002930"
},
{
"id": "state000000000002140",
"href": "http://<host_name>/v1/state/state000000000002140"
},
{
"id": "state000000000002110",
"href": "http://<host_name>/v1/state/state000000000002110"
},
{
"id": "state000000000002120",
"href": "http://<host_name>/v1/state/state000000000002120"
REST API Reference | Foundation | 404

}
],
"startIndex": 1
}

GET DETAILS OF A PARTICULAR STATE

Overview
Returns complete information about a state based on the State's ID that is passed as a
parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/state/:id

Calling Options
Table 145: Calling Options

Name Description Sample Value Data Type Required?

id State's Id state000000000001650 string Yes

Return Values

{
"name": "Maharastra",
"country": {
"id": "cntry000000000001000",
"displayName": "new23"
},
"shortName": "Mah",
"isoCode": "MH",
"id": "state000000000001650"
}

GET META DETAILS OF STATE

Overview
Returns the meta details of the state
REST API Reference | Foundation | 405

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/state/meta:(:searchFields)

Calling Options
Table 146: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"name": null,
"country": null,
"shortName": null,
"isoCode": null,
"id": null,
"href": "http://<host_name>/v1/state/state000000000000001"
},
"name": "CountryState",
"displayName": "State",
"attributes": [
{
"name": "country",
"displayName": "Country",
"description": "Country of the state",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": "Cornerstone SBX internal id",
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Foundation | 406

"display": true,
"isSearchFilter": false
},
{
"name": "isoCode",
"displayName": "ISO Code",
"description": "ISO code of the state",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2,
"maximumLength": 2,
"isSearchFilter": true
},
{
"name": "name",
"displayName": "Name",
"description": "Name of the state",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "shortName",
"displayName": "Short name",
"description": "Short name of the state",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"maximumLength": 10,
"isSearchFilter": true
}
]
}

CREATE A NEW STATE

Overview
Allows creating a new State.

Requires OAuth
No
REST API Reference | Foundation | 407

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/state

Calling Options
Table 147: Calling Options

Name Description Sample Value Data Type Required?

name The name of the State State1 string Yes

isoCode The ISO code for the IS string Yes


state

shortName The short name for mah string No


the state

country The country for the {"id" : object Yes


state "cntry000000000001000",ds
i-
playName" :
Supports lookup
"cntry1"}
(Country)

Request Body

{
"name": "Maha",
"shortName":"mah",
"isoCode":"mh",
"country":{"id":"cntry000000000001000"}
}

Return Values

{
"id": "state000000000003490",
"displayName": null,
"href": "http://<host_name>/v1/state/state000000000003490"
}

UPDATE DETAILS OF A STATE

Overview
Allows updating an existing state based on the Role ID.

Requires OAuth
No
REST API Reference | Foundation | 408

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/state/:id

Calling Options
Table 148: Calling Options

Name Description Sample Value Data Type Required?

id Country's Id cntry000000000001000 string Yes

name The name of the new23 string No


country

isoCode The ISO code of coun- nm string No


try

shortName shortName string No

country Country object No


{"id":cntry000000000001000",
Supports lookup
"display-
(Country)
Name":"cntry1"}

Request Body

{
"isoCode":"mh"
}

DELETE STATE

Overview
Deletes State

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/state/:id
REST API Reference | Foundation | 409

Calling Options
Table 149: Calling Options

Name Description Sample Value Data Type Required?

id State's ID state000000000001000 string Yes

UPDATE LOCALE-SPECIFIC DETAILS OF STATE

Overview
Update locale-specific attributes of state.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/state/state000000000005000/locale

Calling Options
Table 150: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- state string Yes


dated

instanceId Instance id of compon- state000000000005000 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale)

name Name of the state name string No

Request Body

{"details":[
{"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
REST API Reference | Foundation | 410

},
"name":"Maha"
}
]}

Currency
REST endpoints for the Foundation data.

FIND DETAILS OF CURRENCIES

Overview
Returns the details of the currencies along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/currency?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
Example:
https://<hostname-api.sabacloud.com>/v1/currency?q=(default%3D%3D1, active%3D%3D1,
iso_code%3D%3DUSD, name%3D%3DUS%20Dollars)&includeDetails=true

Calling Options
Table 151: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.

field_value The search value for string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Foundation | 411

Return Values

{
"facets": [],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "US Dollars",
"default": true,
"precision": 2,
"short_name": "USD",
"iso_code": "USD",
"active": true,
"id": "crncy000000000000001"
}
]
}

FIND META DETAILS OF CURRENCY

Overview
Returns the meta details of the currency.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/currency/meta:(:searchFields)

Calling Options
Table 152: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
REST API Reference | Foundation | 412

"name": null,
"default": false,
"active": false,
"short_name": null,
"iso_code": null,
"precision": null,
"id": null,
"href": "http://localhost/v1/currency/crncy000000000000001"
},
"name": "Currency",
"displayName": "Currency",
"attributes": [
{
"name": "active",
"displayName": "Active",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "default",
"displayName": "Default",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "iso_code",
"displayName": "Iso Code",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 3,
"maximumLength": 3,
"isSearchFilter": true
},
{
"name": "name",
"displayName": "Name",
"description": null,
REST API Reference | Foundation | 413

"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "precision",
"displayName": "Precision",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "short_name",
"displayName": "Short Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 10,
"maximumLength": 10,
"isSearchFilter": false
}
]
}

GET ALL CURRENCIES

Overview
Returns all currencies available in the system.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/currency?count=:count&startPage=:startPage
REST API Reference | Foundation | 414

Calling Options
Table 153: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 strintegering No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"results": [
{
"id": "crncy000000000000001",
"href": "http://localhost/v1/currency/crncy000000000000001"
},
{
"id": "crncy000000000001005",
"href": "http://localhost/v1/currency/crncy000000000001005"
},
{
"id": "crncy000000000001006",
"href": "http://localhost/v1/currency/crncy000000000001006"
},
{
"id": "crncy000000000200968",
"href": "http://localhost/v1/currency/crncy000000000200968"
}
],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 4,
"itemsPerPage": 10
}

GET DETAILS OF A PARTICULAR CURRENCY

Overview
Returns complete information about a currency based on the currency's id that is passed
as a parameter value.

Requires OAuth
No

Method
GET
REST API Reference | Foundation | 415

URL
https://<hostname-api.sabacloud.com>/v1/currency/:id:(:searchFields)
Example:
https://<hostname-api.sabacloud.com>/v1/currency/crncy000000000000001?q=(iso_code%3D%3DUSD)

URL (User-friendly)
You can use a user-friendly URL which accepts the iso_code instead of the internal Currency's
ID.
https://<hostname-api.sabacloud.com>/v1/currency/iso_code%3D<ISOCode>

Calling Options
Table 154: Calling Options

Name Description Sample Value Data Type Required?

id Currency's ID crncy000000000000001 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"name": "US Dollars",
"default": true,
"precision": 2,
"short_name": "USD",
"iso_code": "USD",
"active": true,
"id": "crncy000000000000001"
}

FIND DETAILS OF CURRENCY (USING POST - RANGE BASED


SEARCH)

Overview
Returns the details of the currency along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
POST
REST API Reference | Foundation | 416

URL
https://<hostname-api.sabacloud.com>/v1/currency/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails
Example:
https://<hostname-api.sabacloud.com>/v1/currency/searchQuery?count=10&startPage=1

Calling Options
Table 155: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions object Yes


[{\"name\":
\"iso_code\",
\"operator\":
\"==\",
\"value\":
\"USD\"}]

count 10 integer No

startPage 1 integer No

includeDetails Returns the details of true boolean No


the currency in the
search

Request Body

{
"conditions" :[{
"name": "iso_code",
"operator": "==",
"value": "USD"}]
}

Return Values

{
"facets": [],
"results": [
{
"name": "US Dollars",
"default": true,
"active": true,
"precision": 2,
"short_name": "USD",
"iso_code": "USD",
"id": "crncy000000000000001"
}
],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
REST API Reference | Foundation | 417

"startIndex": 1
}

Currency Exchange Rate


REST endpoints for the Foundation data.

FIND META DETAILS OF EXCHANGE RATE

Overview
Returns the meta details of the Exchange Rate.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate/meta:(:searchFields)

Calling Options
Table 156: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"src_id": null,
"end_date": null,
"start_date": null,
"batch_id": null,
"dest_id": null,
"rate": null,
"id": null,
"href": "http://<hostname-api.sabacloud.com>/v1/exchangerate/ccyex000000000000001"
REST API Reference | Foundation | 418

},
"name": "Currency Exchange Rate",
"displayName": "Currency Exchange Rate",
"attributes": [
{
"name": "batch_id",
"displayName": "Batch Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created by",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created on",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "dest_id",
"displayName": "Dest Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
REST API Reference | Foundation | 419

"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "end_date",
"displayName": "End Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "Exchange Rate ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "rate",
"displayName": "Rate",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "src_id",
"displayName": "Src Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "start_date",
"displayName": "Start Date",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
REST API Reference | Foundation | 420

"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated by",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "updated_on",
"displayName": "Updated on",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}

GET ALL EXCHANGE RATES

Overview
Returns all exchange rates available in the system.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate?count=:count&startPage=:startPage

Calling Options
Table 157: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 421

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"id": "ccyex000000000200020",
"href": "http://<hostname-api.sabacloud.com>/v1/exchangerate/ccyex000000000200020"

},
{
"id": "ccyex000000000200046",
"href": "http://<hostname-api.sabacloud.com>/v1/exchangerate/ccyex000000000200046"

},
{
"id": "ccyex000000000200047",
"href": "http://<hostname-api.sabacloud.com>/v1/exchangerate/ccyex000000000200047"

}
],
"hasMoreResults": true,
"totalResults": 28,
"itemsPerPage": 3
}

GET DETAILS OF A PARTICULAR EXCHANGE RATE

Overview
Returns complete information about a exchange rate based on the exchange rate's id that
is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate/:id:(:searchFields)
Example:
https://<hostname-api.sabacloud.com>/v1/exchangerate/ccyex000000000200001
REST API Reference | Foundation | 422

Calling Options
Table 158: Calling Options

Name Description Sample Value Data Type Required?

id Exchange Rate's ID ccyex000000000200185 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"src_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"rate": 2,
"end_date": "2017-03-03T00:00:00.000+0530",
"start_date": "2016-03-03T00:00:00.000+0530",
"batch_id": {
"id": "exbch000000000000002",
"displayName": null
},
"dest_id": {
"id": "crncy000000000001005",
"displayName": "Currency1"
},
"id": "ccyex000000000200185"
}

FIND DETAILS OF EXCHANGE RATE

Overview
Returns the details of the exchange rates along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
Examples:
Search exchange rate by source currency
REST API Reference | Foundation | 423

https://<hostname-api.sabacloud.com>/
v1/exchangerate?q=(src_id%3D%3Dcrncy000000000000004)&includeDetails=true
Search exchange rate by destination currency
https://<hostname-api.sabacloud.com>/
v1/exchangerate?q=(dest_id%3D%3Dcrncy000000000000168)&includeDetails=true
Search exchange rate by start date
https://<hostname-api.sabacloud.com>/
v1/exchangerate?q=(start_date%3D%3D02/01/2016)&includeDetails=false
Search exchange rate by start date
https://<hostname-api.sabacloud.com>/
v1/exchangerate?q=(end_date%3D%3D02/01/2016)&includeDetails=true

Calling Options
Table 159: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.

field_value The search value for string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

The following are the fields that you can use as the criteria_field:
Field name Field description Example

src_id If this field is passed, ex- src_id%3D%3D


change rates for a currency crncy000000000000001
will be returned.

src_name If this field is passed, ex- src_name%3D%3DUS%20Dol-


change rates for a currency lar
will be returned.

src_isocode If this field is passed, ex- src_isocode%3D%3DUSD


change rates for a currency
will be returned.

dest_id If this field is passed, ex- dest_id%3D%3D


change rates available to crncy000000000200968
currency provided will be re-
turned.
REST API Reference | Foundation | 424

Field name Field description Example

dest_name Exchange rate for a currency dest_name%3D%3DUS%20Dol-


will be returned. lar

dest_isocode Exchange rate for a currency dest_isocode%3D%3DUSD


will be returned.

start_date All exchange rates having a start_date%3Dge%3D2015-01-


given start date will be re- 08
turned.

end_date All exchange rates having a end_date%3Dle%3D2015-01-08


given end date will be re-
turned.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"end_date": null,
"start_date": "1900-01-01T00:00:00.000+0530",
"rate": 1,
"src_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"dest_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"batch_id": {
"id": "exbch000000000000002",
"displayName": null
},
"id": "ccyex000000000200020"
}
],
"hasMoreResults": true,
"totalResults": 1,
"itemsPerPage": 1
}

FIND DETAILS OF EXCHANGE RATE (USING POST - RANGE BASED


SEARCH)

Overview
Returns the details of the exchange rate along with the ID, Name and the Deeplink URL based
on the provided search criteria.
REST API Reference | Foundation | 425

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 160: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name": string Yes


"src_isocode","op-
erator":
"==","value":
"USD"}]

count 10 integer No

startPage 1 integer No

includeDetails Returns the details of true boolean No


the exchange rate in
the search

The following are the fields that you can use as the conditions > name:

Field name Field description Example

src_id If this field is passed, ex- src_id%3D%3D


change rates for a currency crncy000000000000001
will be returned.

src_name If this field is passed, ex- src_name%3D%3DUS%20Dol-


change rates for a currency lar
will be returned.

src_isocode If this field is passed, ex- src_isocode%3D%3DUSD


change rates for a currency
will be returned.

dest_id If this field is passed, ex- dest_id%3D%3D


change rates available to crncy000000000200968
currency provided will be re-
turned.

dest_name Exchange rate for a currency dest_name%3D%3DUS%20Dol-


will be returned. lar
REST API Reference | Foundation | 426

Field name Field description Example

dest_isocode Exchange rate for a currency dest_isocode%3D%3DUSD


will be returned.

start_date All exchange rates having a start_date%3Dge%3D2015-01-


given start date will be re- 08
turned.

end_date All exchange rates having a end_date%3Dle%3D2015-01-08


given end date will be re-
turned.

Request Body

{
"conditions" :[{
"name": "src_id",
"operator": "==",
"value": "crncy000000000000001"}]
}

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"end_date": null,
"start_date": "1900-01-01T00:00:00.000+0530",
"rate": 1,
"src_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"dest_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"batch_id": {
"id": "exbch000000000000002",
"displayName": null
},
"id": "ccyex000000000200020"
}
],
"hasMoreResults": true,
"totalResults": 1,
"itemsPerPage": 1
}
REST API Reference | Foundation | 427

CREATE A NEW EXCHANGE RATE

Overview
Create new currency exchange rate.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate

Calling Options
Table 161: Calling Options

Name Description Sample Value Data Type Required?

src_id The source currency {"id": string Yes


"crncy000000000202976",ds
i-
Supports lookup (Cur-
playName":"USD"}
rency)

dest_id The destination cur- {"id": string Yes


rency "crncy000000000203976",ds
i-
playName":"CY1"}
Supports lookup (Cur-
rency)

start_date Starting date of ex- 2016-03-03 string Yes


change rate

end_date Ending date of ex- 2019-03-03 string Yes


change rate

rate Rate 1.5 string Yes

batch_id Exchange rate batch {"id": "ex- string No


bch000000000000001"}

Request Body

{
"@type":"com.saba.currency.ExchangeRateDetail",
"src_id": { "id": "crncy000000000000001", "displayName": "USD"
},
"dest_id": { "id": "crncy000000000000002", "displayName": "INR"
},
"start_date": "2016-03-03",
REST API Reference | Foundation | 428

"end_date": "2017-03-03",
"rate":2,
"batch_id" : {"id": "exbch000000000000002"}
}

Note: After creating a new exchange rate, if there is no end date for the existing exchange
rate then the end date of the existing exchange rate will be automatically set as the start
date of new exchange rate that you created.
The lookup support is available for the following REST APIs:
1. CREATE A NEW EXCHANGE RATE
2. UPDATE DETAILS OF A EXCHANGE RATE

JSON Attribute UI Attribute Component Name

Src_id From Currency

Dest_id To Currency

Return Values

{
"id": "ccyex000000000200185",
"displayName": null,
"href": "http://<hostname-api.sabacloud.com>/v1/exchangerate/ccyex000000000200185"
}

UPDATE DETAILS OF A EXCHANGE RATE

Overview
Allows updating an existing exchange rate based on the Exchange Rate's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate/:id

Calling Options
Table 162: Calling Options

Name Description Sample Value Data Type Required?

id Exchange Rate's ID ccyex000000000200020 string Yes

rate Rate 1.5 string Yes


REST API Reference | Foundation | 429

Name Description Sample Value Data Type Required?

start_date Starting date of ex- 2016-03-03 string No


change rate

end_date Ending date of ex- 2019-03-03 string No


change rate

Request Body

{
"@type":"com.saba.currency.ExchangeRateDetail",
"src_id": { "id": "crncy000000000000001", "displayName": "USD"
},
"dest_id": { "id": "crncy000000000000002", "displayName": "INR"
},
"start_date": "2017-12-20",
"end_date": "2019-03-03",
"rate":2.5
}

The lookup support is available for the following REST APIs:


1. CREATE A NEW EXCHANGE RATE
2. UPDATE DETAILS OF A EXCHANGE RATE

JSON Attribute UI Attribute Component Name

Src_id From Currency

Dest_id To Currency

Note: This API will only update the value of the "rate" attribute that is passed via the Request
Body. Values of the other attributes, if passed via the Request Body will be ignored by the
API.

Return Values

status 204

DELETE A EXCHANGE RATE

Overview
Deletes an Exchange Rate.

Requires OAuth
No

Method
DELETE
REST API Reference | Foundation | 430

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate/:id

Calling Options
Table 163: Calling Options

Name Description Sample Value Data Type Required?

id Exchange Rate's ID ccyex000000000200020 string Yes

Return Values

Status 200 OK

Facility
REST endpoints for the Foundation data.

GET ALL FACILITIES

Overview
Returns all facilities for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/facility

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "Facility1",
"id": "fclty000000000001000",
"href": "https://<hostname-api.sabacloud.com>/v1/facility/fclty000000000001000"
}
],
REST API Reference | Foundation | 431

"totalResults": 1,
"hasMoreResults": false
}

FIND DETAILS OF FACILITIES

Overview
Returns the details of the facilities along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/facility?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 164: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Foundation | 432

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "Facility1",
"id": "fclty000000000001000",
"href": "https://<hostname-api.sabacloud.com>/v1/facility/fclty000000000001000"
}
],
"totalResults": 1,
"hasMoreResults": false
}

GET DETAILS OF A PARTICULAR FACILITY

Overview
Returns complete information about a facility based on the Facility's ID that is passed as a
parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/facility/:id
Note: Use ?includeassociation=true to retrieve the association details (such as owner) as
well:
https://<hostname-api.sabacloud.com>/v1/facility/:id?includeassociation=true

URL (User-friendly)
You can use a user-friendly URL which accepts the facility_no instead of the internal Facility's
ID.
https://<hostname-api.sabacloud.com>/v1/facility/facility_no%3D<FacilityNo>?includeassociation=true

Calling Options
Table 165: Calling Options

Name Description Sample Value Data Type Required?

id Facility's ID fclty000000000200082 string Yes


REST API Reference | Foundation | 433

Return Values

{
"id":" fclty000000000200082",
"name": "facility 1",
"location_id": {
"id": "locat000000000200210",
"displayName": "Domain_USSupport_locationen_US",
"loc_no": "001000"
},
"state": "kerela",
"country": "",
"corporate_no": "",
"facility_no": "00200030",
"enabled": true,
"contact_name": "UONE",
"zip": "",
"city": "Bombay",
"contact_email": "saba@saba.com",
"contact_phone": "022323232en_US",
"contact_fax": "2344422en_US",
"addr1": "add1en_US",
"addr2": "add2en_US",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000201404",
"displayName": "Domain_USSupport"
},
"associations": {
"owner": [{
"id": "emplo000000000200091",
"displayName": "test user"
}]
}
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.

GET META DETAILS OF FACILITIES

Overview
Returns the meta details of the facilities.

Method
GET
REST API Reference | Foundation | 434

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/facility/meta

Return Values

{
"sampleData": {
"city": "",
"zip": "",
"facility_no": "",
"contact_name": "",
"contact_email": "",
"contact_fax": "",
"addr1": "",
"addr2": "",
"contact_phone": "",
"corporate_no": "",
"name": "",
"location_id": null,
"state": "",
"country": "",
"enabled": false,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/facility/fclty000000000000001"
},
"name": "Facility",
"displayName": "Facility",
"attributes": [
{
"name": "accommodation",
"displayName": "Accommodation1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "addr1",
REST API Reference | Foundation | 435

"displayName": "Address 1",


"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "addr2",
"displayName": "Address 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "city",
"displayName": "City",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "contact_email",
"displayName": "Contact Email",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "contact_fax",
"displayName": "Contact Fax",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
REST API Reference | Foundation | 436

},
{
"name": "contact_name",
"displayName": "Administrator",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "contact_phone",
"displayName": "Contact Phone",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "corporate_no",
"displayName": "Corporate Number",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": false
},
{
"name": "country",
"displayName": "Country",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Foundation | 437

"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "enabled",
"displayName": "Disabled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "facility",
"displayName": "Facility",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "facility_no",
"displayName": "Facility Number",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
REST API Reference | Foundation | 438

"name": "facility_type",
"displayName": "Facility Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "location_id",
"displayName": "Location",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "state",
"displayName": "State",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Foundation | 439

"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "zip",
"displayName": "Zip",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
REST API Reference | Foundation | 440

},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
REST API Reference | Foundation | 441

{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000200189/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Foundation | 442

"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom3",
"displayName": "ExCustom3",
"description": "ExCustom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

CREATE A NEW FACILITY

Overview
Allows creating a new facility.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/facility/

Calling Options
Table 166: Calling Options

Name Description Sample Value Data Type Required?

name The name of the facil- Facility 123 string Yes


ity

enabled Whether the facility is true string No


enabled (true or false)
REST API Reference | Foundation | 443

Name Description Sample Value Data Type Required?

securityDomain The domain for the object Yes


facility. {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

contact_name The contact person's UONE string Yes


name for the facility

facility_no The number of the fa- 00200121 string No


cility

corporate_no The corporate num- 78787676 string No


ber of the facility

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

address3 Address 3 add3 string No

city City Indore string No

state State MP string No

country Country India string No

zip Zip 112233 string No

contact_phone Contact phone 123456789 string No

contact_phone2 Contact phone 2 12345 string No

Contact Email Contact email abc@gmail.com string No

contact_fax Contact fax 12345 string No

location_id Location's ID {"id": object No


"locat000000000200210",
Supports lookup (Loc-
"displayName":
ation).
"Domain_USSup-
port_location-
en_US", "loc_no":
"001000"}

customValues Custom fields string No

locale Locale string No


REST API Reference | Foundation | 444

Name Description Sample Value Data Type Required?

associations Map of associations {"owner": [{"id": object No


object detail "em-
plo000000000200091","dis-
Note: Only owner can
playName": "test
be passed as the asso-
user"}]}
ciation object.
Note: Supports
lookup (Person).

Request Body

{
"name": "Domain_USSupport_facilityen_US REST Test 101",
"location_id": {
"id": "locat000000000200210",
"displayName": "Domain_USSupport_locationen_US",
"loc_no": "001000"
},
"state": "kerela",
"country": "",
"corporate_no": "",
"facility_no": "00200030",
"enabled": true,
"contact_name": "UONE",
"zip": "",
"city": "Bombay",
"contact_email": "saba@saba.com",
"contact_phone": "022323232en_US",
"contact_fax": "2344422en_US",
"addr1": "add1en_US",
"addr2": "add2en_US",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000201404",
"displayName": "Domain_USSupport"
},
"associations": {
"owner": [{
"id": "emplo000000000200091",
"displayName": "test user"
}]
}
}
REST API Reference | Foundation | 445

Return Values

{
"id": " fclty000000000200082 ",
"displayName": "facility1",
"href":https://<hostname-api.sabacloud.com>/v1/facility/fclty000000000200082
}

UPDATE DETAILS OF A FACILITY

Overview
Allows updating an existing facility based on the Facility's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/facility/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the facility_no instead of the internal Facility's
ID.
https://<hostname-api.sabacloud.com>/v1/facility/facility_no%3D<FacilityNo>

Calling Options
Table 167: Calling Options

Name Description Sample Value Data Type Required?

id Facility's ID fclty000000000200082 string Yes

name The name of the facil- Facility 123 string Yes


ity

enabled Whether the facility is true string No


enabled (true or false)

securityDomain The domain for the object Yes


facility {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

contact_name The contact person's UONE string Yes


name for the facility
REST API Reference | Foundation | 446

Name Description Sample Value Data Type Required?

facility_no The number of the fa- 00200121 string No


cility

corporate_no The corporate num- 78787676 string No


ber of the facility

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

address3 address3 add3 string No

city City Indore string No

state State MP string No

country Country India string No

zip Zip 112233 string No

contact_phone Contact phone 123456789 string No

contact_phone2 Contact phone 2 12345 string No

contact_email Contact email abc@gmail.com string No

contact_fax Contact fax 12345 string No

location_id Location's ID {"id": object No


"locat000000000200210",
Supports lookup (Loc-
"display-
ation).
Name":"Do-
main_USSup-
port_location-
en_US", "loc_no":
"001000"}

customValues Custom fields string No

locale Locale string No

associations Map of associations {"owner": [{"id": object No


object detail "em-
plo000000000200091","dis-
Note: Only owner can
playName": "test
be passed as the asso-
user"}]}
ciation object.
Note: Supports
Pass this attribute,
lookup (Domain).
only if you need to up-
date the association.
Pass it as NULL to re-
move all the existing
association data.
REST API Reference | Foundation | 447

Request Body

{
"name": "Domain_USSupport_facilityen_US REST Test 101",
"location_id": {
"id": "locat000000000200210",
"displayName": "Domain_USSupport_locationen_US",
"loc_no": "001000"
},
"state": "kerela",
"country": "",
"corporate_no": "",
"facility_no": "00200030",
"enabled": true,
"contact_name": "UONE",
"zip": "",
"city": "Bombay",
"contact_email": "saba@saba.com",
"contact_phone": "022323232en_US",
"contact_fax": "2344422en_US",
"addr1": "add1en_US",
"addr2": "add2en_US",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000201404",
"displayName": "Domain_USSupport"
},
"associations": {
"owner": [{
"id": "emplo000000000200091",
"displayName": "test user"
}]
}
}

Note: To remove the owner association details, use the PUT operation.

DELETE A FACILITY

Overview
Deletes a particular facility using facility number.

Requires OAuth
No
REST API Reference | Foundation | 448

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/facility/facility_no=:facility_no

Calling Options
Table 168: Calling Options

Name Description Sample Value Data Type Required?

facility_no Facility's number 001000 string Yes

Return Values

Status 200 OK

Job Type
REST endpoints for the Foundation data.

GET ALL JOBTYPES

Overview
Returns all JobTypes for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobs

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
REST API Reference | Foundation | 449

"name": "Advogada",
"id": "jobtp000000000001100",
"href": "https://<hostname-api.sabacloud.com>/v1/jobs/jobtp000000000001100"
}
],
"totalResults": 1,
"hasMoreResults": false
}

FIND DETAILS OF JOBTYPES

Overview
Returns the details of the JobTypes along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobs?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 169: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 450

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

You can pass the following criteria fields:


• name
• description
• family_id
• custom0
• custom1
• custom2
• custom3
• custom4
• custom5
• custom6
• custom7
• custom8
• custom9
• family_name
• responsibilities
• criticallity
• startdate
• enddate
• status
• showClosed
• teamJobType
• minsalary
• jobcode
• maxsalary
• jobtypeid
• csvinput
• jobCode
• created_on
• created_by
• updated_on
• updated_by

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "Advogada",
"id": "jobtp000000000001100",
"href": "https://<hostname-api.sabacloud.com>/v1/jobs/jobtp000000000001100"
}
REST API Reference | Foundation | 451

],
"totalResults": 1,
"hasMoreResults": false
}

FIND META DETAILS OF JOB TYPES

Overview
Returns the name, IDs and the criticality of the Job Type. You can filter the results using the
Job Type's name.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobs/meta

Return Values

{
"sampleData": {
"status": "100",
"end_date": null,
"start_date": null,
"family_id": null,
"salaryCurrency": null,
"is_critical": false,
"responsibilities": "",
"jobCode": "",
"minSalary": 0,
"maxSalary": 0,
"name": "",
"description": "",
"customValues": {
"custom1": null,
"ExCustom2": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
REST API Reference | Foundation | 452

"href": "https://<hostname-api.sabacloud.com>/v1/jobs/jobtp000000000000001"
},
"name": "JobType",
"displayName": "Job",
"attributes": [
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "end_date",
"displayName": "End Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "family_id",
"displayName": "Job Family",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_critical",
"displayName": "Critical Job",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Foundation | 453

"name": "jobCode",
"displayName": "External Job Code",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "maxSalary",
"displayName": "Maximum Annual Salary",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "minSalary",
"displayName": "Minimum Annual Salary",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "responsibilities",
"displayName": "Key Responsibilities",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": true
},
{
"name": "salaryCurrency",
REST API Reference | Foundation | 454

"displayName": "Salary Currency",


"description": "Currency for the Salary",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "start_date",
"displayName": "Start Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/sysli000000000003052/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
REST API Reference | Foundation | 455

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom21",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom31",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom41",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom51",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
REST API Reference | Foundation | 456

"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000200187/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Foundation | 457

"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom3",
"displayName": "ExCustom3",
"description": "ExCustom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

GET DETAILS OF JOB TYPE

Overview
Returns complete information about a Job Type based on the Job Type's ID that is passed
as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobs/:id
Note: Use ?includeassociation=true to retrieve the association details (such as job role and
next career step) as well:
https://<hostname-api.sabacloud.com>/v1/jobs/:id?includeassociation=true

URL (User-friendly)
You can use a user-friendly URL which accepts the jobCode instead of the internal Job Type's
ID.
REST API Reference | Foundation | 458

https://<hostname-api.sabacloud.com>/v1/jobs/jobCode%3D<JobCode>?includeassociation=true

Calling Options
Table 170: Calling Options

Name Description Sample Value Data Type Required?

id Job Type's ID job- string Yes


tp000000000200265

Return Values

{ "id": "jobtp000000000200265",
"name": "JobEW16 REST TEST 101",
"description": "",
"end_date": null,
"family_id": {
"id": "jfmly000000000001040",
"displayName": "Default Job Family"
},
"status": "100",
"start_date": null,
"responsibilities": null,
"is_critical": false,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"role": [{
"isRequired": "true",
"displayName": "test role",
"id": "roles000000000001044"
}],
"nextcareerstep": [{
"id": "jobtp000000000200063",
"displayName": "test job2"
}]
}
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.
REST API Reference | Foundation | 459

CREATE A NEW JOB TYPE

Overview
Allows creating a new Job Type.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/jobs/

Calling Options
Table 171: Calling Options

Name Description Sample Value Data Type Required?

name The Job Type Job Type REST string Yes


101

status Status 100 string No

locale Locale string No

family_id Family's ID {"id": string Yes


"jfmly000000000001040",
Supports lookup (Job-
"displayName":
Family).
"Default Job
Family"}

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

end_date End date string No

description Description desc string No

customValues Custom Values string No

responsibilities Responsibilities string No

is_critical Is critical? false string No

start_date Start date string No


REST API Reference | Foundation | 460

Name Description Sample Value Data Type Required?

associations Map of associations {"role": [{"isRe- object No


object detail quired": "true","id":
"roles000000000001140","dis-
Note: Only Role and
playName": "En-
Next career step can
gineer Role
be passed as the asso-
1"}],"nextcareer-
ciation objects.
step": [{"id": "job-
tp000000000200309","dis-
playName":
"JobEW1"}]}
Note: Supports
lookup (Role).
Supports lookup
(JobType).

Request Body

{
"name": "JobEW16 REST TEST 101",
"description": "",
"end_date": null,
"family_id": {
"id": "jfmly000000000001040",
"displayName": "Default Job Family"
},
"status": "100",
"start_date": null,
"responsibilities": null,
"is_critical": false,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"role": [{
"isRequired": "true",
"displayName": "test role",
"id": "roles000000000001044"
}],
"nextcareerstep": [{
"id": "jobtp000000000200063",
"displayName": "test job2"
}]
REST API Reference | Foundation | 461

}
}

Return Values

{
"id": "jobtp000000000200265",
"displayName": "JobEW16 REST TEST 101",
"href": "https://<hostname-api.sabacloud.com>/v1/jobs/jobtp000000000200265"
}

UPDATE DETAILS OF A JOB TYPE

Overview
Allows updating an existing Job Type based on the Job Type's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/jobs/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the jobCode instead of the internal Job Type's
ID.
https://<hostname-api.sabacloud.com>/v1/jobs/jobCode%3D<JobCode>

Calling Options
Table 172: Calling Options

Name Description Sample Value Data Type Required?

id Job Type's ID string Yes

name The Job Type Job Type REST string Yes


101

status Status 100 string No

locale Locale string No

family_id Family's ID {"id": object Yes


"jfmly000000000001040",
Supports lookup (Job-
"displayName":
Family).
"Default Job
Family"}
REST API Reference | Foundation | 462

Name Description Sample Value Data Type Required?

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

end_date End date string No

description Description desc string No

customValues Custom Values Cust01 string No

responsibilities Responsibilities string No

is_critical Is critical? false string No

start_date Start date string No

minSalary Minimum Salary string No

maxSalary Maximum Salary string No

salaryCurrency Salary Currency {"d


i ":crncy000000000000001", string No
"display-
Name":"US Dol-
lars" }

associations Map of associations {"role": [{"isRe- object No


object detail quired": "true","id":
"roles000000000001140","dis-
Note: Only Role and
playName": "En-
Next career step can
gineer Role
be passed as the asso-
1"}],"nextcareer-
ciation objects.
step": [{"id": "job-
tp000000000200309","dis-
playName":
"JobEW1"}]}
Note: Supports
lookup (Role).
Supports lookup
(JobType).

Request Body

{
"name":"JobEW16 REST TEST 101",
"description":"",
"end_date":null,
"family_id":{
"id":"jfmly000000000001040",
REST API Reference | Foundation | 463

"displayName":"Default Job Family"


},
"status":"100",
"start_date":null,
"responsibilities":null,
"is_critical":false,
"salaryCurrency":{
"id":"crncy000000000000001", "displayName":"US Dollars" },
"minSalary":10001,
"jobCode":null,
"maxSalary":100001,
"customValues":{
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"associations":{
"role":[
{
"isRequired":"true",
"displayName":"test role",
"id":"roles000000000001044"
}
],
"nextcareerstep":[
{
"id":"jobtp000000000200063",
"displayName":"test job2"
}
]
}
}

Note: To remove the owner association details, use the PUT operation.

UPDATE LOCALE-SPECIFIC DETAILS OF JOBTYPE

Overview
Update locale-specific attributes of job type.

Requires OAuth
No

Method
PUT
REST API Reference | Foundation | 464

URL
https://<hostname-api.sabacloud.com>/v1/jobs/<jobType>/locale
https://<hostname-api.sabacloud.com>/v1/jobs/jobCode%3D<jobCode>/locale
Example: https://<hostname-api.sabacloud.com>/v1/jobs/jobtp000000000001620/locale

Calling Options
Table 173: Calling Options

Name Description Default Value Data Type Required?

jobType Job Type ID job- string Yes


tp000000000001620

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale)

name Name of jobtype name string No

description Jobtype description description string No

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

responsibilities Jobtype responsibilit- responsibilities string No


ies

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
REST API Reference | Foundation | 465

},
"name":"jobType",
"description":"desc",
"responsibilities":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"}
} ]}

Job Family
REST endpoints for the Foundation data.

GET ALL JOBFAMILIES

Overview
Returns all JobFamilies for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobfamily

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "Default Job Family",
"id": "jfmly000000000001000",
"href": "https://<hostname-api.sabacloud.com>/v1/jobfamily/jfmly000000000001000"

}
],
"totalResults": 1,
"hasMoreResults": false
}
REST API Reference | Foundation | 466

FIND DETAILS OF JOBFAMILIES

Overview
Returns the details of the JobFamilies along with the ID, Name and Deeplink ULR based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobfamily?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 174: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
REST API Reference | Foundation | 467

"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "Default Job Family",
"id": "jfmly000000000001000",
"href": "https://<hostname-api.sabacloud.com>/v1/jobfamily/jfmly000000000001000"

}
],
"totalResults": 1,
"hasMoreResults": false
}

FIND META DETAILS OF JOB FAMILIES

Overview
Returns the name and IDs of the Job Family. You can filter the results using the Job Family's
name.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobfamily/meta

Return Values

{
"sampleData": {
"isCareerSiteCategory": true,
"name": "",
"description": "",
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/jobfamily/jfmly000000000000001"
},
"name": "JobFamily",
"displayName": "Job Family",
"attributes": [
{
"name": "description",
"displayName": "Description",
"description": "description of the Job Family",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Foundation | 468

"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isCareerSiteCategory",
"displayName": "Is Career Site Category",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": "Name of the Job Family",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
}
]
}

GET DETAILS OF A PARTICULAR JOB FAMILY

Overview
Returns complete information about a Job Family based on the Job Family's ID that is passed
as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/jobfamily/:id
Note: Use ?includeassociation=true to retrieve the association details (such as owner) as
well:
https://<hostname-api.sabacloud.com>/v1/jobfamily/:id?includeassociation=true
REST API Reference | Foundation | 469

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Job Family's
ID.
https://<hostname-api.sabacloud.com>/v1/jobfamily/name%3D<JobFamilyName>?includeassociation=true

Calling Options
Table 175: Calling Options

Name Description Sample Value Data Type Required?

id Job Family's ID jfmly000000000001020 string Yes

Return Values

{
"id": "jfmly000000000001020",
"isCareerSiteCategory": true,
"name": "testjobFamily",
"description": "1234",
"associations": {
"job": [{
"id": "jobtp000000000200309",
"displayName": "test owner"
}]
}
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.

CREATE A NEW JOB FAMILY

Overview
Allows creating a new Job Family.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/jobfamily/
REST API Reference | Foundation | 470

Calling Options
Table 176: Calling Options

Name Description Sample Value Data Type Required?

name The name of the Job Job Family 121 string Yes
Family

description The short description JobFamily De- string No


for the Job Family scription

isCareerSiteCat- Whether it is a career true string Yes


egory site category

associations Map of associations {"job": [{"id": "job- object No


object detail tp000000000200309","dis-
playName": "test
Note: Only job can be
job"}]}
passed as the associ-
ation object. Note: Supports
lookup (Job-
Type).

Request Body

{
"isCareerSiteCategory": true,
"name": "1234",
"description": "1234",
"associations": {
"job": [{
"id": "jobtp000000000200309",
"displayName": "test owner"
}]
}
}

Return Values

{
"id": "jfmly000000000001082"
"displayName": "test jf 1"
"href": "http://<hostname-api.sabacloud.com>/v1/jobfamily/jfmly000000000001082"
}

UPDATE DETAILS OF A JOB FAMILY

Overview
The update method of the Job Family web service allows updating an existing Job Family
based on the Job Family's ID.
REST API Reference | Foundation | 471

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/jobfamily/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Job Family's
ID.
https://<hostname-api.sabacloud.com>/v1/jobfamily/name%3D<JobFamilyName>

Calling Options
Table 177: Calling Options

Name Description Sample Value Data Type Required?

id Job Family's ID jfmly000000000001082 string Yes

name The name of the Job Job Family 121 string Yes
Family

description The description for JobFamily De- string No


the Job Family scription

isCareerSiteCat- Whether it is a career true string Yes


egory site category

associations Map of associations {"job": [{"id": "job- object No


object detail tp000000000200309","dis-
playName": "test
Note: Only job can be
job"}]}
passed as the associ-
ation object. Note: Supports
lookup (Job-
Type).

Request Body

{
"isCareerSiteCategory": true,
"name": "1234",
"description": "1234",
"associations": {
"job": [{
"id": "jobtp000000000200309",
"displayName": "test owner"
}]
}
}
REST API Reference | Foundation | 472

Note: The PUT operation only supports adding jobs to the job family. It does not support
removing the existing jobs from the job family.

UPDATE LOCALE-SPECIFIC DETAILS OF JOB FAMILY

Overview
Update locale-specific attributes of job family.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/jobfamily/jfmly000000000001000/locale
https://<hostname-api.sabacloud.com>/v1/jobfamily/name%3D<JobFamilyName>/locale

Calling Options
Table 178: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- jobfamily string Yes


dated

instanceId Instance id of compon- jfmly000000000001000 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale)

name Name of job family name string No

description Job family description description string No

Request Body

{
"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
REST API Reference | Foundation | 473

},
"name":"jobFam",
"description":"desc1"
}]}

List Value
REST endpoints for the Foundation data.
Note: These APIs only support the user LOV and not the system LOV.

GET A PARTICULAR LIST VALUE

Overview
Returns the details of a particular list value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/lov/:id

Calling Options
Table 179: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the list value listv000000001002987 string Yes

Return Values

{
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"name": " listItem10",
"description": " listItem10",
"id": "listv000000001002989",
"lovList": {
REST API Reference | Foundation | 474

"displayName": "custom1:WBT Offering",


"id": " listi000000000001006"
}
}
]
}

GET LIST VALUE BY LIST ID AND LIST VALUE NAME

Overview
Returns the list value details by list value's ID and name.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/lov/:id/:name
Example:
https://<hostname-api.sabacloud.com>/v1/lov/listi000000000001006/listItem10

Calling Options
Table 180: Calling Options

Name Description Sample Value Data Type Required?

id List value's ID listi000000000001006 string Yes

name Name of the list value listItem10 string Yes

Return Values

{
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"name": " listItem10",
"description": " listItem10",
"id": "listv000000001002989",
"lovList": {
"displayName": "custom1:WBT Offering",
"id": " listi000000000001006"
}
REST API Reference | Foundation | 475

}
]
}

SEARCH LIST VALUES

Overview
Returns the list value details based on the search parameters.
Note: The data that is returned as a part of the search is based on the logged in user's locale.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/lov?q=(:criteria)&count=:count&startPage=:startPage&includeDetails=:includeDetails
Example:
https://<hostname-api.sabacloud.com>/v1/lov?q=(list_id%3D%3Dlisti000000000001006)&includeDetails=true

Calling Options
Table 181: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. d


i %3D%3Ds
iltv000000001002987 string Yes
the criteria field name
with search value.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Returns the details of true boolean No


the List Values in the
search

Return Values

{
"results":[
{
"id":" listv000000000200083",
REST API Reference | Foundation | 476

"href":"http://<hostname-api.sabacloud.com>/v1/lov/listv000000000200083"
},
{
"id":" listv000000000200084",
"href":"http://<hostname-api.sabacloud.com>/v1/lov/listv000000000200084"
}
],
"startIndex":1,
"hasMoreResults":false,
"totalResults":2,
"itemsPerPage":10,
"facets":[ ]
}

ADD VALUE TO LOV FOR AN ATTRIBUTE

Overview
Allows adding a value to the LOV for a particular attribute.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/lov

Calling Options
Table 182: Calling Options

Name Description Sample Value Data Type Required?

@type Type list entry detail com.saba.lov.List- string Yes


EntryDetail

name The name of the list TestListValue string Yes


value

description Description of the list This is created string No


value for testing pur-
pose

lovList List ID and display- {\"@type\": object Yes


Name Displayname \"java.util.HashMap\",\"id\":
should be in format of \"listi000000000010141\",\"dis-
attributeName:com- playName\":\"cus-
ponent name tom1:WBT Offer-
ing\"}
REST API Reference | Foundation | 477

Request Body

{
"@type":"com.saba.lov.ListEntryDetail",
"name":"ListItem1",
"description":"This is Test ListItem Value",
"lovList":{
"@type":"java.util.HashMap",
"id":"listi000000000001006",
"displayName":"custom1:WBT Offering"
}
}

Return Values

{
"@type":"com.saba.lov.RestLovDetail",
"name":"ListItem21",
"description":"This is Test ListItem21 Value",
"lovList":{
"@type":"map",
"displayName":"custom1:WBT Offering",
"id":"listi000000000010141"
},
"id":"listv000000001003048"
}

UPDATE VALUE OF LIST

Overview
Allows updating the value of a list.
Note: Updating the value of a list is supported by either providing the list value ID or list value
name.

Requires OAuth
No

Method
PUT

URL (Using ID)


https://<hostname-api.sabacloud.com>/v1/lov/:id

URL (Using Name)


https://<hostname-api.sabacloud.com>/v1/lov/name=<ListValueName>
REST API Reference | Foundation | 478

Calling Options
Table 183: Calling Options

Name Description Sample Value Data Type Required?

id ID of the list value or listv000000001002986 string Yes


name of the list value.
Note: To enter the
name of the list value
give the input as:
name=<listValue-
Name>

@type Type list entry detail com.saba.lov.List- string Yes


EntryDetail

name The name of the list TestListValue string Yes


value

description Description of the list This is created string Yes


value for testing pur-
pose

lovList List Id and display- {\"@type\": object Yes


Name \"java.util.HashMap\",\"id\":
\"listi000000000010141\",\"dis-
playName\":\"cus-
tom1:WBT Offer-
ing\"}"

Request Body

{
"@type":"com.saba.lov.ListEntryDetail",
"name" : "ListItem5",
"description" : "This is Test ListItem5 Value",
"lovList":{
"@type": "java.util.HashMap",
"id":"listi000000000010141",
"displayName":"custom1:WBT Offering"
}
}

DELETE ITEM FROM LIST

Overview
Deletes an item from the list using the ID of the list value.

Requires OAuth
No
REST API Reference | Foundation | 479

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/lov/:id

Calling Options
Table 184: Calling Options

Name Description Sample Value Data Type Required?

id ID of the list value listv000000001002986 string Yes

DELETE ITEM FROM LIST (BY LISTID AND NAME OF LIST VALUE)

Overview
Deletes an item from list using the ID and name of the list value.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/lov/:id/:name

Calling Options
Table 185: Calling Options

Name Description Sample Value Data Type Required?

id List ID listi000000000010141 string Yes

name Name of the list value TestListValue string Yes

Location
REST endpoints for the Foundation data.
REST API Reference | Foundation | 480

GET ALL LOCATIONS

Overview
Returns all Locations for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/location

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"loc_name": "Location1REST",
"id": "locat000000000001920",
"href": "https://<hostname-api.sabacloud.com>/v1/location/locat000000000001920"

}
],
"totalResults": 1,
"hasMoreResults": false
}

FIND DETAILS OF LOCATIONS

Overview
Returns the details of the Locations along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/location?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage
REST API Reference | Foundation | 481

Calling Options
Table 186: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. loc_name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

You can pass the following criteria fields:


• loc_no
• loc_name
• created_by
• created_on
• updated_by
• updated_on
• addr1
• addr2
• city
• state
• zip
• country
• custom0
• custom1
• custom2
• custom3
• custom4
• custom5
• custom6
• custom7
• custom8
REST API Reference | Foundation | 482

• custom9
• contact_id
• phone1
• phone2
• email
• fax
• enable
• eeo_mandatory
• id
• csvinput

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"loc_name": "Location1REST",
"id": "locat000000000001920",
"href": "https://<hostname-api.sabacloud.com>/v1/location/locat000000000001920"

}
],
"totalResults": 1,
"hasMoreResults": false
}

FIND META DETAILS OF LOCATIONS

Overview
Returns the name and IDs of the locations. You can filter the results using the location name.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/location/meta

Return Values

{
"sampleData": {
"email": "",
"city": "",
"zip": "",
"loc_name": "",
REST API Reference | Foundation | 483

"latitude": null,
"longitude": null,
"loc_no": "",
"contact_id": null,
"dept_id": null,
"fax": "",
"addr1": "",
"addr2": "",
"phone2": "",
"phone1": "",
"timezone_id": null,
"state": "",
"country": "",
"enabled": true,
"customValues": {
"custom0": null,
"custom9": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/location/locat000000000000001"
},
"name": "Location",
"displayName": "Location updated1",
"attributes": [
{
"name": "addr1",
"displayName": "Address 1 updated",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "addr2",
"displayName": "Address 2_pap2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
REST API Reference | Foundation | 484

{
"name": "city",
"displayName": "City",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "contact_id",
"displayName": "Administrator_up ap2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "country",
"displayName": "Country",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "dept_id",
"displayName": "Department Id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "eeo_mandatory",
"displayName": "EEO Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "email",
"displayName": "Email",
REST API Reference | Foundation | 485

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "enabled",
"displayName": "Enabled",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "fax",
"displayName": "Fax",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "latitude",
"displayName": "Latitude",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "loc_name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Foundation | 486

"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "loc_no",
"displayName": "Number",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "longitude",
"displayName": "Longitude",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "phone1",
"displayName": "Phone 1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "phone2",
"displayName": "Phone 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
REST API Reference | Foundation | 487

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "state",
"displayName": "State",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "timezone_id",
"displayName": "Timezone Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "zip",
"displayName": "Zipcode",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0 ui",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Foundation | 488

"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom23",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
REST API Reference | Foundation | 489

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}
]
}

GET DETAILS OF A PARTICULAR LOCATION

Overview
Returns complete information about a location based on the Location's ID that is passed as
a parameter value.
REST API Reference | Foundation | 490

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/location/:id
Note: Use ?includeassociation=true to retrieve the association details (such as owner) as
well:
https://<hostname-api.sabacloud.com>/v1/location/:id?includeassociation=true

URL (User-friendly)
You can use a user-friendly URL which accepts the loc_no instead of the internal Location's
ID.
https://<hostname-api.sabacloud.com>/v1/location/loc_no%3D<LocationNo>?includeassociation=true

Calling Options
Table 187: Calling Options

Name Description Sample Value Data Type Required?

id Location ID locat000000000200263 string Yes

Return Values

{ “id”:” locat000000000200300”,
"state": "state1",
"country": "",
"enabled": true,
"loc_name": "Location_with_loacle REST TEST 102",
"city": "",
"zip": "",
"timezone_id": {
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"loc_no": "LOCATION_WITH_LOACLE",
"dept_id": ": {
"id": " bisut000000000200170",
"displayName": "company1"
},
"addr1": "address1",
"addr2": "address1",
"phone1": "",
"phone2": "",
"contact_id": {
"id": "emplo000000000200091",
"displayName": "test user"
},
"phone1": "",
"phone2": "",
REST API Reference | Foundation | 491

"email": "",
"fax": "",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"owner": [
{
"id": "emplo000000000200091",
"displayName": "test user"
}
]
}
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.

CREATE A NEW LOCATION

Overview
Allows creating a new location.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/location/

Calling Options
Table 188: Calling Options

Name Description Sample Value Data Type Required?

loc_name The location name location101 string Yes


REST API Reference | Foundation | 492

Name Description Sample Value Data Type Required?

contact_id Contact's ID { "id": "em- object No


plo000000000200091",
Supports lookup (Per-
"displayName":
son).
"test user"}

locale Locale string No

state State state1 string No

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

city City city1 string No

dept_id Department's ID { "id": " object No


bisut000000000200170",
Supports lookup (Or-
"displayName":
ganization).
"company1"}

customValues Custom Values string No

homephone Home phone 12345 string No

workphone Work phone 22334455 string No

enabled Enabled false string No

zip Zip 1234 string No

fax Fax 556677 string No

country Country cntry1 string No

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

email Email abc@gmail.com string No

addr3 Address 3 add3 string No

loc_no Location number 0987 string No


REST API Reference | Foundation | 493

Name Description Sample Value Data Type Required?

timezone_id Timezone's ID object Yes


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

associations Map of associations {"owner": [{"id": object No


object detail "em-
plo000000000200091","dis-
Note: Only owner can
playName": "test
be passed as the asso-
user"}]}
ciation object.
Supports lookup
(Person).

Request Body

{
"state": "state1",
"country": "",
"enabled": true,
"loc_name": "Location_with_loacle REST TEST 102",
"city": "",
"zip": "",
"timezone_id": {
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"loc_no": "LOCATION_WITH_LOACLE",
"dept_id": ": {
"id": " bisut000000000200170",
"displayName": "company1"
},
"addr1": "address1",
"addr2": "address1",
"phone1": "",
"phone2": "",
"contact_id": {
"id": "emplo000000000200091",
"displayName": "test user"
},
"phone1": "",
"phone2": "",
"email": "",
"fax": "",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
REST API Reference | Foundation | 494

"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"owner": [
{
"id": "emplo000000000200091",
"displayName": "test user"
}
]
}
}

Return Values

{
"id": "locat000000000200300",
"displayName": "Location_with_loacle REST TEST 102",
"href":https://<hostname-api.sabacloud.com>/v1/location/locat000000000200300
}

UPDATE DETAILS OF A PARTICULAR LOCATION

Overview
Allows updating an existing location based on the Location's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/location/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the loc_no instead of the internal Location's
ID.
https://<hostname-api.sabacloud.com>/v1/location/loc_no%3D<LocationNo>
REST API Reference | Foundation | 495

Calling Options
Table 189: Calling Options

Name Description Sample Value Data Type Required?

id Location's ID string Yes

loc_name The location name location101 string Yes

contact_id Contact's ID {"id": "em- object No


plo000000000200091",
Supports lookup (Per-
"displayName":
son).
"test user"}

locale Locale string No

state State state1 string No

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

city City city1 string No

dept_id Department's ID {"id": " string No


bisut000000000200170",
Supports lookup (Or-
"displayName":
ganization).
"company1"}

customValues Custom Values string No

homephone Home phone 12345 string No

workphone Work phone 22334455 string No

enabled Enabled false string No

zip Zip 1234 string No

fax Fax 556677 string No

country Country cntry1 string No

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

email Email abc@gmail.com string No

addr3 Address 3 add3 string No

loc_no Location number 0987 string No


REST API Reference | Foundation | 496

Name Description Sample Value Data Type Required?

timezone_id Timezone's ID object Yes


{
Supports lookup "id":
(TimeZone). "tzone000000000000042",

"display►
Name":
"(GMT+05:30)
Chennai, Kolk►
ata, Mumbai,
New Delhi"
}

associations Map of associations {"owner": [{"id": object No


object detail "em-
plo000000000200091","dis-
Note: Only owner can
playName": "test
be passed as the asso-
user"}]}
ciation object.
Supports lookup
(Person).

Request Body

{
"state": "state1",
"country": "",
"enabled": true,
"loc_name": "Location_with_loacle REST TEST 102",
"city": "",
"zip": "",
"timezone_id": {
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"loc_no": "LOCATION_WITH_LOACLE",
"dept_id": ": {
"id": " bisut000000000200170",
"displayName": "company1"
},
"addr1": "address1",
"addr2": "address1",
"phone1": "",
"phone2": "",
"contact_id": {
"id": "emplo000000000200091",
"displayName": "test user"
},
"phone1": "",
"phone2": "",
"email": "",
"fax": "",
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
REST API Reference | Foundation | 497

"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"owner": [
{
"id": "emplo000000000200091",
"displayName": "test user"
}
]
}
}

Note: To remove the owner association details, use the PUT operation.

Organization
REST endpoints for the Foundation data.

GET ALL ORGANIZATIONS

Overview
Returns all organizations

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/organization?type=:type&count=:count&startPage=:startPage
REST API Reference | Foundation | 498

Calling Options
Table 190: Calling Options

Name Description Sample Value Data Type Required?

type The type of organiza- internal enumerated Yes


tion desired

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values (Internal)

{
"results": [
{
"name": "Root",
"id": "bisut000000000000001",
"href":
"https://<hostname-api.sabacloud.com>/v1/organization/bisut000000000000001"
}
],
"startIndex": 1,
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

Return Values (External)

{
"results": [
{
"name": "CEOrg1",
"id": "cmpny000000000200020",
"href":
"https://<hostname-api.sabacloud.com>/v1/organization/cmpny000000000200020"
}
],
"startIndex": 1,
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}
REST API Reference | Foundation | 499

FIND DETAILS OF INTERNAL/EXTERNAL ORGANIZATIONS

Overview
Returns the details of the Internal/External Organizations along with the ID, Name and the
Deeplink URL based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/organization?type=:type&q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 191: Calling Options

Name Description Sample Value Data Type Required?

type The type of organiza- internal enumerated Yes


tion.

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

You can pass the following criteria fields for Internal Organization:
• number
REST API Reference | Foundation | 500

• phone1
• phone2
• organ_created_by
• created_on
• organ_updated_by
• updated_on
• organ_business_typ
• fax
• addr1
• addr2
• city
• state
• country
• organ_zip
• organ_country
• organ_name
• parent_id
• objectives_administrator
• domain_name
• group_admin_id
• custom0
• custom1
• custom2
• custom3
• custom4
• custom5
• custom6
• custom7
• custom8
• custom9
• vertical
• name
• custom10
• custom11
• custom12
• custom13
• custom14
• number
• org_manager_id
• org_manager_username
• is_active
You can pass the following criteria fields for External Organization:
• number
• phone1
• phone2
• organ_created_by
• created_on
• organ_updated_by
• updated_on
REST API Reference | Foundation | 501

• fax
• addr1
• addr2
• city
• state
• zip
• organ_country
• parent_organ_name
• organ_name
• organ_owner_username
• group_admin_id
• custom0
• custom1
• custom2
• custom3
• custom4
• custom5
• custom6
• custom7
• custom8
• custom9
• vertical
• name
• custom10
• custom11
• custom12
• custom13
• custom14
• number
• org_manager_id
• org_manager_username

Return Values
Internal Organization:

{
"results": [
{
"name": "Root",
"id": "bisut000000000000001",
"href":
"https://<hostname-api.sabacloud.com>/v1/organization/bisut000000000000001"
}
],
"startIndex": 1,
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}
REST API Reference | Foundation | 502

External Organization:

{
"results": [
{
"name": "CEOrg1",
"id": "cmpny000000000200020",
"href":
"https://<hostname-api.sabacloud.com>/v1/organization/cmpny000000000200020"
}
],
"startIndex": 1,
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

Example: Retrieve all those organizations that the user is an org manager for.
You can pass the following criteria fields:
• org_manager_username - Accepts username as the value
http://<hostname-api.sabacloud.com>/v1/organization?type=external&q=(org_manager_username%3D%3DUONE)

• is_active - Use this for the external organization search, since the API for getting
organizations of an organization manager considers only active organizations. you must
use this criteria along with org_manager conditions.
Note: is_active is applicable only for external organizations.
http://<hostname-api.sabacloud.com>/v1/organization?type=external&q=(org_manager_username%3D%3DUONE,is_active%3D%3Dtrue)
• org_manager_id - Accepts person's internal ID as the value
http://<hostname-api.sabacloud.com>/v1/organization?type=internal&q=(org_manager_id%3D%3Demplo000000000001000)

GET DETAILS OF AN ORGANIZATION

Overview
Returns complete information about an Organization based on the Organization's ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/organization/:id
Note: Use ?includeassociation=true to retrieve the association details as well:
https://<hostname-api.sabacloud.com>/v1/organization/:id?includeassociation=true
REST API Reference | Foundation | 503

URL (User-friendly)
You can use a user-friendly URL which accepts the number instead of the Organization's ID.
https://<hostname-api.sabacloud.com>/v1/organization/number%3D<OrgNo>?type=:type&includeassociation=true
Note: The type parameter is mandatory.

Calling Options
Table 192: Calling Options

Name Description Sample Value Data Type Required?

id Organization's ID cmpny000000000004749 string Yes

Return Values

{
"contact_id": null,
"billAddr2": "",
"billCity": "",
"billState": "",
"billZip": "",
"billCountry": "",
"objectives_administrator": {
"id": "emplo000000000274494",
"displayName": "testUone 3"
},
"currencies": [
{
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
],
"learning_vendor": false,
"learning_manufacturer": false,
"vertical": null,
"city": "",
"zip": "",
"business_typ": "",
"web_server": "",
"email": "",
"is_active": true,
"fax": "",
"addr1": "",
"addr2": "",
"addr3": "",
"phone2": "",
"phone1": "",
"name": "111111111",
"parent_id": null,
"state": "",
"number": "1111111111",
"country": "",
"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"max_discount":10,
"description": null,
REST API Reference | Foundation | 504

"customValues": {
"ExCustom6": false,
"ExCustom7": "2015-07-10T00:00:00.000+0000",
"ExCustom4": 10,
"ExCustom5": "abc",
"ExCustom8": null,
"ExCustom9": null,
"ExCustom18": null,
"ExCustom17": null,
"ExCustom16": null,
"ExCustom19": null,
"ExCustom10": null,
"ExCustom20": null,
"ExCustom2": null,
"ExCustom14": null,
"ExCustom3": 10,
"ExCustom13": null,
"ExCustom1": null,
"ExCustom22": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "cmpny000000000004749",
"associations": {
"childorg": [],
"continueeducation": [],
"budgetapprover": [],
"organizationAdmin": [
{
"displayName": "123FN 123LN",
"id": "persn000000000002334"
},
{
"displayName": "131 131",
"id": "persn000000000003887"
}
],
"organizationManager":[
{
"displayName":"Client Three",
"id":"persn000000000001002",
"username":"CThree"
},
{
"displayName":"Client Five",
"id":"persn000000000001004",
"username":"CFive"
}
]
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.
REST API Reference | Foundation | 505

GET META DETAILS OF AN ORGANIZATION

Overview
Returns the meta details of an organization.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/organization/meta?type=:type

Calling Options
Table 193: Calling Options

Name Description Sample Value Data Type Required?

type Organization's type internal string Yes

Return Values (Internal)

{
"sampleData": {
"contact_id": null,
"web_server": "",
"billAddr1": null,
"billAddr2": null,
"billCity": null,
"billState": null,
"billZip": null,
"billCountry": null,
"objectives_administrator": null,
"currencies": null,
"aa_id": null,
"vertical": null,
"city": "",
"zip": "",
"email": "",
"fax": "",
"addr1": "",
"addr2": "",
"addr3": "",
"phone2": "",
"phone1": "",
"cost_center_no": "",
"name": "",
"parent_id": null,
"state": "",
"number": "",
"country": "",
REST API Reference | Foundation | 506

"description": "",
"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"customValues": {
"custom1": null,
"ExCustom2": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/organization/bisut000000000000001?type=internal"

},
"name": "Organization, Internal",
"displayName": "Internal Organization",
"attributes": [
{
"name": "aa_id",
"displayName": "Secondary Contact Person",
"description": "Person who serves as the administrative assistant for\n\t\t\t\t\t\tthe
organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "account_no",
"displayName": "Charge Code",
"description": "Charge code for the organization",
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "addr1",
"displayName": "Address 1",
REST API Reference | Foundation | 507

"description": "First line of the address for the organization\n\t\t\t\t\t",


"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "addr2",
"displayName": "Address 2",
"description": "Second line of the address for the organization\n\t\t\t\t\t",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "addr3",
"displayName": "Address 3",
"description": "Third line of the address for the organization\n\t\t\t\t\t",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billAddr1",
"displayName": "Billing Address 1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billAddr2",
"displayName": "Billing Address 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
REST API Reference | Foundation | 508

{
"name": "billCity",
"displayName": "Billing Address 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billCountry",
"displayName": "Billing Country",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billState",
"displayName": "Billing State",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billZip",
"displayName": "Billing Zip",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "city",
"displayName": "City",
"description": "City address for the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
REST API Reference | Foundation | 509

"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "contact_id",
"displayName": "Manager",
"description": "Person who serves as the contact for the organization\n\t\t\t\t\t",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "cost_center_no",
"displayName": "Cost Center Number",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "country",
"displayName": "Country",
"description": "Country address for the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "currencies",
"displayName": "Currencies",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "currency_id",
"displayName": "Default Currency",
"description": "Default currency used by the organization\n\t\t\t\t\t",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "description",
REST API Reference | Foundation | 510

"displayName": "Mission Statement",


"description": "Description of the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": false
},
{
"name": "email",
"displayName": "E-mail",
"description": "Email address of the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "fax",
"displayName": "Fax",
"description": "Fax number of the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "level_no",
"displayName": "Organization Level",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
REST API Reference | Foundation | 511

"name": "name",
"displayName": "Internal Organization",
"description": "Display name of the organization",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"maximumLength": 100,
"isSearchFilter": true
},
{
"name": "number",
"displayName": "Internal Organization Number",
"description": "Name of the organization",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"maximumLength": 100,
"isSearchFilter": false
},
{
"name": "objectives_administrator",
"displayName": "Objectives Administrator",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "parent_id",
"displayName": "Parent Organization",
"description": "Parent organization this organization belongs to\n\t\t\t\t\t",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "phone1",
"displayName": "Primary Phone",
"description": "First phone number of the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "phone2",
"displayName": "Secondary Phone",
"description": "Second phone number of the organization",
"isRequired": false,
REST API Reference | Foundation | 512

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": "Security domain the organization belongs to\n\t\t\t\t\t",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "state",
"displayName": "State/Province",
"description": "State address for the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "vertical",
"displayName": "Vertical",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000003026/values"
},
"display": true
},
{
"name": "web_server",
"displayName": "Web Server",
"description": "Fully-qualified URL for the organization",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "zip",
"displayName": "ZIP/Postal Code",
"description": "ZIP or postal code for the organization",
REST API Reference | Foundation | 513

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
REST API Reference | Foundation | 514

"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000200200/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Foundation | 515

"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}

Return Values (External)

{
"sampleData": {
"contact_id": null,
"web_server": "",
"billAddr1": null,
"billAddr2": null,
"billCity": null,
"billState": null,
"billZip": null,
"billCountry": null,
"objectives_administrator": null,
"currencies": null,
"learning_vendor": null,
"learning_manufacturer": null,
"vertical": null,
"city": "",
"zip": "",
"business_typ": null,
"email": "",
"is_active": true,
"fax": "",
"addr1": "",
"addr2": "",
"addr3": "",
"phone2": "",
"phone1": "",
"name": null,
REST API Reference | Foundation | 516

"parent_id": null,
"state": "",
"number": null,
"country": "",
"description": "",
"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"customValues": {
"custom1": null,
"ExCustom2": null,
"custom2": null,
"ExCustom1": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/organization/cmpny000000000000001?type=external"

},
"name": "Organization, External",
"displayName": "External Organization",
"attributes": [
{
"name": "account_no",
"displayName": "Charge Code",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "addr1",
"displayName": "Address 1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Foundation | 517

"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "addr2",
"displayName": "Address 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "addr3",
"displayName": "Address 3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billAddr1",
"displayName": "Billing Address 1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billAddr2",
"displayName": "Billing Address 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billCity",
"displayName": "Billing Address 3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Foundation | 518

"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billCountry",
"displayName": "Billing Country",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billState",
"displayName": "Billing State",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "billZip",
"displayName": "Billing Zip",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "business_typ",
"displayName": "Type of Business",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000001009/values"
},
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
REST API Reference | Foundation | 519

{
"name": "city",
"displayName": "City",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "contact_id",
"displayName": "Manager",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "country",
"displayName": "Country",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "currencies",
"displayName": "Currencies",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "currency_id",
"displayName": "Default Currency",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "description",
"displayName": "Mission Statement",
"description": null,
"isRequired": false,
REST API Reference | Foundation | 520

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": false
},
{
"name": "email",
"displayName": "E-mail",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "fax",
"displayName": "Fax",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_active",
"displayName": "Is Active",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learning_manufacturer",
"displayName": "Learning Manufacturer",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Foundation | 521

"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learning_vendor",
"displayName": "Learning Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "max_discount",
"displayName": "Discount %",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"minimumValue": 0,
"maximumValue": 100,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "External Organization",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"maximumLength": 100,
"isSearchFilter": true
},
{
"name": "number",
"displayName": "External Organization Number",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"maximumLength": 100,
"isSearchFilter": false
},
{
"name": "objectives_administrator",
"displayName": "Objectives Administrator",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Foundation | 522

"isSearchFilter": false
},
{
"name": "parent_id",
"displayName": "Parent Organization",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "phone1",
"displayName": "Primary Phone",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "phone2",
"displayName": "Secondary Phone",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "state",
"displayName": "State/Province",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
REST API Reference | Foundation | 523

{
"name": "vertical",
"displayName": "Vertical",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000003026/values"
},
"display": true
},
{
"name": "web_server",
"displayName": "Web Server",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "zip",
"displayName": "ZIP/Postal Code",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
REST API Reference | Foundation | 524

"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Foundation | 525

"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Foundation | 526

"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}

CREATE A NEW INTERNAL ORGANIZATION

Overview
Allows creating a new Internal Organization.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/organization?type=internal

Calling Options
Table 194: Calling Options

Name Description Sample Value Data Type Required?

name Name of the organiza- Business Unit string Yes


tion REST Test 101

parent_id Parent's ID of the or-


{ "id": string Yes
ganization "bisut000000000000001",
"displayName":
Supports lookup (Or-
"Root" }
ganization).

vertical Vertical string No

currency_id The default currency object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

state State state1 string No

phone2 Phone 2 12345 string No


REST API Reference | Foundation | 527

Name Description Sample Value Data Type Required?

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

phone1 Phone 1 11223344 string No

aa_id AA's ID string No

city City city1 string No

description Description desc string No

customValues Custom Values Cust01 string No

zip Zip 11223311 string No

fax Fax 12312 string No

number Number 123455 string No

country Country country1 string No

cost_center_no Cost center no cc1234 string No

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

email Email abc@gmail.com string No

addr3 Address 3 add3 string No

web_server Web server string No

contact_id Contact's ID {"id": "em- string No


plo000000000200091",
Supports lookup (Per-
"displayName":
son).
"test user"}

objectives_admin- Objectives adminis- string No


istrator trator
Supports lookup (Per-
son).

billAddr1 Bill Addr 1 billAddr1 string No

billAddr2 Bill Addr 2 billAddr2 string No

billCity Bill City billCity string No

billState Bill State billState string No


REST API Reference | Foundation | 528

Name Description Sample Value Data Type Required?

billZip Bill Zip billZip string No

billCountry Bill Country billCountry string No

currencies Currencies string No

associations Map of associations {"childorg":[{"dis- object No


object detail playName":
"Company1"},{"dis-
Note: Only child or-
play-
ganization, approver,
Name":"anu_Ex-
continue education
ternal_Org","id":
plan, organization
c
"mpny000000000200062}"]c
",on-
based LLR and organ-
tinueeduca-
ization manager can
tion":[{"display-
be passed as the asso-
Name": "test ce-
ciation objects.
plan1"},{"display-
Associations support Name": "test con-
lookup. To use lookup, tinue educa-
pass the username in tion"}],"budgetap-
the "displayName" at- prover":[{"display-
tribute and omit the Name":"CBUILD-
"id" attribute. ER"},{"display-
Name": "Catalog1
This API allows to:
Builder1","id": "per-
• Cascade down the sn000000000200920"}]}
organization man-
ager to all child or-
ganizations.
Note: The Cascad-
ing feature is only
applicable for or-
ganization man-
ager association.

To support these
functions, the follow-
ing attributes/fields
are available for use
in the input JSON:
• inheritToChildOrg:
Boolean field that
will enable the abil-
ity to cascade
down the Org man-
ager to all child or-
ganizations.

learning_vendor Organization is learn- true Boolean


ing vendor Possible
Values: true | false
REST API Reference | Foundation | 529

Name Description Sample Value Data Type Required?

learning_manu- Organization is learn- true Boolean


facturer ing manufacturer
Possible Values: true |
false

Request Body

{
"name": "test_Internal_Org_2",
"parent_id": null,
"state": "",
"number": "00200502111",
"country": "India",
"currency_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"description": "test_Internal_Admin",
"fax": "",
"addr1": "",
"addr2": "",
"addr3": "",
"email": "",
"is_active": true,
"contact_id": null,
"billAddr1": "",
"billAddr2": "",
"billCity": "",
"billState": "",
"billZip": "",
"billCountry": "India",
"objectives_administrator": null,
"currencies": [
{
"id": "crncy000000000000001",
"displayName": "US Dollars"
}
],
"vertical": null,
"city": "",
"zip": "",
"business_typ": "",
"web_server": "",
"phone2": "",
"phone1": "",
"learning_vendor": true,
"learning_manufacturer": true,
"customValues": {
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
REST API Reference | Foundation | 530

"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "cmpny000000000200502",
"associations": {
"localLearningRegistrar": [
{
"displayName": "Akhlaque Ahmed",
"id": "emplo000000000200321"
},
{
"displayName": "Akhlesh Pandey",
"id": "emplo000000000200493"
}
],
"organizationManager":[
{
"displayName":"aa aa",
"id":"emplo000000000001050"
},
{
"displayName":"AA AA",
"id":"emplo000000000001051"
}
],
"childorg": [
{
"displayName": "BusinessUnit4",
"id": "bisut000000000001003"
},
{
"displayName": "anu_Internal_Org",
"id": "bisut000000000200081"
}
],
"continueeducation": [
{
"displayName": "CEPXXX",
"id": "cepln000000000001020"
},
{
"displayName": "OrgPlan",
"id": "cepln000000000001061"
}
],
"budgetapprover": [
{
"displayName": "aaa aasdasdasd",
"id": "emplo000000000201228"
},
{
"displayName": "ab2 ab2",
"id": "emplo000000000200631"
}
]
REST API Reference | Foundation | 531

}
}

Note:
Associations support lookup. To use lookup, pass the username in the "displayName" attribute
and omit the "id" attribute.
Note: While creating an organization (internal / external), for adding a budget approver:
1. The Recruiting functionality must be enabled
2. For the internal organization, the budget approver must be an internal user and for the
external organization the budget approver must be an external user.

Request Body (uses "inheritToChildOrg": true)

{
"contact_id": null,
"billAddr1": "billAddr1",
"billAddr2": "billAddr2",
"billCity": "billCity",
"billState": "billState",
"billZip": "billZip",
"billCountry": "billCountry",
"objectives_administrator": null,
"currencies": [
{
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
],
"aa_id": null,
"vertical": null,
"city": "city1",
"zip": "11223311",
"phone2": "12345",
"phone1": "11223344",
"web_server": "",
"fax": "12312",
"email": "abc@gmail.com",
"cost_center_no": "cc1234",
"addr1": "add1",
"addr2": "add2",
"addr3": "add3",
"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"description": "desc",
"name": "test_InternalOrg_2",
"parent_id": {
"id": "bisut000000000000001",
"displayName": "Root"
},
"state": "state1",
"number": "00022226",
"country": "country1",
"customValues": {
"custom0": null,
"custom9": null,
"custom3": null,
"custom4": null,
REST API Reference | Foundation | 532

"custom1": null,
"custom2": null,
"custom7": null,
"ExCustom2": null,
"custom8": null,
"ExCustom3": null,
"custom5": null,
"custom6": null,
"ExCustom1": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}, "associations": {
"childorg": [
{
"displayName": "bk_ext_org2",
"id": "cmpny000000000001745"
}
],
"continueeducation": [
{
"displayName": "CE_Plan_FOS_OFF",
"id": "cepln000000000001280"
}
],
"budgetapprover": [],
"organizationAdmin": [],
"organizationManager": [
{
"inheritToChildOrg": true,
"displayName": "2nd_level_fname 2nd_level_lname",
"id": "emplo000000000027755"
}
]
}
}

Return Values

{
"id": "bisut000000000200041",
"displayName": "test_InternalOrg_2",
"href": "http://<hostname-api.sabacloud.com>/v1/organization/bisut000000000200041"
}

UPDATE DETAILS OF AN INTERNAL ORGANIZATION

Overview
Allows updating an existing Internal Business Organization based on the Organization's ID.

Requires OAuth
No
REST API Reference | Foundation | 533

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/organization/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the number instead of the internal
Organization's ID.
https://<hostname-api.sabacloud.com>/v1/organization/number%3D<OrgNo>?type=internal

Calling Options
Table 195: Calling Options

Name Description Sample Value Data Type Required?

id Organization's ID string Yes

name Name of the organiza- Business Unit string Yes


tion REST Test 101

parent_id Parent's ID of the or-


{ "id": string Yes
ganization "bisut000000000000001",
"displayName":
Supports lookup (Or-
"Root" }
ganization).

vertical Vertical string No

currency_id The default currency object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

state State state1 string No

phone2 Phone 2 12345 string No

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

phone1 Phone 1 11223344 string No

aa_id AA's ID string No

city City city1 string No

description Description desc string No


REST API Reference | Foundation | 534

Name Description Sample Value Data Type Required?

customValues Custom Values string No

zip Zip 11223311 string No

fax Fax 12312 string No

number Number 123455 string No

country Country country1 string No

cost_center_no Cost center no cc1234 string No

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

email Email abc@gmail.com string No

addr3 Address 3 add3 string No

web_server Web server string No

contact_id Contact's ID { "id": "em- string No


plo000000000001000",
Supports lookup (Per-
"displayName":
son).
"User One" }

objectives_admin- Objectives adminis- string No


istrator trator
Supports lookup (Per-
son).

billAddr1 Bill Addr 1 billAddr1 string No

billAddr2 Bill Addr 2 billAddr2 string No

billCity Bill City billCity string No

billState Bill State billState string No

billZip Bill Zip billZip string No

billCountry Bill Country billCountry string No

currencies Currencies string No


[{"id":
Supports lookup (Cur- "crncy000000000000001",
rency)
"displayName":
"US Dollars"}]
REST API Reference | Foundation | 535

Name Description Sample Value Data Type Required?

associations {"childorg":[{"dis- object No


playName":
"Company1"},{"dis-
play-
Name":"anu_Ex-
ternal_Org","id":
c
"mpny000000000200062}"]c
",on-
tinueeduca-
tion":[{"display-
Name": "test ce-
plan1"},{"display-
Name": "test con-
tinue educa-
tion"}],"budgetap-
prover":[{"display-
Name":"CBUILD-
ER"},{"display-
Name": "Catalog1
Builder1","id": "per-
sn000000000200920"}]}
REST API Reference | Foundation | 536

Name Description Sample Value Data Type Required?

Map of associations
object detail
Note: Only child or-
ganization, approver,
continue education
plan, organization
based LLR and organ-
ization manager can
be passed as the asso-
ciation objects.
Pass this attribute,
only if you need to up-
date associations. By
default, existing asso-
ciations are removed.
If you need to pre-
serve them, use the
partialUpdate attrib-
ute.
Note:
Associations support
lookup. To use lookup,
pass the username in
the "displayName" at-
tribute and omit the
"id" attribute.
This API allows to:
• Add one or more
associations
without impacting
the existing associ-
ations. For ex-
ample, add one or
more budget ap-
provers without
impacting the cur-
rent set of budget
approvers.
• Remove a single
association. For ex-
ample: removing
one budget ap-
prover without
knowing the full list
of approvers.
• Replace just one
association and
leave others un-
changed.
• Cascade down the
REST API Reference | Foundation | 537

Name Description Sample Value Data Type Required?

organization man-
ager to all child or-
ganizations.
Note: The Cascad-
ing feature is only
applicable for or-
ganization man-
ager association.
REST API Reference | Foundation | 538

Name Description Sample Value Data Type Required?

To support these
functions, the follow-
ing attributes/fields
are available for use
in the input JSON:
• inheritToChildOrg:
Boolean field that
will enable the abil-
ity to cascade
down the Org man-
ager to all child or-
ganizations.
Note:
To use this flag,
you must either
pass partialUp-
date=true or in-
clude all the chil-
dOrgs.
This is only applic-
able to orgMan-
ager association
and not to any oth-
er associations.
• partialUpdate:
Boolean field that
will enable the abil-
ity to add or re-
move one or more
associations
without impacting
the existing associ-
ations.
• action: Can be add
or delete. add adds
the corresponding
association to the
organization. de-
lete deletes the
corresponding as-
sociation from the
organization.
REST API Reference | Foundation | 539

Name Description Sample Value Data Type Required?

Note: The action and


partialUpdate fields
are only valid in case
of Organization Up-
date or while
adding/deleting indi-
vidual associations. If
partialUpdate is set
to true but the action
is not provided then
the default action is
add. In case of partial
update, if the attrib-
ute is not passed or
the attribute is
passed as a null value
or an empty array, no
action is taken.
For example:

Association{
orgManager:null
//No action will be
taken
}
Association{
orgManager:{}
//No action will be
taken
}

Note: While creating an organization (internal / external), for adding a budget approver:
1. The Recruiting functionality must be enabled
2. For the internal organization, the budget approver must be an internal user and for the
external organization the budget approver must be an external user.

Request Body

{
"name": "test bu2",
"parent_id": {
"id": "bisut000000000000001",
"displayName": "Root"
},
"state": "bu1state",
"number": "00200236",
"country": "bu1country",
"description": null,
"fax": "bu1fax",
"addr1": "bu1address1",
"addr2": "bu1address2",
"addr3": "",
"currency_id": {
REST API Reference | Foundation | 540

"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"email": "bu1@sabaqa.com",
"aa_id": {
"id": "emplo000000000001026",
"displayName": "User1 One1"
},
"cost_center_no": "111",
"phone2": "",
"phone1": "bu1pphone",
"contact_id": {
"id": "emplo000000000001000",
"displayName": "User One"
},
"billAddr1": "",
"billAddr2": "",
"billCity": "",
"billState": "",
"billZip": "",
"billCountry": "",
"objectives_administrator": null,
"currencies": [{
"id": "crncy000000000000001",
"displayName": "US Dollars"
}, {
"id": "crncy000000000001005",
"displayName": "Currency1"
}, {
"id": "crncy000000000001006",
"displayName": "Currency2"
}, {
"id": "crncy000000000200968",
"displayName": "Rupees"
}],
"vertical": null,
"city": "bu1city",
"zip": "bu1city",
"web_server": "webserver",
"customValues": {
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom9": null,
"custom0": "bu1custom0",
"custom3": "bu1custom3",
"custom4": "bu1custom4",
"custom1": "bu1custom1",
"custom2": "bu1custom2",
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations":{
"continueeducation":[
REST API Reference | Foundation | 541

],
"localLearningRegistrar":[
{
"displayName":"BBADA@SABA.COM"
},
{
"displayName":"3M Customer",
"id":"persn000000000200351"
},
{
"displayName":"AcuVision Eye Centre Customer",
"id":"persn000000000200446"
}
],
"organizationManager":[
{
"displayName":"User5 Five5",
"id":"emplo000000000001050"
},
{
"displayName":"User1 Six1",
"id":"emplo000000000001051"
}
]
}
}

Note:
Associations support lookup. To use lookup, pass the username in the "displayName" attribute
and omit the "id" attribute.
Note: To remove the owner association details, use the PUT operation.

Request Body (uses partialUpdate, inheritToChildOrg and action)

{
"associations": {
"partialUpdate" : true,
"childorg": [
{
"displayName": "bk_ext_org2",
"id": "cmpny000000000001745",
"action" : "add"
}
],
"continueeducation": [
{
"displayName": "CE_Plan_FOS_OFF",
"id": "cepln000000000001280",
"action" : "add"
}
],
"budgetapprover": [],
"localLearningRegistrar": [],
"organizationManager": [
{
"inheritToChildOrg": true,
"displayName": "2nd_level_fname 2nd_level_lname",
"id": "emplo000000000027753",
"action" : "add"
REST API Reference | Foundation | 542

}
]
}
}

CREATE A NEW EXTERNAL ORGANIZATION

Overview
Allows creating a new External Organization.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/organization?type=external

Calling Options
Table 196: Calling Options

Name Description Sample Value Data Type Required?

name Name of the organiza- Business Unit string Yes


tion REST Test 101

parent_id Parent's ID of the or-


{ "id": string Yes
ganization "bisut000000000000001",
"displayName":
Supports lookup (Or-
"Root" }
ganization).

vertical Vertical string No

currency_id The default currency object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

state State state1 string No

phone2 Phone 2 12345 string No


REST API Reference | Foundation | 543

Name Description Sample Value Data Type Required?

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

phone1 Phone 1 11223344 string No

aa_id AA's ID string No

city City city1 string No

description Description desc string No

customValues Custom Values string No

zip Zip 11223311 string No

fax Fax 12312 string No

number Number 123455 string No

country Country country1 string No

cost_center_no Cost center no cc1234 string No

addr1 Address 1 add1 string No

addr2 Address 2 add2 string No

email Email abc@gmail.com string No

addr3 Address 3 add3 string No

web_server Web server string No

contact_id Contact's ID { "id": "em- object No


plo000000000001000",
Supports lookup (Per-
"displayName":
son).
"User One" }

objectives_admin- Objectives adminis- object No


istrator trator
Supports lookup (Per-
son).

billAddr1 Bill Addr 1 billAddr1 string No

billAddr2 Bill Addr 2 billAddr2 string No

billCity Bill City billCity string No

billState Bill State billState string No


REST API Reference | Foundation | 544

Name Description Sample Value Data Type Required?

billZip Bill Zip billZip string No

billCountry Bill Country billCountry string No

currencies Currencies string No

max_discount Max discount 10 number No

associations Map of associations {"childorg":[{"dis- object No


object detail playName":
"Company1"},{"dis-
Note: Only child or-
play-
ganization, approver,
Name":"anu_Ex-
continue education
ternal_Org","id":
plan, organization
c
"mpny000000000200062}"]c
",on-
based LLR and organ-
tinueeduca-
ization manager can
tion":[{"display-
be passed as the asso-
Name": "test ce-
ciation objects.
plan1"},{"display-
Associations support Name": "test con-
lookup. To use lookup, tinue educa-
pass the username in tion"}],"budgetap-
the "displayName" at- prover":[{"display-
tribute and omit the Name":"CBUILD-
"id" attribute. ER"},{"display-
Name": "Catalog1
This API allows to:
Builder1","id": "per-
• Cascade down the sn000000000200920"}]}
organization man-
ager to all child or-
ganizations.
Note: The Cascad-
ing feature is only
applicable for or-
ganization man-
ager association.

To support these
functions, the follow-
ing attributes/fields
are available for use
in the input JSON:
• inheritToChildOrg:
Boolean field that
will enable the abil-
ity to cascade
down the Org man-
ager to all child or-
ganizations.
REST API Reference | Foundation | 545

Request Body

{
"name": "test_External_Admin_2",
"parent_id": null,
"state": "",
"number": "00200502111",
"country": "India",
"currency_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"description": "test_External_Admin",
"fax": "",
"addr1": "",
"addr2": "",
"addr3": "",
"email": "",
"is_active": true,
"contact_id": null,
"billAddr1": "",
"billAddr2": "",
"billCity": "",
"billState": "",
"billZip": "",
"billCountry": "India",
"objectives_administrator": null,
"currencies": [
{
"id": "crncy000000000000001",
"displayName": "US Dollars"
}
],
"max_discount":10,
"vertical": null,
"city": "",
"zip": "",
"business_typ": "",
"web_server": "",
"phone2": "",
"phone1": "",
"learning_vendor": true,
"learning_manufacturer": true,
"customValues": {
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
REST API Reference | Foundation | 546

},
"id": "cmpny000000000200502",
"associations": {
"childorg": [],
"continueeducation": [],
"budgetapprover": [
{
"displayName": "aa aa",
"id": "persn000000000201279"
},
{
"displayName": "AA AA",
"id": "persn000000000201278"
},
{
"displayName": "3M Customer",
"id": "persn000000000200351"
}
],
"organizationAdmin": [
{
"displayName": "BBADA@SABA.COM"
}
],
"organizationManager":[
{
"displayName":"aa aa",
"id":"persn000000000001002"
},
{
"displayName":"AA AA",
"id":"persn000000000001004"
}
]
}
}

Note:
Associations support lookup. To use lookup, pass the username in the "displayName" attribute
and omit the "id" attribute.
Note: While creating an organization (internal / external), for adding a budget approver:
1. The Recruiting functionality must be enabled
2. For the internal organization, the budget approver must be an internal user and for the
external organization the budget approver must be an external user.

Request Body (uses "inheritToChildOrg": true)

{
"contact_id": null,
"billAddr1": "",
"billAddr2": "",
"billCity": "",
"billState": "",
"billZip": "",
"billCountry": "",
"objectives_administrator": null,
"currencies": [
{
"id": "crncy000000000000167",
REST API Reference | Foundation | 547

"displayName": "US Dollars"


}
],
"learning_vendor": false,
"learning_manufacturer": false,
"vertical": null,
"city": "",
"zip": "",
"business_typ": "",
"phone2": "",
"phone1": "",
"web_server": "",
"fax": "",
"email": "",
"is_active": true,
"addr1": "",
"addr2": "",
"addr3": "",
"vat_no": null,
"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"description": "Test_Org_Temp",
"name": "test_External_Admin_2",
"state": "",
"country": "",
"customValues": {
"ExCustom6": null,
"ExCustom7": null,
"ExCustom4": null,
"ExCustom5": null,
"custom0": null,
"ExCustom8": null,
"ExCustom9": null,
"custom9": null,
"custom3": null,
"ExCustom21": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"ExCustom2": null,
"ExCustom25": null,
"custom8": null,
"ExCustom3": null,
"ExCustom24": null,
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom5": null,
"ExCustom23": null,
"custom6": null,
"ExCustom1": null,
"ExCustom22": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
REST API Reference | Foundation | 548

"associations": {
"childorg": [
{
"displayName": "bk_ext_org2",
"id": "cmpny000000000001745"
}
],
"continueeducation": [
{
"displayName": "CE_Plan_FOS_OFF",
"id": "cepln000000000001280"
}
],
"budgetapprover": [],
"organizationAdmin": [],
"organizationManager": [
{
"inheritToChildOrg": true,
"displayName": "2nd_level_fname 2nd_level_lname",
"id": "emplo000000000027755"
}
]
}
}

Return Values

{
"id": "cmpny000000000200504",
"displayName": "test_External_Admin_2",
"href": "http://<hostname-api.sabacloud.com>/v1/organization/cmpny000000000200504"
}

UPDATE DETAILS OF AN EXTERNAL ORGANIZATION

Overview
Allows updating an existing External Business Organization based on the Organization's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/organization/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the number instead of the external
Organization's ID.
https://<hostname-api.sabacloud.com>/v1/organization/number%3D<OrgNo>?type=external
REST API Reference | Foundation | 549

Calling Options
Table 197: Calling Options

Name Description Sample Value Data Type Required?

id Organization's ID string Yes

name Name of the organiza- Business Unit string Yes


tion REST Test 101

parent_id Parent's ID of the or-


{ "id": string Yes
ganization "bisut000000000000001",
"displayName":
Supports lookup (Or-
"Root" }
ganization).

vertical Vertical string No

currency_id The default currency object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"US Dollars"}

state State state1 string No

phone2 Phone 2 12345 string No

securityDomain Security Domain object Yes


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"name": "world"
}

phone1 Phone 1 11223344 string No

aa_id AA's ID string No

city City city1 string No

description Description desc string No

customValues Custom Values string No

zip Zip 11223311 string No

fax Fax 12312 string No

number Number 123455 string No

country Country country1 string No

cost_center_no Cost center no cc1234 string No

addr1 Address 1 add1 string No


REST API Reference | Foundation | 550

Name Description Sample Value Data Type Required?

addr2 Address 2 add2 string No

email Email abc@gmail.com string No

addr3 Address 3 add3 string No

web_server Web server string No

contact_id Contact's ID { "id": "em- object No


plo000000000001000",
Supports lookup (Per-
"displayName":
son).
"User One" }

objectives_admin- Objectives adminis- object No


istrator trator
Supports lookup (Per-
son).

billAddr1 Bill Addr 1 billAddr1 string No

billAddr2 Bill Addr 2 billAddr2 string No

billCity Bill City billCity string No

billState Bill State billState string No

billZip Bill Zip billZip string No

billCountry Bill Country billCountry string No

currencies Currencies string No

max_discount Max discount 10 number No


REST API Reference | Foundation | 551

Name Description Sample Value Data Type Required?

associations {"childorg":[{"dis- object No


playName":
"Company1"},{"dis-
play-
Name":"anu_Ex-
ternal_Org","id":
c
"mpny000000000200062}"]c
",on-
tinueeduca-
tion":[{"display-
Name": "test ce-
plan1"},{"display-
Name": "test con-
tinue educa-
tion"}],"budgetap-
prover":[{"display-
Name":"CBUILD-
ER"},{"display-
Name": "Catalog1
Builder1","id": "per-
sn000000000200920"}]}
REST API Reference | Foundation | 552

Name Description Sample Value Data Type Required?

Map of associations
object detail
Note: Only child or-
ganization, approver,
continue education
plan, organization
based LLR and organ-
ization manager can
be passed as the asso-
ciation objects.
Pass this attribute,
only if you need to up-
date associations. By
default, existing asso-
ciations are removed.
If you need to pre-
serve them, use the
partialUpdate attrib-
ute.
Note:
Associations support
lookup. To use lookup,
pass the username in
the "displayName" at-
tribute and omit the
"id" attribute.
This API allows to:
• Add one or more
associations
without impacting
the existing associ-
ations. For ex-
ample, add one or
more budget ap-
provers without
impacting the cur-
rent set of budget
approvers.
• Remove a single
association. For ex-
ample: removing
one budget ap-
prover without
knowing the full list
of approvers.
• Replace just one
association and
leave others un-
changed.
• Cascade down the
REST API Reference | Foundation | 553

Name Description Sample Value Data Type Required?

organization man-
ager to all child or-
ganizations.
Note: The Cascad-
ing feature is only
applicable for or-
ganization man-
ager association.
REST API Reference | Foundation | 554

Name Description Sample Value Data Type Required?

To support these
functions, the follow-
ing attributes/fields
are available for use
in the input JSON:
• inheritToChildOrg:
Boolean field that
will enable the abil-
ity to cascade
down the Org man-
ager to all child or-
ganizations.
Note:
To use this flag,
you must either
pass partialUp-
date=true or in-
clude all the chil-
dOrgs.
This is only applic-
able to orgMan-
ager association
and not to any oth-
er associations.
• partialUpdate:
Boolean field that
will enable the abil-
ity to add or re-
move one or more
associations
without impacting
the existing associ-
ations.
• action: Can be add
or delete. add adds
the corresponding
association to the
organization. de-
lete deletes the
corresponding as-
sociation from the
organization.
REST API Reference | Foundation | 555

Name Description Sample Value Data Type Required?

Note: The action and


partialUpdate fields
are only valid in case
of Organization Up-
date or while
adding/deleting indi-
vidual associations. If
partialUpdate is set
to true but the action
is not provided then
the default action is
add. In case of partial
update, if the attrib-
ute is not passed or
the attribute is
passed as a null value
or an empty array, no
action is taken.
For example:

Association{
orgManager:null
//No action will be
taken
}
Association{
orgManager:{}
//No action will be
taken
}

Note: While creating an organization (internal / external), for adding a budget approver:
1. The Recruiting functionality must be enabled
2. For the internal organization, the budget approver must be an internal user and for the
external organization the budget approver must be an external user.

Request Body

{
"name": "test comp1",
"parent_id": {
"id": "cmpny000000000200062",
"displayName": "Ext_org_Sales&Mkt"
},
"state": "bu1state",
"number": "005001",
"country": "bu1country",
"description": null,
"fax": "bu1fax",
"addr1": "bu1address1",
"addr2": "bu1address2",
"addr3": "",
"currency_id": {
REST API Reference | Foundation | 556

"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"email": "bu1@sabaqa.com",
"is_active": false,
"learning_vendor": false,
"learning_manufacturer": false,
"phone2": "",
"phone1": "bu1pphone",
"contact_id": {
"id": "persn000000000001000",
"displayName": "Client One"
},
"billAddr1": "add1",
"billAddr2": "add2",
"billCity": "city1",
"billState": "state1",
"billZip": "123456",
"billCountry": "Insia",
"objectives_administrator": null,
"currencies": [{
"id": "crncy000000000000001",
"displayName": "US Dollars"
}, {
"id": "crncy000000000001005",
"displayName": "Currency1"
}, {
"id": "crncy000000000001006",
"displayName": "Currency2"
}, {
"id": "crncy000000000200968",
"displayName": "Rupees"
}],
"max_discount":10,
"vertical": null,
"city": "bu1city",
"zip": "bu1city",
"business_typ": "",
"web_server": "webserver",
"customValues": {
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"custom9": null,
"custom0": "bu1custom0",
"custom3": "bu1custom3",
"custom4": "bu1custom4",
"custom1": "bu1custom1",
"custom2": "bu1custom2",
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations":{
"childorg":[
REST API Reference | Foundation | 557

],
"continueeducation":[

],
"budgetapprover":[
{
"displayName":"aa aa",
"id":"persn000000000201279"
},
{
"displayName":"AA AA",
"id":"persn000000000201278"
},
{
"displayName":"3M Customer",
"id":"persn000000000200351"
}
],
"organizationAdmin":[
{
"displayName":"BBADA@SABA.COM"
},
{
"displayName":"3M Customer",
"id":"persn000000000200351"
},
{
"displayName":"AcuVision Eye Centre Customer",
"id":"persn000000000200446"
}
],
"organizationManager":[
{
"displayName":"aa aa",
"id":"persn000000000001002"
},
{
"displayName":"AA AA",
"id":"persn000000000001004"
}
]
}
}

Note:
Associations support lookup. To use lookup, pass the username in the "displayName" attribute
and omit the "id" attribute.
Note: To remove the owner association details, use the PUT operation.

Request Body (uses partialUpdate, inheritToChildOrg and action)

{
"associations": {
"partialUpdate" : true,
"childorg": [
{
"displayName": "bk_ext_org2",
"id": "cmpny000000000001745",
"action" : "add"
REST API Reference | Foundation | 558

}
],
"continueeducation": [
{
"displayName": "CE_Plan_FOS_OFF",
"id": "cepln000000000001280",
"action" : "add"
}
],
"budgetapprover": [],
"organizationAdmin": [],
"organizationManager": [
{
"inheritToChildOrg": true,
"displayName": "2nd_level_fname 2nd_level_lname",
"id": "emplo000000000027753",
"action" : "add"
}
]
}
}

Positions
REST endpoints for the Foundation data.

GET META DETAILS OF POSITIONS

Overview
Returns the meta details of the Position.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/positions/meta:(:searchFields)

Calling Options
Table 198: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned
REST API Reference | Foundation | 559

Return Values

{
"sampleData": {
"descriptor": null,
"location": null,
"organization": null,
"sharedPosition": false,
"sharedPeopleCount": 1,
"leadershipPosition": false,
"status": null,
"notes": null,
"jobType": null,
"fillableDate": null,
"reportsTo": null,
"createdDate": null,
"positionId": null,
"positionTitle": null,
"keyPosition": false,
"fteValue": null,
"atRisk": 0,
"endDate": null,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://{hostname}-api.sabacloud.com/v1/positions/postn000000000000001"

},
"name": "Position",
"displayName": "Position",
"attributes": [
{
"name": "atRisk",
"displayName": "At Risk",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href": "https://{hostname}-api.sabacloud.com/v1/list/sysli000000000003055/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "ciTitle",
"displayName": "CI Title",
REST API Reference | Foundation | 560

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "createdDate",
"displayName": "Created Date ",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "descriptor",
"displayName": "Descriptor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 1000,
"maximumLength": 1000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "endDate",
"displayName": "End Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "fillableDate",
"displayName": "Date Fillable",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "flags",
"displayName": "Flags",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Foundation | 561

"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "fteValue",
"displayName": "FTE Value",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "jobType",
"displayName": "Job",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "keyPosition",
"displayName": "Key Position",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "leadershipPosition",
"displayName": "Leadership Position",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "location",
"displayName": "Location",
REST API Reference | Foundation | 562

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "notes",
"displayName": "Notes",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 1000,
"maximumLength": 1000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "organization",
"displayName": "Organization",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "positionId",
"displayName": "Position ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 20,
"maximumLength": 20,
"isSearchFilter": true
},
{
"name": "positionTitle",
"displayName": "Position Title",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "reportsTo",
REST API Reference | Foundation | 563

"displayName": "Reports to Position",


"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "sharedPeopleCount",
"displayName": "Number of incumbents",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "sharedPosition",
"displayName": "Shared Position",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href": "https://{hostname}-api.sabacloud.com/v1/list/sysli000000000003054/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom 0",
"description": null,
"isRequired": false,
REST API Reference | Foundation | 564

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom 1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom 2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom 3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom 4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
REST API Reference | Foundation | 565

"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom 5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom 6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom 7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom 8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom 9",
REST API Reference | Foundation | 566

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
}
]
}

FIND DETAILS OF POSITIONS

Overview
Returns the details of the positions along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/positions?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 199: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. status string Yes


the field name.

field_value The search value for 100 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Foundation | 567

Return Values

{
"hasMoreResults": false,
"itemsPerPage": 10,
"startIndex": 1,
"totalResults": 1,
"facets": [],
"results": [
{
"id": "postn000000000001302",
"href": "https://{hostname}-api.sabacloud.com/v1/positions/postn000000000001302"

}
]
}

FIND DETAILS OF POSITIONS (Using POST - Range based search)

Overview
Returns the details of the positions along with the ID, Name and the Deeplink URL based on
the provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/positions/searchQuery?count=:count&startPage=:startPage
REST API Reference | Foundation | 568

Calling Options
Table 200: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search condi- [{"name":"status", string Yes


name tions. "operat-
or":"==","value":"300"
You can use any field
}
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
You can use search
operators such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions":[
{
"name":"status",
"operator":"==",
"value":"300"
},
{
"name":"positionTitle",
"operator":"==",
"value":"new position 001"
}
]
}
REST API Reference | Foundation | 569

Return Values

{
"hasMoreResults": false,
"itemsPerPage": 10,
"startIndex": 1,
"totalResults": 1,
"facets": [],
"results": [
{
"id": "postn000000000001302",
"href": "https://{hostname}-api.sabacloud.com/v1/positions/postn000000000001302"

}
]
}

GET ALL POSITIONS

Overview
Returns all Positions for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/positions?count=:count&startPage=:startPage

Calling Options
Table 201: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"itemsPerPage": 10,
"startIndex": 1,
"totalResults": 1,
REST API Reference | Foundation | 570

"facets": [],
"results": [
{
"id": "postn000000000001302",
"href": "https://{hostname}-api.sabacloud.com/v1/positions/postn000000000001302"

}
]
}

GET DETAILS OF A PARTICULAR POSITION

Overview
Returns complete information about a Position based on the position's ID that is passed as
a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/position/:id:(:searchFields)

URL (User-friendly)
You can use a user-friendly URL which accepts the position_id instead of the internal Position's
ID.
https://<hostname-api.sabacloud.com>/v1/position/position_id%3D<PositionID see on UI>

Calling Options
Table 202: Calling Options

Name Description Sample Value Data Type Required?

id Position's ID string Yes

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
"@type": "com.saba.rest.position.RestPositionDTO",
"positionDetail": {
"@type": "com.saba.rest.position.RestPositionDetail",
"descriptor": null,
REST API Reference | Foundation | 571

"location": null,
"id": null,
"domain": {
"@type": "com.saba.rest.RestReference",
"name": "world",
"id": "domin000000000000001"
},
"org": {
"@type": "com.saba.rest.RestReference",
"name": "BusinessUnit1",
"id": "bisut000000000001000"
},
"sharedPeopleCount": 1,
"status": "300",
"updateMetadata": null,
"job": {
"@type": "com.saba.rest.RestReference",
"name": "Engineer 2",
"id": "jobtp000000000200162"
},
"notes": "new position 001 notes changed",
"fillableDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1444156200000,
"locale": "10/07/2015",
"dateInUserTimeZone": "10/06/2015",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/07/2015",
"timeInLocale": "12:00 AM"
},
"reportsTo": null,
"createdDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1444156200000,
"locale": "10/07/2015",
"dateInUserTimeZone": "10/06/2015",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/07/2015",
"timeInLocale": "12:00 AM"
},
"positionTitle": "new position 001",
"effectiveOn": null,
"positionID": "newposition001",
"atRisk": 0,
"customValues": null,
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1480444200000,
"locale": "11/30/2016",
"dateInUserTimeZone": "11/29/2016",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
REST API Reference | Foundation | 572

"timeInStandardFormat": "12:00 AM",


"dateInStandardFormat": "11/30/2016",
"timeInLocale": "12:00 AM"
},
"leadershipPosition": false,
"sharedPosition": false,
"keyPosition": false,
"ineffective": false,
"fTEvalue": null
},
"positionCompensationDetail": {
"@type": "com.saba.rest.position.RestPositionCompensationDetail",
"id": "cmpsn000000000001302",
"position": {
"@type": "com.saba.rest.RestReference",
"name": "new position 001",
"id": "postn000000000001302"
},
"currency": null,
"targetBaseComp": 2,
"costCenter": null,
"salaryGrade": null,
"incentivePlan": null,
"totalBudgetComp": 2,
"targetTotalAnnualComp": 2,
"targetVariableComp": 2,
"minPayRange": 0,
"midPayRange": 0,
"maxPayRange": 0,
"amount": 0
},
"incumbentList": [
"list",
[]
]
}

CREATE A NEW POSITION

Overview
Creates a new position

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/Saba/api/common/position/
REST API Reference | Foundation | 573

Calling Options
Table 203: Calling Options

Name Description Sample Value Data Type Required?

@type Input JSON class com.saba.rest.po- string Yes


name sition.RestPosi-
tionDTO
REST API Reference | Foundation | 574

Name Description Sample Value Data Type Required?

positionDetail Position details object Yes


Note: securityDomain
- Supports lookup
(Domain).
Organization - Sup-
ports lookup (Organiz-
ation).
location - Supports
lookup (Location).
Job - Supports lookup
(JobType).
REST API Reference | Foundation | 575

Name Description Sample Value Data Type Required?

{"@type":"com.saba.rest.po-
sition.RestPosi-
tionDe-
tail","descriptor":null,"loc-
a-
tion":null,"id":null,"do-
man i "{:"@type":coms.abar.estR
. e-
stReference",
"name":"world","id":"dom-
in000000000000001"},"org":{
"@type":"com.saba.rest.Re-
stRefer-
ence","name":"busi-
nes-
sunti1"d
,i ":bs
iut000000000001000"
},"sharedPeople-
Count":4,"ineffect-
ive":false,"fTE-
value":null,"cI-
Title":"position for
demo job01","key-
Posi-
tion":false,"shared-
Position":true,"up-
date-
Metadatan:"o
u
j",lb{@
:" typec
":oms.abar.estR
.e-
stRefer-
ence","name":"Demo
job role","id":"job-
tp000000000200280"
},"notes":"note for
demo job01","fil-
lableD-
ate":{"@type":"date",
"time":"2015-10-
10"},"re-
portsTo":null,
"created-
Date":{"@type":date",time":2015-
10-09"},
"status":100, "posi-
tionTitle":"posi-
tion for demo
job01","effective-
On":null,"posi-
tionID":"demo-
pos01", "at-
Risk":100, "custom-
Values":null, "end-
Date":{"@type":date",time":2016-
11-30" }, "leader-
shipPosi-
tion":false}
REST API Reference | Foundation | 576

Name Description Sample Value Data Type Required?

positionCompens- { "@type": string Yes


ationDetail "com.saba.rest.po-
sition.RestPosi-
tionCompensa-
tionDetail", "id":
null, "position":
null, "currency":
null, "target-
BaseComp": 2.0,
"amount": 2.0,
"minPayRange":
2.0, "max-
PayRange": 2.0,
"midPayRange":
2.0, "costCenter":
null, "salary-
Grade": null, "in-
centivePlan": null,
"totalBudget-
Comp": 2.0, "tar-
getTotalAnnual-
Comp": 2.0, "tar-
getVariable-
Comp": 2.0 }

Request Body

{
"@type": "com.saba.rest.position.RestPositionDTO",
"positionDetail": {
"@type": "com.saba.rest.position.RestPositionDetail",
"descriptor": null,
"location": null,
"id": null,
"domain": {
"@type": "com.saba.rest.RestReference",
"name": "world",
"id": "domin000000000000001"
},
"org": {
"@type": "com.saba.rest.RestReference",
"name": "businessunit1",
"id": "bisut000000000001000"
},
"sharedPeopleCount": 4,
"ineffective": false,
"fTEvalue": null,
"cITitle": "position for demo job01",
"keyPosition": false,
"sharedPosition": true,
"updateMetadata": null,
"job": {
"@type": "com.saba.rest.RestReference",
"name": "Demo job role",
"id": "jobtp000000000200280"
REST API Reference | Foundation | 577

},
"notes": "note for demo job01",
"fillableDate": {
"@type": "date",
"time": "2015-10-10"
},
"reportsTo": null,
"createdDate": {
"@type": "date",
"time": "2015-10-09"
},
"status": 100,
"positionTitle": "position for demo job01",
"effectiveOn": null,
"positionID": "demopos01",
"atRisk": 100,
"customValues": null,
"endDate": {
"@type": "date",
"time": "2016-11-30"
},
"leadershipPosition": false
},
"positionCompensationDetail": {
"@type": "com.saba.rest.position.RestPositionCompensationDetail",
"id": null,
"position": null,
"currency": null,
"targetBaseComp": 2.0,
"amount": 2.0,
"minPayRange": 2.0,
"maxPayRange": 2.0,
"midPayRange": 2.0,
"costCenter": null,
"salaryGrade": null,
"incentivePlan": null,
"totalBudgetComp": 2.0,
"targetTotalAnnualComp": 2.0,
"targetVariableComp": 2.0
},
"incumbentList": null
}

Return Values

{
"@type": "com.saba.position.entity.PositionReference",
"componentName": "Position",
"sourceType": "Position",
"positionId": null,
"positionTitle": null,
"activitySourceType": {
"sourceType": 7,
"listId": "sysli000000000003037",
"key": "7",
"displayName": "Position"
},
"id": "postn000000000001322",
"displayName": "demopos01",
"locale": {
"@type": "loclref",
REST API Reference | Foundation | 578

"id": "local000000000000001",
"displayName": null
},
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "postn000000000001322",
"prefix": "postn"
}
}

UPDATE DETAILS OF A POSITION

Overview
Updates an existing position based on the position's ID that is passed as a parameter value.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/Saba/api/common/position/:id

Calling Options
Table 204: Calling Options

Name Description Sample Value Data Type Required?

id Position's ID postn000000000001303 string Yes

@type Input JSON class com.saba.rest.po- string Yes


name sition.RestPosi-
tionDTO

positionDetail Position details { "@type": object Yes


"com.saba.rest.po-
Note: securityDomain
sition.RestPosi-
- Supports lookup
tionDetail",
(Domain).
"descriptor": null,
Organization - Sup- "location": null,
ports lookup (Organiz- "id": null, "do-
ation). main": { "@type":
"com.saba.rest.Re-
location - Supports
stReference",
lookup (Location).
"name": "world",
Job - Supports lookup "id": "dom-
(JobType). in000000000000001"
}
REST API Reference | Foundation | 579

Name Description Sample Value Data Type Required?

positionCompens- position compensa- { "@type": string Yes


ationDetail tion details "com.saba.rest.po-
sition.RestPosi-
tionCompensa-
tionDetail", "id":
null, "position":
null, "currency":
null, "target-
BaseComp": 2.0,
"amount": 2.0,
"minPayRange":
2.0, "max-
PayRange": 2.0,
"midPayRange":
2.0, "costCenter":
null, "salary-
Grade": null, "in-
centivePlan": null,
"totalBudget-
Comp": 2.0, "tar-
getTotalAnnual-
Comp": 2.0, "tar-
getVariable-
Comp": 2.0 }

Request Body

{
"@type": "com.saba.rest.position.RestPositionDTO",
"positionDetail": {
"@type": "com.saba.rest.position.RestPositionDetail",
"descriptor": null,
"location": null,
"id": null,
"domain": {
"@type": "com.saba.rest.RestReference",
"name": "world",
"id": "domin000000000000001"
},
"org": {
"@type": "com.saba.rest.RestReference",
"name": "businessunit1",
"id": "bisut000000000001000"
},
"sharedPeopleCount": 4,
"ineffective": false,
"fTEvalue": null,
"cITitle": "position for demo job01",
"keyPosition": false,
"sharedPosition": true,
"updateMetadata": null,
"job": {
"@type": "com.saba.rest.RestReference",
"name": "Demo job role",
"id": "jobtp000000000200280"
REST API Reference | Foundation | 580

},
"notes": "note for demo job01, end date changed",
"fillableDate": {
"@type": "date",
"time": "2015-10-10"
},
"reportsTo": null,
"createdDate": {
"@type": "date",
"time": "2015-10-09"
},
"status": 100,
"positionTitle": "position for demo job01",
"effectiveOn": null,
"positionID": "demopos01",
"atRisk": 100,
"customValues": null,
"endDate": {
"@type": "date",
"time": "2016-10-30"
},
"leadershipPosition": false
},
"positionCompensationDetail": {
"@type": "com.saba.rest.position.RestPositionCompensationDetail",
"id": null,
"position": null,
"currency": null,
"targetBaseComp": 2.0,
"amount": 2.0,
"minPayRange": 2.0,
"maxPayRange": 2.0,
"midPayRange": 2.0,
"costCenter": null,
"salaryGrade": null,
"incentivePlan": null,
"totalBudgetComp": 2.0,
"targetTotalAnnualComp": 2.0,
"targetVariableComp": 2.0
},
"incumbentList": null
}

DELETE POSITION OF A PERSON

Overview
Deletes a position (or the position incumbent) of a particular person based on the person's
ID and the position's ID (or the position incumbent's ID) that are passed as parameter values.

Requires OAuth
No

Method
PUT
REST API Reference | Foundation | 581

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/positions/:positionIdORpositionIncumbentId

Calling Options
Table 205: Calling Options

Name Description Sample Value Data Type Required?

positionIdORposi- Position's ID - to de- postn000000000001303 string Yes


tionIncumbentId lete the active incum-
bent
Note: If you pass the
position incumbent ID,
this API will delete
that position incum-
bent irrespective of
the status.

personId ID of the Person em- string Yes


whose position needs plo000000000200908
to be deleted

Request Body

{
"@type": "com.saba.rest.position.RestPositionDTO",
"positionDetail": {
"@type": "com.saba.rest.position.RestPositionDetail",
"descriptor": null,
"location": null,
"id": null,
"domain": {
"@type": "com.saba.rest.RestReference",
"name": "world",
"id": "domin000000000000001"
},
"org": {
"@type": "com.saba.rest.RestReference",
"name": "businessunit1",
"id": "bisut000000000001000"
},
"sharedPeopleCount": 4,
"ineffective": false,
"fTEvalue": null,
"cITitle": "position for demo job01",
"keyPosition": false,
"sharedPosition": true,
"updateMetadata": null,
"job": {
"@type": "com.saba.rest.RestReference",
"name": "Demo job role",
"id": "jobtp000000000200280"
},
"notes": "note for demo job01, end date changed",
"fillableDate": {
REST API Reference | Foundation | 582

"@type": "date",
"time": "2015-10-10"
},
"reportsTo": null,
"createdDate": {
"@type": "date",
"time": "2015-10-09"
},
"status": 100,
"positionTitle": "position for demo job01",
"effectiveOn": null,
"positionID": "demopos01",
"atRisk": 100,
"customValues": null,
"endDate": {
"@type": "date",
"time": "2016-10-30"
},
"leadershipPosition": false
},
"positionCompensationDetail": {
"@type": "com.saba.rest.position.RestPositionCompensationDetail",
"id": null,
"position": null,
"currency": null,
"targetBaseComp": 2.0,
"amount": 2.0,
"minPayRange": 2.0,
"maxPayRange": 2.0,
"midPayRange": 2.0,
"costCenter": null,
"salaryGrade": null,
"incentivePlan": null,
"totalBudgetComp": 2.0,
"targetTotalAnnualComp": 2.0,
"targetVariableComp": 2.0
},
"incumbentList": null
}

UPDATE POSITION INCUMBENT OF A PERSON

Overview
Updates a position incumbent of a particular person based on the person's ID and the position
incumbent's ID that are passed as parameter values.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/positions/:positionIncumbentId
REST API Reference | Foundation | 583

Table 206: Calling Options

Name Description Sample Value Data Type Required?

positionIncum- Position Incumbent's poinc000000000001330 string Yes


bentId ID

personId ID of the Person to em- string Yes


whom the position is plo000000000200908
to be assigned.

positionsIncum- Position incumbent string Yes


bent details. {"start_date":"2020-
01-06",
"end_date":"2020-
01-08",
"posi►
to
in_d
i{d
:"ip
":ostn000000000001323,"
"display►
Name":"User
One Position"},
"primary":true,"isIn►
terim":true,
"act►
ive":true,"shared_per►
cent":20}

Request Body

{
"start_date": "2020-01-06",
"end_date": "2020-01-08",
"position_id": {
"id": "postn000000000001323",
"displayName": "User One Position"
},
"primary": true,
"isInterim": true,
"active": true,
"shared_percent": 20
}

ASSIGN POSITION FOR A PERSON

Overview
Adds positions for a particular person based on the person's ID that is passed as a parameter
value.

Requires OAuth
No
REST API Reference | Foundation | 584

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/positions

Calling Options
Table 207: Calling Options

Name Description Sample Value Data Type Required?

positions Required Positions to {"positions":[{"pos- string Yes


be assigned to a Per- i-
son to
i n_d
i {":d
i "p
: ostn000000000001322",
"display-
position_id - Supports
Name":"position
lookup (Position).
for demo
job01"},"isPrimary":false,
"act-
ive":true,"end_date":"2016-
09-
21T000 : 00 : 00
. 00+0530"s
,hared_per-
cent":10}]}

personId ID of the Person to em- string Yes


whom the position is plo000000000200908
to be assigned

Request Body

{
"positions":[
{
"position_id":{
"id":"postn000000000001303",
"displayName":"new position 002"
},
"isPrimary":false,
"active":true,
"end_date":"2015-10-15",
"shared_percent":20
},
{
"position_id":{
"id":"postn000000000001322",
"displayName":"position for demo job01"
},
"isPrimary":false,
"active":true,
"end_date":"2015-10-21T00:00:00.000+0530",
"shared_percent":10
}
]
}
REST API Reference | Foundation | 585

Return Values

{
"id": "emplo000000000200908",
"displayName": null,
"href":
"https://{hostname}-api.sabacloud.com/v1/people/emplo000000000200908:(positions)"
}

Roles
REST endpoints for the Foundation data.

GET ALL ROLES

Overview
Returns all Roles for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/role

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "bd for 330502",
"id": "roles000000000001140",
"href": "https://<hostname-api.sabacloud.com>/v1/role/roles000000000001140"
}
],
"totalResults": 1,
"startIndex": 1
}
REST API Reference | Foundation | 586

FIND DETAILS OF ROLES

Overview
Returns the details of the Roles along with the ID, Name and the Deeplink URL based on the
provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/role?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 208: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
REST API Reference | Foundation | 587

"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "bd for 330502",
"id": "roles000000000001140",
"href": "https://<hostname-api.sabacloud.com>/v1/role/roles000000000001140"
}
],
"totalResults": 1,
"startIndex": 1
}

GET META DETAILS OF AVAILABLE ROLES

Overview
Returns the meta details of the job roles.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/role/meta

Return Values

{
"sampleData": {
"name": "",
"description": "",
"customValues": {
"ExCustom3": null,
"custom1": null,
"ExCustom2": null,
"custom2": null,
"ExCustom1": "ffffffffff",
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/role/roles000000000000001"
},
"name": "Role",
"displayName": "Role",
"attributes": [
{
"name": "description",
"displayName": "Description",
REST API Reference | Foundation | 588

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
REST API Reference | Foundation | 589

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
REST API Reference | Foundation | 590

"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000200081/values"
},
REST API Reference | Foundation | 591

"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom3",
"displayName": "ExCustom3",
"description": "ExCustom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom4",
"displayName": "ExCustom4",
"description": "ExCustom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

GET DETAILS OF A PARTICULAR ROLE

Overview
Returns complete information about a job role based on the Role's ID that is passed as a
parameter value.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/role/:id
REST API Reference | Foundation | 592

Note: Use ?includeassociation=true to retrieve the association details (such as owner) as


well:
https://<hostname-api.sabacloud.com>/v1/role/:id?includeassociation=true

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Role's ID.
https://<hostname-api.sabacloud.com>/v1/role/name%3D<RoleName>?includeassociation=true

Calling Options
Table 209: Calling Options

Name Description Sample Value Data Type Required?

id Role's ID roles000000000001211 string Yes

includeassoci- Returns the details of true string No


ation associations in the
search

Return Values

{
"name": "testRole35",
"description": "test role35",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "roles000000000001211",
"associations": {
"owner": [
{
"id": "emplo000000000001001",
"dispalyName": "User Two"
}

},
"continueeducation": [
{
"displayName": "testPlan1",
"id": "cepln000000000001160"
}
]
,
REST API Reference | Foundation | 593

"skill": [
{
"minimumRequired": "Above average",
"id": "compt000000000001003",
"dispalyName": "Skill4"
}
],
"checklist": {
"displayName": "Checklist2",
"id": "chklt000000000002020"
},
"learningevent": [
{
"displayName": "EWJ Offering",
"id": "cours000000000200061",
"type": 0,
"version": null
}
]
}
}

Note: Associations will not work with the includeDetails=true query param. This is applicable
only for specific object search.

CREATE A NEW ROLE

Overview
Allows creating a new job role.

Method
POST

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/role

Calling Options
Table 210: Calling Options

Name Description Sample Value Data Type Required?

name The name of the role EngineerRo- string Yes


leTech20

description The short description EngineerRo- string No


about the job role leTech20descrip-
tion
REST API Reference | Foundation | 594

Name Description Sample Value Data Type Required?

securityDomain The domain for the object Yes


role {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

customValues Custom Values Cust01 string No


REST API Reference | Foundation | 595

Name Description Sample Value Data Type Required?

associations Map of associations { "owner":[ { object No


object detail "id":"em-
plo000000000001000",
Note: You can the
"display-
following as the asso-
Name":"testown-
ciation object:
er" } ], "checklist":[
• Learning Event { "id":"ch-
(Course / Certifica- klt000000000002023",
tion / Curriculum) "display-
Name":"testcheck-
Note: Supports
list" } n ],
lookup (Course,
"learningevent":[
Certification, Cur-
{ "isRe-
riculum).
quired":true, "dis-
• Skill playName":"test-
course",
Note: Supports n"di ":cours000000000200029",
lookup (Compet- "type":"Course",
ency). "version":"1.1" } ],
• Owner "continueeduca-
tion":[ {
Note: Supports "id":"cepln000000000001160",
lookup (Person). "display-
If the logged in Name":"testplan"
person is internal } ], "skill":[ { "min-
then only the intern- imumRe-
al users can be as- quired":"Average",
sociated. Similarly, "display-
if the logged in per- Name":"Automa-
son is external then tionTesting",
only the external "d
i ":compt000000000001106"
users can be asso- }]}
ciated.
• Checklist
Note: Supports
lookup (Checklist).
• Continue Educa-
tion
Note: Supports
lookup (CEPlan).

Pass this attribute,


only if you need to up-
date the association.
Pass it as NULL to re-
move all the existing
association data.
REST API Reference | Foundation | 596

Request Body

{
"name" : "testRole",
"description" : "test role",
"associations":{
"owner": [
{
"id": "emplo000000000001000",
"displayName": "test owner"
}
],
"checklist": [
{
"id": "chklt000000000002023",
"displayName": "test checklist"
}
],
"learningevent": [
{
"isRequired": true,
"displayName": "test course",
"id": "cours000000000200029",
"type": "Course",
"version": "1.1"
}
],
"continueeducation": [
{
"id": "cepln000000000001160",
"displayName": "test plan"
}
],
"skill": [
{
"minimumRequired": "Average",
"displayName": "Automation Testing",
"id": "compt000000000001106"
}
]
},
"securityDomain" : {"id": "domin000000000000001","name": "world"}
}

Note: If you do not provide the "isRequired" attribute in the input json, it is set to the default
value: false.

Return Values

{
"id": "roles000000000001214",
"displayName": "testRole",
"href": "http://<hostname-api.sabacloud.com>/v1/role/roles000000000001214"
}
REST API Reference | Foundation | 597

UPDATE DETAILS OF A ROLE

Overview
Allows updating an existing job role based on the Role ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/role/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Role's ID.
https://<hostname-api.sabacloud.com>/v1/role/name%3D<RoleName>?includeassociation=true
Table 211: Calling Options

Name Description Sample Value Data Type Required?

id Role's ID roles000000000001211 string Yes

name The name of the role EngineerRo- string Yes


leTech20

description The short description EngineerRo- string No


about the job role leTech20descrip-
tion

securityDomain The domain for the object Yes


role {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

customValues Custom Values string No


REST API Reference | Foundation | 598

Name Description Sample Value Data Type Required?

associations Map of associations { "owner":[ { object No


object detail "id":"em-
plo000000000001000",
Note: You can the
"display-
following as the asso-
Name":"testown-
ciation object:
er" } ], "check-
• Learning Event list":[ { "id":"ch-
(Course / Certifica- klt000000000002023",
tion / Curriculum) "display-
Name":"testcheck-
Note: Supports
list" } n ],
lookup (Course,
"learningevent":[
Certification, Cur-
{ "isRe-
riculum).
quired":true, "dis-
• Skill playName":"test-
course",
Note: Supports n"di ":cours000000000200029",
lookup (Compet- "type":"Course",
ency). "version":"1.1" } ],
• Owner "continueeduca-
tion":[ {
Note: Supports "id":"cepln000000000001160",
lookup (Person). "display-
If the logged in Name":"testplan"
person is internal } ], "skill":[ { "min-
then only the in- imumRe-
ternal users can be quired":"Average",
associated. Simil- "display-
arly, if the logged Name":"Automa-
in person is extern- tionTesting",
al then only the ex- "d
i ":compt000000000001106"
ternal users can be }]}
associated.
• Checklist
Note: Supports
lookup (Checklist).
• Continue Educa-
tion
Note: Supports
lookup (CEPlan).

Pass this attribute,


only if you need to
update the associ-
ation. Pass it as NULL
to remove all the exist-
ing association data.
REST API Reference | Foundation | 599

Request Body

{
"name": "Role REST Test 102",
"description": "Role desc",
"customValues": {
"custom1": "ir5custom1",
"custom2": "ir5custom2",
"custom3": "ir5custom3",
"custom4": "ir5custom4",
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": "ir5custom0"
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"associations": {
"learningevent": [{
"isRequired": "true",
"displayName": "test certification",
"id": "crtfy000000000200020",
"type": "Certification",
"version": ""
}, {
"isRequired": "true",
"displayName": "test course",
"id": "cours000000000200424",
"type": "Course",
"version": "1.1"
}, {
"isRequired": "true",
"displayName": "test Curriculum",
"id": "curra000000000001003",
"type": "Curriculum",
"version": ""
}],
"skill": [{
"minimumRequired": "Average",
"displayName": "test skill",
"id": "cplvl000000000001007"
}],
"owner": [{
"id": "emplo000000000200091",
"displayName": "test owner"
}],
"continueeducation": [{
"id": "cepln000000000001000",
"displayName": "test plan"
}],
"checklist": [{
"id": "chklt000000000002001",
"displayName": "test checklist"
}]

}
}

Note: To remove the owner association details, use the PUT operation.
REST API Reference | Foundation | 600

If you do not provide the "isRequired" attribute in the input json, it is set to the default value:
false.

UPDATE LOCALE-SPECIFIC DETAILS OF ROLE

Overview
Update locale-specific attributes of role.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/role/roles000000000001040/locale
https://<hostname-api.sabacloud.com>/v1/role/name%3D<RoleName>/locale

Calling Options
Table 212: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- role string Yes


dated

instanceId Instance id of compon- roles000000000001040 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale).

name Name of role name string No

description Role description description string No


REST API Reference | Foundation | 601

Name Description Default Value Data Type Required?

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"name":"role1",
"description":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"
}
}
]}

Note
REST endpoints for the Foundation data.

FIND DETAILS OF NOTES

Overview
Returns the details of the Notes along with the ID, Name and the Deeplink URL based on the
provided search criteria.
REST API Reference | Foundation | 602

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/note?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 213: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"startIndex": 1,
"facets": [],
"totalResults": 3,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"category": "Default Category",
"owner_id": "jobtp000000000200240",
"note1": "note113",
"created_on": "2014-02-18T15:29:05.000+0530",
REST API Reference | Foundation | 603

"created_by": "UONE",
"id": "notes000000000201214",
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000201214"
}
}

FIND DETAILS OF NOTES FOR GIVEN NOTE ID

Overview
Returns the details of the notes along with the IDs. You can filter the results using the note's
reference ID.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/note/:noteId
OR
https://<hostname-api.sabacloud.com>/v1/note?q=(id==:noteId)
Note: You can use ?q to extract the noteId by passing in any other field to search for a
particular note. For example:
https://<hostname-api.sabacloud.com>/v1/note?q=(category==mycategory)

Calling Options
Table 214: Calling Options

Name Description Sample Value Data Type Required?

noteId Note's ID notes000000000201292 string Yes

Return Values

{
"results": [
{
"category": "Default Category",
"note1": "nope111",
"owner_id": "locat000000000200040",
"created_on": "2013-09-06T14:31:46.000+0530",
"created_by": "UONE",
"id": "notes000000000201292",
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000201292"
}
],
REST API Reference | Foundation | 604

"facets": [],
"startIndex": 1,
"totalResults": 0,
"hasMoreResults": false,
"itemsPerPage": 10
}

FIND DETAILS OF NOTES FOR GIVEN REFERENCE ID

Overview
Returns the details of the notes along with the IDs. You can filter the results using the note's
reference ID.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/note?q=(owner_id==:referenceId)
Note: You can use ?q to extract the noteId by passing in any other field to search for a
particular note. For example:
https://<hostname-api.sabacloud.com>/v1/note?q=(category==note_cate)

Calling Options
Table 215: Calling Options

Name Description Sample Value Data Type Required?

referenceId Note's reference ID locat000000000200040 string Yes

Return Values

{
"results": [
{
"category": "Default Category",
"note1": "nope1",
"owner_id": "locat000000000200040",
"created_on": "2013-08-23T16:30:49.000+0530",
"created_by": "UONE",
"id": "notes000000000201211",
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000201211"
},
{
"category": "Default Category",
"note1": "note2",
"owner_id": "locat000000000200040",
REST API Reference | Foundation | 605

"created_on": "2013-08-23T16:31:12.000+0530",
"created_by": "UONE",
"id": "notes000000000201212",
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000201212"
},
{
"category": "note_cate",
"note1": "nn111",
"owner_id": "locat000000000200040",
"created_on": "2013-09-05T19:33:50.000+0530",
"created_by": "UONE",
"id": "notes000000000201263",
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000201263"
}]
}

FIND META DETAILS OF NOTES

Overview
Returns the meta details of the notes

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/note/meta

Request Body

Return Values

{
"sampleData": {
"category": null,
"owner_id": null,
"note1": null,
"created_by": null,
"created_on": null,
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000000001"
},
"name": "Notes",
"displayName": "Notes",
"attributes": [
{
"name": "category",
"displayName": "Category",
"description": null,
"isRequired": false,
REST API Reference | Foundation | 606

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/listi000000000001102/values"
},
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Create ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "note1",
"displayName": "Note 1",
"description": null,
"isRequired": true,
REST API Reference | Foundation | 607

"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 500,
"maximumLength": 500,
"isSearchFilter": true
},
{
"name": "note2",
"displayName": "Note 2",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 500,
"maximumLength": 500,
"isSearchFilter": true
},
{
"name": "note3",
"displayName": "Note 3",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 500,
"maximumLength": 500,
"isSearchFilter": true
},
{
"name": "note4",
"displayName": "Note 4",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 500,
"maximumLength": 500,
"isSearchFilter": true
},
{
"name": "note_order",
"displayName": "Note Order",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "note_type",
"displayName": "Note Type",
"description": null,
REST API Reference | Foundation | 608

"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "owner_id",
"displayName": "Owner ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
}
]
}

CREATE A NEW NOTE

Overview
Allows creating a new note.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/note/

Calling Options
Table 216: Calling Options

Name Description Sample Value Data Type Required?

note1 Note Note101 string Yes

created_by Created by UONE string No

category Category of the note Default Category string Yes

created_on Created on 2013-08- string No


23T16:30:49.000+0530
REST API Reference | Foundation | 609

Name Description Sample Value Data Type Required?

owner_id Owner's ID, can be ID locat000000000200040 string Yes


of any component
supporting note from
UI.

Request Body

{
"category": "Default Category",
"created_on": "2013-08-23T16:30:49.000+0530",
"created_by": "UONE",
"note1": "nope111",
"owner_id": "locat000000000200040"
}

Return Values

{
"id": "notes000000000201312",
"displayName": null,
"href": "https://<hostname-api.sabacloud.com>/v1/note/notes000000000201312"
}

Security Roles
REST endpoints for the Foundation data.

GET SECURITY ROLE'S METADATA

Overview
Returns the security role's metadata.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/securityrole/meta
REST API Reference | Foundation | 610

Return Values

{
"sampleData":{
"isCriteriaBased":false,
"is_compound":false,
"name":null,
"id":null,
"description":null,
"securityDomain":null,
"href":"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000000001"

},
"name":"Complex Privilege",
"displayName":"Complex Privilege",
"attributes":[
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_id",
"displayName":"Created Id",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"description",
"displayName":"Description",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"maximumLength":255,
"isSearchFilter":false
},
{
REST API Reference | Foundation | 611

"name":"securityDomain",
"displayName":"Domain",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"Id",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"is_compound",
"displayName":"Is Compound",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"isCriteriaBased",
"displayName":"Is Criteria Based",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"isOOBRole",
"displayName":"Is OOBRole",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"name",
"displayName":"Complex Privilege Name",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
REST API Reference | Foundation | 612

"display":true,
"maximumLength":50,
"isSearchFilter":true
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"display":true,
"isSearchFilter":false
}
]
}

GET ALL SECURITY ROLES

Overview
Returns all the security roles for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/securityrole

Calling Options
Table 217: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 613

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"name": "Accountant",
"id": "cpriv000000000001020",
"href":
"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000001020"
},
{
"name": "Analytics Admin",
"id": "cpriv000000000001075",
"href": "https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000001075"

},
{
"name": "Approvers",
"id": "cpriv000000000003030",
"href":
"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000003030"
},
{
"name": "Assessment Admin",
"id": "cpriv000000000005007",
"href":
"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000005007"
},
{
"name": "Call Center Administrator",
"id": "cpriv000000000001000",
"href":
"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000001000"
},
{
"name": "Certification Administrator",
"id": "cpriv000000000001040",
"href":
"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000001040"
},
{
"name": "Cisco Manager",
"id": "cpriv000000000001001",
"href": "https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000001001"

},
{
"name": "Collaboration Admin",
"id": "cpriv000000000001025",
"href": "https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000001025"

},
{
"name": "Common Privileges in world domain",
REST API Reference | Foundation | 614

"id": "cpriv000000000000117",
"href": "https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000000117"

},
{
"name": "Compensation Admin",
"id": "cpriv000000000009502",
"href":
"https://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000009502"
}
],
"facets": [],
"startIndex": 1,
"totalResults": 75,
"hasMoreResults": true,
"itemsPerPage": 10
}

GET DETAILS OF A PARTICULAR SECURITY ROLE

Overview
Returns the details of a particular security role.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/securityrole/:id:(:searchFields)

Calling Options
Table 218: Calling Options

Name Description Sample Value Data Type Required?

id Role's ID cpriv000000000001020 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"isCriteriaBased": false,
"is_compound": false,
REST API Reference | Foundation | 615

"name": "Super User",


"id": "cpriv000000000000100",
"description": "Grants access to all functionality in Cornerstone SBX",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

FIND DETAILS OF SECURITY ROLES

Overview
Returns the details of the security roles for which the user has access, based on the provided
search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/securityrole?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
Example:
https://<hostname-api.sabacloud.com>/v1/securityrole?q=(is_compound%3D%3Dtrue)

Calling Options
Table 219: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. string Yes


the field name.
• isCriteriaBased
• is_compound
• name

field_value The search value for string Yes


the specified search
criteria.
• isCriteriaBased:
true/false
• is_compound:
true/false

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 616

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults":false,
"totalResults":1,
"itemsPerPage":10,
"facets":[

],
"results":[
{
"name":"Human Capital Admin",
"id":"cpriv000000000000106",
"href":"http://<hostname-api.sabacloud.com>/v1/securityrole/cpriv000000000000106"

}
],
"startIndex":1
}

Security Domain
REST endpoints for the Foundation data.

GET SECURITY DOMAIN'S METADATA

Overview
Returns the security domain's metadata.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/domain/meta
REST API Reference | Foundation | 617

Return Values

{
"sampleData": {
"name": null,
"parent_id": null,
"description": null,
"desktop_id": null,
"customValues": {
"custom1": null,
"custom2": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000000001"
},
"name": "Domain",
"displayName": "Domain",
"attributes": [
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "created_id",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
REST API Reference | Foundation | 618

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "desktop_id",
"displayName": "Microsite",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Domain Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "parent_id",
"displayName": "Parent Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Foundation | 619

"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Foundation | 620

"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
REST API Reference | Foundation | 621

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

GET ALL SECURITY DOMAINS

Overview
Returns all security domains for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/domain

Calling Options
Table 220: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Foundation | 622

Return Values

{
"totalResults": 27,
"hasMoreResults": true,
"itemsPerPage": 10,
"results": [
{
"name": "Development Group",
"description": "Development Group",
"id": "domin000000000200124",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000200124"

},
{
"name": "Documentation Group",
"description": "Documentation Group",
"id": "domin000000000200125",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000200125"

},
{
"name": "Domain1",
"description": "Domain1",
"id": "domin000000000001000",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000001000"

},
{
"name": "Domain2",
"description": "Domain2",
"id": "domin000000000001001",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000001001"

},
{
"name": "Domain3",
"description": "Domain3",
"id": "domin000000000001002",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000001002"

},
{
"name": "Domain_IndiaDev",
"description": null,
"id": "domin000000000201400",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000201400"

},
{
"name": "Domain_IndiaQE",
"description": null,
"id": "domin000000000201397",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000201397"

},
{
"name": "Domain_IndiaSupport",
"description": null,
"id": "domin000000000201403",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000201403"

},
REST API Reference | Foundation | 623

{
"name": "Domain_SabaDev",
"description": null,
"id": "domin000000000201399",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000201399"

},
{
"name": "Domain_SabaQE",
"description": null,
"id": "domin000000000201396",
"href": "https://<hostname-api.sabacloud.com>/v1/domain/domin000000000201396"

}
],
"facets": [],
"startIndex": 1
}

GET DETAILS OF A PARTICULAR SECURITY DOMAIN

Overview
Returns the details of a particular security domain.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/domain/:id:(:searchFields)

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Domain's
ID.
https://<hostname-api.sabacloud.com>/v1/domain/name%3D<DomainsName>

Calling Options
Table 221: Calling Options

Name Description Sample Value Data Type Required?

id Domain's ID dom- string Yes


in000000000201397

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)
REST API Reference | Foundation | 624

Return Values

{
"name": "Domain_IndiaQE",
"parent_id": {
"id": "domin000000000201396",
"displayName": "Domain_SabaQE"
},
"description": "",
"desktop_id": null,
"customValues": {
"custom1": null,
"custom2": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"id": "domin000000000201397"
}

Smart List
REST endpoints for the Foundation data.

GET ALL SMARTLISTS

Overview
Returns all the smartlists for which the user has access.

Requires OAuth
No

Method
GET

URL
https:///<hostname-api.sabacloud.com>/v1/smartlists?count=:count&startPage=:startPage

Calling Options
Table 222: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 625

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"id": "stlst000000000001080",
"href": "https:///<hostname-api.sabacloud.com>/v1/smartlists/stlst000000000001080"

}
],
"startIndex": 1,
"facets": []
}

FIND META DETAILS OF SMARTLISTS

Overview
Returns the meta details of the key and the operator of smartlists.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/smartlists/meta

Return Values

{
"allOperators": {
"all": {
"key": "all",
"label": "All of"
},
"startswith": {
"key": "startswith",
"label": "Begins with"
},
"bef": {
"key": "bef",
REST API Reference | Foundation | 626

"label": "Before"
},
"OR": {
"key": "OR",
"label": "Or"
},
"in": {
"key": "in",
"label": "Any of"
},
"lt": {
"key": "lt",
"label": "Less than"
},
"eq": {
"key": "eq",
"label": "Exactly matching"
},
"gt": {
"key": "gt",
"label": "Greater than"
},
"aft": {
"key": "aft",
"label": "After"
},
"NOT": {
"key": "NOT",
"label": "Not"
},
"nin": {
"key": "nin",
"label": "Not any of"
},
"onafter": {
"key": "onafter",
"label": "On or after"
},
"befdays": {
"key": "befdays",
"label": "Days Before"
},
"onbefore": {
"key": "onbefore",
"label": "On or before"
},
"betnext": {
"key": "betnext",
"label": "Within the next"
},
"betlast": {
"key": "betlast",
"label": "Within the last"
},
"AND": {
"key": "AND",
"label": "And"
},
"gte": {
"key": "gte",
"label": "Greater than or equals"
},
REST API Reference | Foundation | 627

"aftdays": {
"key": "aftdays",
"label": "Days After"
},
"neq": {
"key": "neq",
"label": "Not exactly matching"
},
"lte": {
"key": "lte",
"label": "Less than or equals"
}
},
"context": {
"key": "security"
},
"entities": [{
"key": {
"key": "location"
},
"attributes": [{
"nestedDocument": false,
"childAttrsName": null,
"caseInsensitive": true,
"smartListOwnerCondition": false,
"presentation": {
"misc": {},
"type": {
"key": "TextBox"
}
},
"operators": [{
"key": "eq",
"label": "Exactly matching"
}, {
"key": "neq",
"label": "Not exactly matching"
}, {
"key": "startswith",
"label": "Begins with"
}],
"overrideOperators": null,
"autoExpandChildren": false,
"attrLabel": "Custom0",
"hasChildren": false,
"csvInput": false,
"infoLabel": "",
"attrName": {
"key": "Location_custom0"
},
"defaultValue": null
}]
}]
}

FIND DETAILS OF SMARTLISTS

Overview
Returns all the smartlists with matching search filter.
REST API Reference | Foundation | 628

Requires OAuth
No

Method
GET

URL
https:///<hostname-api.sabacloud.com>/v1/smartlists?q=(:criteria_fileds)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 223: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria name string Yes


like name

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Include details of false boolean No


search record. Pos-
sible values are:
true/false

Return Values

{
"startIndex" : 1,
"results" : [ {
"criteria" : {
"listId" : "stlst000000000039843",
"personSnapshotContext" : null,
"autoUpdateOnExecute" : true,
"externalSource" : null,
"staticMembers" : [ ],
"optionalQuery" : null,
"queryVersion" : 2,
"deltaMembers" : null,
"query" : {
"criteria" : {
"segments" : [ {
"segments" : [ {
"operator" : {
"key" : "in",
"label" : "Any of"
},
"displayValues" : {
"emplo000000000075885" : "s123 ganorkar123"
},
REST API Reference | Foundation | 629

"key" : "per_id",
"excluded" : false,
"value" : [ "emplo000000000075885" ]
} ],
"description" : null,
"entity" : "Group 1",
"weight" : 1,
"excluded" : false
} ],
"description" : null,
"entity" : null,
"weight" : 1,
"excluded" : false
},
"displayFields" : [ "per_id", "_class", "person_fname", "person_lname", "person_username",
"person_email", "business_title", "manager_fname", "manager_lname", "person_domain_class",
"person_domain_text", "org_text", "org_id", "_class" ],
"sortFields" : [ {
"descending" : false,
"field" : "person_fname"
}, {
"descending" : false,
"field" : "person_lname"
}]
},
"displayName" : null,
"owner" : null,
"id" : "stlst000000000039843",
"createdBy" : "superuser",
"updatedBy" : "superuser",
"createdOn" : 1492774601731,
"updatedOn" : 1493017876108,
"versionNo" : 1
},
"split" : "world",
"name" : "pg1",
"parent" : null,
"owner" : null,
"description" : null,
"id" : "stlst000000000039843",
"displayName" : null
} ],
"totalResults" : 1,
"hasMoreResults" : false,
"itemsPerPage" : 10,
"facets" : [ ]
}

GET DETAILS OF A PARTICULAR SMARTLIST

Overview
Returns the details of a particular smartlist.

Requires OAuth
No
REST API Reference | Foundation | 630

Method
GET

URL
https:///<hostname-api.sabacloud.com>/v1/smartlists/:id

Calling Options
Table 224: Calling Options

Name Description Sample Value Data Type Required?

id smartlist's ID stlst000000000001080 string Yes

Return Values

{
"name" : "test",
"parent" : null,
"owner" : null,
"description" : "sdfs wrer",
"split" : "world",
"criteria" : {
"query" : {
"sortFields" : [ {
"field" : "person_fname",
"descending" : false
}, {
"field" : "person_lname",
"descending" : false
} ],
"displayFields" : [ "per_id", "_class", "person_fname", "person_lname", "person_username",
"person_email", "business_title", "manager_fname", "manager_lname", "person_domain_class",
"person_domain_text", "org_text", "org_id", "_class" ],
"criteria" : {
"description" : null,
"entity" : null,
"weight" : 1,
"segments" : [ {
"description" : null,
"entity" : "Group 1",
"weight" : 1,
"segments" : [ {
"key" : "edu_institute",
"operator" : {
"key" : "in",
"label" : "Any of"
},
"displayValues" : {
"Pune University" : "Pune"
},
"excluded" : false,
"value" : [ "Pune University" ]
}, {
"key" : "OR",
"label" : "Or"
}, {
"key" : "Location_custom0",
REST API Reference | Foundation | 631

"operator" : {
"key" : "eq",
"label" : "Exactly matching"
},
"displayValues" : {
"test" : "test"
},
"excluded" : false,
"value" : "test"
} ],
"excluded" : false
} ],
"excluded" : false
}
},
"displayName" : null,
"owner" : null,
"optionalQuery" : null,
"queryVersion" : 6,
"deltaMembers" : null,
"staticMembers" : [ ],
"personSnapshotContext" : null,
"autoUpdateOnExecute" : true,
"externalSource" : null,
"listId" : "stlst000000000001080",
"id" : "stlst000000000001080",
"createdOn" : 1440509250455,
"updatedBy" : "uone",
"updatedOn" : 1443447032353,
"createdBy" : "uone",
"versionNo" : 1
},
"id" : "stlst000000000001080",
"displayName" : null
}

GET PERSON'S MATCHING CRITERIA OF A PARTICULAR


SMARTLIST

Overview
Returns the person's matching criteria of a particular smartlist.

Requires OAuth
No

Method
GET

URL
https:///<hostname-api.sabacloud.com>/v1/smartlists/:id/member
?f=:searchFields&count=:count&startPage=:startPage
REST API Reference | Foundation | 632

Calling Options
Table 225: Calling Options

Name Description Sample Value Data Type Required?

id smartlist's ID stlst000000000001080 string Yes

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

searchFields The fields to be dis- fname,lname,per- string No


played in output. son_no

Return Values

{
"facets": null,
"hasMoreResults": false,
"totalResults": 25,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"fname": "Akhlesh",
"lname": "Pandey",
"person_no": "00200493 ",
"id": "emplo000000000200493",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200493"

},
{
"fname": "Person A",
"lname": "Person A",
"person_no": "00200628 ",
"id": "emplo000000000200628",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200628"

},
{
"fname": "Pranjali",
"lname": "Ganorkar",
"person_no": "00200489 ",
"id": "emplo000000000200489",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200489"

},
{
"fname": "Reena",
"lname": "Kadam",
"person_no": "00200499 ",
"id": "emplo000000000200499",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200499"

},
REST API Reference | Foundation | 633

{
"fname": "Sandeep",
"lname": "Thorat",
"person_no": "00200498 ",
"id": "emplo000000000200498",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200498"

},
{
"fname": "Talent",
"lname": "User",
"person_no": "00200407 ",
"id": "emplo000000000200407",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000200407"
},
{
"fname": "User",
"lname": "One",
"person_no": "001000",
"id": "emplo000000000001000",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000001000"
},
{
"fname": "User1",
"lname": "Three1",
"person_no": "001036 ",
"id": "emplo000000000001036",
"href": "http://<hostname-api.sabacloud.com>/v1/person/emplo000000000001036"
},
{
"fname": "a",
"lname": "one",
"person_no": "00200147",
"id": "persn000000000200147",
"href": "http://<hostname-api.sabacloud.com>/v1/person/persn000000000200147"
},
{
"fname": "a1",
"lname": "one1",
"person_no": "00200148",
"id": "persn000000000200148",
"href": "http://<hostname-api.sabacloud.com>/v1/person/persn000000000200148"
}
]
}

CREATE A NEW SMARTLIST

Overview
Allows creating a new smart list.
Note: Only users with the People admin privilege will be able to create, update or delete
Smarlists using these APIs.

Method
POST
REST API Reference | Foundation | 634

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/smartlists

Calling Options
Table 226: Calling Options

Name Description Sample Value Data Type Required?

name The name of the Test Smartlist string Yes


Smartlist

description The short description Test smartlist string No


about the Smartlist creation using
API

split The domain for the object Yes


Smartlist {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

criteria Criteria of Smartlist string No

Request Body

{
"name": "test SL",
"description": "Test smartlist creation using API",
"split": {
"id": "domin000000000000001",
“displayName”:”world”
},
"criteria": {
"segments": [{
"entity": "Group 1",
"segments": [{
"excluded": false,
"key": "language",
"operator": {
"key": "in"
},
"value": ["lange000000000000001"]
}, {
"key": "OR"
}, {
"excluded": false,
"key": "curricula_id",
"operator": {
"key": "in"
},
"value": ["curra000000000001141"]
REST API Reference | Foundation | 635

}]
}, {
"key": "AND"
}, {
"entity": "Group 2",
"segments": [{
"excluded": false,
"key": "Location_custom2",
"operator": {
"key": "eq"
},
"value": "test"
}]
}]
}
}

UI representation of the Request Body

Figure 5: UI representation of the Request Body

Request Body (to add sub-criteria)

{
"name": "test SL Child field7",
"description": "Test smartlist creation using API",
"split": {
"id": "domin000000000000001",
"displayName": "world"
},
"criteria": {
"segments": [{
REST API Reference | Foundation | 636

"entity": "Group 1",


"segments" : [ {
"segments": [{
"excluded": false,
"key": "org_id",
"operator": {
"key": "in"
},
"value": ["bisut000000000001001"]
}, {
"key": "AND"
}, {
"excluded": false,
"key": "incld_sub_org",
"operator": {
"key": "eq"
},
"value": "Yes"
}]
}, {
"key": "OR"
}, {
"excluded": false,
"key": "curricula_id",
"operator": {
"key": "in"
},
"value": ["curra000000000001141"]
}]
}]
}
}

Figure 6: Smartlist with Sub-criteria

When adding a sub-criteria as part of the request body, the entire criteria is held in a segment
for each group. Within a group, if a parent and a child attribute is used as criteria then that
condition must be added in a segment as shown above.

Supported Operator Key


The following table lists the operator keys that this API supports.
REST API Reference | Foundation | 637

Key Description (UI Label)

AND AND

OR OR

NOT NOT

eq MATCHES

neq NOT_MATCHES

all ALL_OF

in ANY_OF

nin NOT_ANY_OF

bef BEFORE

onbefore ON_OR_BEFORE

aft AFTER

onafter ON_OR_AFTER

lt LESS_THAN

lte LESS_THAN_EQUALS

gt GREATER_THAN

gte GREATER_THAN_EQUALS

betnext WITHIN_NEXT

betlast WITHIN_LAST

startswith STARTS_WITH

befdays BEFORE_DAYS

aftdays AFTER_DAYS

Supported Segment Key


The following table lists the segment keys that this API supports.
REST API Reference | Foundation | 638

Component Key Description (UI Label)

Profile per_id Person

person_domain_id Domain

person_manager_id Manager

person_start_date Start Date

prsn_status Status

prsn_gender Gender

prsn_dob Date of Birth

prsn_ethnicity Ethnicity

prsn_religion Religion

prsn_pq PQ Score

prsn_prof_compl Percent Profile Completed

prsn_alt_mgr Alternate Manager

person_emp_type Employee Type

person_locale Locale

person_type Person Type

person_mgr Manager Access

per_city City

per_state State

per_country Country

per_zip_code Zip / Postal code

Custom 0
Person, Internal_custom0

Language language Language

External Certification ext_cert_name Name

ext_cert_inst Accrediting Institution

ext_cert_acqon Acquired on Date

ext_cert_expon Expired on Date

Internal Certification int_cert_id Certification


REST API Reference | Foundation | 639

Component Key Description (UI Label)

Job / Career job_current_id Current Jobtype

job_desired_id Next Jobtype

job_family_id Job Family

job_potential_id Potential Job

int_wrkhis_job_id Internal Work History

int_wrkhis_org_id Previous Internal Organization

int_wrkhis_loc Previous work location

ext_wrkhis_employer External work history

Custom 0
JobType_custom0

Role Custom 0
Role_custom0

Job_role_id Role

Skill / Experties skill_id Skill

Custom 0
Competency_custom0

Performance pot_rating Potential rating

ret_risk Retirement Risk

flt_risk Flight Risk

Organization org_id Organization

org_zip_code Zip / Postal Code

org_number Internal Organization Number

org_type Organization Type

Custom 0
Organization, Internal_cus-
tom0

Inprogress learning inp_cours_id Course


REST API Reference | Foundation | 640

Component Key Description (UI Label)

Group / Audience aud_typ Audience Type

Custom 0
Audience Type_custom0

Education degree Degree

major Major

edu_institute Institution

edu_institute_type Institute Type

edu_comp_date Completion Date

edu_pc_completion Percent Completed

Curriculam curricula_id Curriculam

Competed Learning cmpl_cours_id Course

Custom 0
Offering Action Profile_cus-
tom0

Address / Location location_id Location

relocate Will Relocate

Custom 0
Location_custom0

CustomSection1 to Custom- CustomSection1_custom0 Custom 0


Section20

TalentPool tp_candidate_status Candidate Status

readiness_id Candidate Readiness

pool_owner Pool Owner

pool_domain Pool Domain

percent_match Candidate percent match

candidate_rank Candidate Rank

talent_pool_name Pool Name


REST API Reference | Foundation | 641

Return Values

{
"id": "stlst000000000001410",
"displayName": "test SL 7",
"href": "https://<hostname-api.sabacloud.com>/v1/smartlists/stlst000000000001080"
}

UPDATE DETAILS OF A SMARTLIST

Overview
Allows updating an existing smartlist based on the Smartlist ID.
Note: Only users with the People admin privilege will be able to create, update or delete
Smarlists using these APIs.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/smartlists/:id
Table 227: Calling Options

Name Description Sample Value Data Type Required?

id Smartlist's ID stlst000000000001000 string Yes

name The name of the Test Smartlist string No


Smartlist

description The short description Test smartlist string No


about the Smartlist creation using
API

split The domain for the object Yes


Smartlist {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

criteria Criteria of Smartlist string No


REST API Reference | Foundation | 642

Request Body

{
"name": "test SL",
"description": "Test smartlist creation using API",
"split": {
"id": "domin000000000000001",
“displayName”:”world”
},
"criteria": {
"segments": [{
"entity": "Group 1",
"segments": [{
"excluded": false,
"key": "language",
"operator": {
"key": "in"
},
"value": ["lange000000000000001"]
}, {
"key": "OR"
}, {
"excluded": false,
"key": "curricula_id",
"operator": {
"key": "in"
},
"value": ["curra000000000001141"]
}]
}, {
"key": "AND"
}, {
"entity": "Group 2",
"segments": [{
"excluded": false,
"key": "Location_custom2",
"operator": {
"key": "eq"
},
"value": "test"
}]
}]
}
}
REST API Reference | Foundation | 643

UI representation of the Request Body

Figure 7: UI representation of the Request Body

Request Body (to add sub-criteria)

{
"name": "test SL Child field7",
"description": "Test smartlist creation using API",
"split": {
"id": "domin000000000000001",
"displayName": "world"
},
"criteria": {
"segments": [{
"entity": "Group 1",
"segments" : [ {
"segments": [{
"excluded": false,
"key": "org_id",
"operator": {
"key": "in"
},
"value": ["bisut000000000001001"]
}, {
"key": "AND"
}, {
"excluded": false,
"key": "incld_sub_org",
"operator": {
"key": "eq"
},
"value": "Yes"
}]
REST API Reference | Foundation | 644

}, {
"key": "OR"
}, {
"excluded": false,
"key": "curricula_id",
"operator": {
"key": "in"
},
"value": ["curra000000000001141"]
}]
}]
}
}

Figure 8: Smartlist with Sub-criteria

When adding a sub-criteria as part of the request body, the entire criteria is held in a segment
for each group. Within a group, if a parent and a child attribute is used as criteria then that
condition must be added in a segment as shown above.

Supported Operator Key


The following table lists the operator keys that this API supports.

Key Description (UI Label)

AND AND

OR OR

NOT NOT

eq MATCHES

neq NOT_MATCHES

all ALL_OF

in ANY_OF

nin NOT_ANY_OF

bef BEFORE
REST API Reference | Foundation | 645

Key Description (UI Label)

onbefore ON_OR_BEFORE

aft AFTER

onafter ON_OR_AFTER

lt LESS_THAN

lte LESS_THAN_EQUALS

gt GREATER_THAN

gte GREATER_THAN_EQUALS

betnext WITHIN_NEXT

betlast WITHIN_LAST

startswith STARTS_WITH

befdays BEFORE_DAYS

aftdays AFTER_DAYS

Supported Segment Key


The following table lists the segment keys that this API supports.
REST API Reference | Foundation | 646

Component Key Description (UI Label)

Profile per_id Person

person_domain_id Domain

person_manager_id Manager

person_start_date Start Date

prsn_status Status

prsn_gender Gender

prsn_dob Date of Birth

prsn_ethnicity Ethnicity

prsn_religion Religion

prsn_pq PQ Score

prsn_prof_compl Percent Profile Completed

prsn_alt_mgr Alternate Manager

person_emp_type Employee Type

person_locale Locale

person_type Person Type

person_mgr Manager Access

per_city City

per_state State

per_country Country

per_zip_code Zip / Postal code

Custom 0
Person, Internal_custom0

Language language Language

External Certification ext_cert_name Name

ext_cert_inst Accrediting Institution

ext_cert_acqon Acquired on Date

ext_cert_expon Expired on Date

Internal Certification int_cert_id Certification


REST API Reference | Foundation | 647

Component Key Description (UI Label)

Job / Career job_current_id Current Jobtype

job_desired_id Next Jobtype

job_family_id Job Family

job_potential_id Potential Job

int_wrkhis_job_id Internal Work History

int_wrkhis_org_id Previous Internal Organization

int_wrkhis_loc Previous work location

ext_wrkhis_employer External work history

Custom 0
JobType_custom0

Role Custom 0
Role_custom0

Job_role_id Role

Skill / Experties skill_id Skill

Custom 0
Competency_custom0

Performance pot_rating Potential rating

ret_risk Retirement Risk

flt_risk Flight Risk

Organization org_id Organization

org_zip_code Zip / Postal Code

org_number Internal Organization Number

org_type Organization Type

Custom 0
Organization, Internal_cus-
tom0

Inprogress learning inp_cours_id Course


REST API Reference | Foundation | 648

Component Key Description (UI Label)

Group / Audience aud_typ Audience Type

Custom 0
Audience Type_custom0

Education degree Degree

major Major

edu_institute Institution

edu_institute_type Institute Type

edu_comp_date Completion Date

edu_pc_completion Percent Completed

Curriculam curricula_id Curriculam

Competed Learning cmpl_cours_id Course

Custom 0
Offering Action Profile_cus-
tom0

Address / Location location_id Location

relocate Will Relocate

Custom 0
Location_custom0

CustomSection1 to Custom- CustomSection1_custom0 Custom 0


Section20

TalentPool tp_candidate_status Candidate Status

readiness_id Candidate Readiness

pool_owner Pool Owner

pool_domain Pool Domain

percent_match Candidate percent match

candidate_rank Candidate Rank

talent_pool_name Pool Name


REST API Reference | Foundation | 649

Return Values

{
"id": "stlst000000000001410",
"displayName": "test SL 7",
"href": "https://<hostname-api.sabacloud.com>/v1/smartlists/stlst000000000001080"
}

DELETE A SMARTLIST

Overview
Allows deleting an existing smartlist that is not associated to other objects based on the
Smartlist ID.
Note: Only users with the People admin privilege will be able to create, update or delete
Smarlists using these APIs.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/smartlists/:id
Table 228: Calling Options

Name Description Sample Value Data Type Required?

id Smartlist's ID stlst000000000001000 string Yes

UPDATE LOCALE-SPECIFIC DETAILS OF SMARTLIST

Overview
Update locale-specific attributes of smartlist. Only 5 locale specific data update is supported
in one API call.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
REST API Reference | Foundation | 650

Example: https://<hostname-api.sabacloud.com>/v1/smartlists/stlst000000000001021/locale

Calling Options
Table 229: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- smartlist string Yes


dated

instanceId Instance id of compon- stlst000000000001021 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale).

name Name of smartlist name string No

description Smartlist description description string No

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"name":"smartlist",
"description":"desc1"
}
]}

ADD SMARTLIST AS CRITERIA FOR AUDIENCE TYPE

Overview
Adds smartlist as a criteria for an audience type.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/smartlists/addOwner
REST API Reference | Foundation | 651

Calling Options
Table 230: Calling Options

Name Description Default Value Data Type Required?

parent The Smartlist used as {"id": string Yes


criteria "stlst000000000001062","dis-
playName": "test
smartlist"}

owner Audience type {"id": string Yes


"audie000000000001163",dis-
playName": "AT1"}

Request Body

{
"parent": {
"displayName": "test SL basic"
},
"owner": {
"displayName": "aud_1"
}
}

Timezone
REST endpoints for the Foundation data.

GET TIMEZONE'S METADATA

Overview
Returns the timezone's metadata.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/timezone/meta
REST API Reference | Foundation | 652

Return Values

{
"sampleData":{
"time_diff":null,
"javaid":null,
"name":null,
"id":null,
"href":"https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000001"
},
"name":"Time Zone",
"displayName":"Time Zone",
"attributes":[
{
"name":"flag",
"displayName":"flag",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"maximumLength":10,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"Id",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"javaid",
"displayName":"Javaid",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"name",
"displayName":"Name",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"time_diff",
"displayName":"Time Difference In Minutes",
REST API Reference | Foundation | 653

"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"display":true,
"isSearchFilter":false
}
]
}

GET ALL TIMEZONES

Overview
Returns all the timezones for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/timezone

Calling Options
Table 231: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"results": [
{
"name": "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
"id": "tzone000000000000023",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000023"

},
{
"name": "(GMT-01:00) Azores, Cape Verde Is.",
REST API Reference | Foundation | 654

"id": "tzone000000000000020",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000020"

},
{
"name": "(GMT+01:00) Belgrade, Bratislava, Ljubljana, Prague",
"id": "tzone000000000000024",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000024"

},
{
"name": "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris",
"id": "tzone000000000000025",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000025"

},
{
"name": "(GMT+01:00) Sarajevo, Skopje, Sofija, Warsaw, Zagreb",
"id": "tzone000000000000026",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000026"

},
{
"name": "(GMT+01:00) West Central Africa",
"id": "tzone000000000000066",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000066"

},
{
"name": "(GMT+02:00) Athens, Istanbul, Minsk",
"id": "tzone000000000000027",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000027"

},
{
"name": "(GMT+02:00) Bucharest",
"id": "tzone000000000000028",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000028"

},
{
"name": "(GMT+02:00) Cairo",
"id": "tzone000000000000029",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000029"

},
{
"name": "(GMT+02:00) Harare, Pretoria",
"id": "tzone000000000000030",
"href": "https://<hostname-api.sabacloud.com>/v1/timezone/tzone000000000000030"

}
],
"startIndex": 1,
"totalResults": 74,
"hasMoreResults": true,
"itemsPerPage": 10
}
REST API Reference | Foundation | 655

GET DETAILS OF A PARTICULAR TIMEZONE

Overview
Returns the details of a particular timezone.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/timezone/:id:(:searchFields)

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Timezone's
ID.
https://<hostname-api.sabacloud.com>/v1/tuagreement/name%3D<TimeZoneName>
Example:
https://<hostname-api.sabacloud.com>/v1/timezone/name=(GMT-12:00)%20Eniwektok,%20Kwajalein

Calling Options
Table 232: Calling Options

Name Description Sample Value Data Type Required?

id Timezone's ID tzone000000000000001 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"name": "(GMT-12:00) Eniwektok, Kwajalein",
"id": "tzone000000000000001",
"time_diff": -720,
"javaid": "Pacific/Majuro"
}
Chapter

8
Social

Topics: REST endpoints for the social data.

• Resource
• Interactions
• Groups
• Discussions
REST API Reference | Social | 658

Resource
REST endpoints for the social data.

GET DETAILS OF A SOCIAL RESOURCE

Overview
Gets details of a social resource. This API enables the user to retrieve the details of a given
social resource based on the Resource ID which is passed in the URL.
Note: The default image cannot be provided for the file resource type, since those are sprite
icons in the system. If a thumbnail image is uploaded then that picture URL will be visible in
the response.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Examples
https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000001170
https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000001180
https://<hostname-api.sabacloud.com>/v1/social/resource/simrs000000000001149
https://<hostname-api.sabacloud.com>/v1/social/resource/pgcnt000000000001045
https://<hostname-api.sabacloud.com>/v1/social/resource/spage000000000001065
REST API Reference | Social | 659

Calling Options
Table 233: Calling Options

Name Description Sample Value Data Type Required?

resourceId ID of the social re- string Yes


source.
Note: This API will
only accept the Re-
source ID of the follow-
ing supported re-
source types. An ap-
propriate error mes-
sage will be returned,
if an invalid resource
ID is provided.
Supported Re-
source Types

Idea

Link

BlogPost

Video

Issue

File

Page

KAList

Blog

Workspace

VideoContent

Return Values

{
"socialProfile": null,
"issueDetail": {
"recommendable": true,
"author": null,
"implementationLead": {
"name": null,
"id": null,
"type": null
},
REST API Reference | Social | 660

"recommendationList": null,
"peopleListed": true,
"groupMemberListed": false,
"statusDisplayName": "New",
"stateDisplayName": "New",
"extendedAttributes": {
"shareWith": [
{
"role": "Viewer",
"displayName": "Everyone",
"id": "teams000000000001000"
},
{
"role": "Viewer",
"displayName": "Migration Community",
"id": "teams000000000011981"
},
{
"role": "Co-owner",
"displayName": "UONE",
"id": "emplo000000000533317"
}
],
"tags": []
},
"language": {
"name": "English",
"id": "lange000000000000001",
"type": "LANGUAGE"
},
"state": "new",
"owner": {
"name": "User Öztürk",
"id": "emplo000000000533317",
"type": "PERSON"
},
"timestamp": "0",
"description": "<p>&lt;<span data-mce-bogus=\"1\" class=\"nanospell-typo\">iframe</span>
<span data-mce-bogus=\"1\" class=\"nanospell-typo\">src</span>='<span
data-mce-bogus=\"1\" class=\"nanospell-typo\">javascript</span>:alert(9);' &gt;&lt;/<span
data-mce-bogus=\"1\" class=\"nanospell-typo\">iframe</span>&gt;<br
data-mce-bogus=\"1\"></p>",
"domain": {
"name": "world",
"id": "domin000000000000001",
"type": "DOMAIN"
},
"status": "1",
"createdBy": {
"name": "User Öztürk",
"id": "emplo000000000533317",
"type": "PERSON"
},
"updatedBy": "uone",
"updatedOn": "2016-05-23T07:02:22.000+0000",
"createdOn": "2016-05-23T07:02:22.000+0000",
"name": "&lt;iframe src='javascript:alert(9);' &gt;&lt;/iframe&gt;PCAKHO",
"id": "issue000000000004706",
"type": "ISSUE"
},
"pictureURL": null,
"tagList": null,
REST API Reference | Social | 661

"socialActions": null,
"categoryList": null
}

FIND SOCIAL RESOURCES

Overview
Retrieves the social resources of a given resource type. This API enables the user to search
for social resources using different search criteria and different search attributes.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/resource?type=:resourceType&q=(:criteria_field==:field_value)&f=(attributes)&count=:count&startPage=:startPage
Note: The type search criteria is mandatory and will only accept one resource type at a time.
The q and f parameters are optional.

Example
https://<hostname-api.sabacloud.com>/v1/social/resource?type=idea
REST API Reference | Social | 662

Calling Options
Table 234: Calling Options

Name Description Sample Value Data Type Required?

resourceType Social resource type string Yes

Supported Re-
source Types

Idea

Link

BlogPost

Video

Issue

File

Page

KAList

Blog

Workspace

VideoContent

count Count 10 integer No

startPage The start page num- 1 integer No


ber for the list of re-
cords.

criteria_field The search criteria i.e. string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for string Yes


the specified search
criteria.
REST API Reference | Social | 663

Name Description Sample Value Data Type Required?

includeDetails Include detail of sso- false boolean No


cial resources found.

Supported Search Criteria


The following search criteria filters are provided (All these filter criteria are available on Social
admin UI page):

Search At- Data Type Possible Values Example


tribute Name

name String name%3D%3Didea1

tags String tag*s*%3D%3Dmytag

share- String sharewith_name%3D%3Dcsindhav1


with_name

sharewith_id String sharewith_id%3D%3Dpersn000000000236908

updated_on String updatedOn%3D%3D2016-01-01

language_id String language_id%3D%3Didear000000000001001

lan- String language_nae%3D%3DEnglish


guage_name

author_id String author_id%3D%3Demplo000000000200089

author_name String author_name%3D%3Dcsindhav1

Return Values

{
"startIndex": 1,
"results": [
{
"displayName": "TestIdea test",
"id": "idear000000000006127",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006127"
},
{
"displayName": "Idea Lead",
"id": "idear000000000006126",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006126"
},
{
"displayName": "UP_36 Idea3",
"id": "idear000000000006907",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006907"
},
REST API Reference | Social | 664

{
"displayName": "UP_36 Idea 1",
"id": "idear000000000006905",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006905"
},
{
"displayName": "IdeaDPW11",
"id": "idear000000000005485",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000005485"
},
{
"displayName": "sdfsd",
"id": "idear000000000005386",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000005386"
},
{
"displayName": "idea social domain",
"id": "idear000000000006146",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006146"
},
{
"displayName": "SOCIAL DOMAIN ISSUE",
"id": "idear000000000006165",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006165"
},
{
"displayName": "Testing Idea 001 from ShuchiTester032",
"id": "idear000000000004705",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000004705"
},
{
"displayName": "Testing idea 0003 from Norman",
"id": "idear000000000004644",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000004644"
}
],
"hasMoreResults": true,
"itemsPerPage": 10,
"totalResults": 1037,
"facets": []
}

Supported Search Attributes


The following search attributes are provided (All these search attributes are available on
Social admin UI page):

Search Attribute Data Type Possible Values Example


Name

description String f=(description)

status String f=(status)


REST API Reference | Social | 665

state String f=(state)

domain_id String f=(domain_id)

domain_name String f=(domain_name)

created_on String f=(created_on)

updated_on String f=(updated_on)

language_id String f=(language_id)

language_name String f=(language_name)

author_id String f=(author_id)

author_name String f=(author_name)

shareWith String f=(shareWith)

tags String f=(tags)

Return Values

{
"startIndex": 1,
"results": [
{
"displayName": "TestIdea test",
"id": "idear000000000006127",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006127"
},
{
"displayName": "Idea Lead",
"id": "idear000000000006126",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006126"
},
{
"displayName": "UP_36 Idea3",
"id": "idear000000000006907",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006907"
},
{
"displayName": "UP_36 Idea 1",
"id": "idear000000000006905",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006905"
},
{
"displayName": "IdeaDPW11",
"id": "idear000000000005485",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000005485"
},
{
REST API Reference | Social | 666

"displayName": "sdfsd",
"id": "idear000000000005386",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000005386"
},
{
"displayName": "idea social domain",
"id": "idear000000000006146",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006146"
},
{
"displayName": "SOCIAL DOMAIN ISSUE",
"id": "idear000000000006165",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000006165"
},
{
"displayName": "Testing Idea 001 from ShuchiTester032",
"id": "idear000000000004705",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000004705"
},
{
"displayName": "Testing idea 0003 from Norman",
"id": "idear000000000004644",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000004644"
}
],
"hasMoreResults": true,
"itemsPerPage": 10,
"totalResults": 1037,
"facets": []
}

FIND SOCIAL RESOURCES (USING POST - RANGE BASED SEARCH)

Overview
Retrieves the social resources using POST range based search. This API enables the user to
search for social resources using different search criteria and different search attributes.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/searchQuery
?type=:type&count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Social | 667

EXAMPLE
https://<hostname-api.sabacloud.com>/v1/social/resource/searchQuery?type=idea

Calling Options
Table 235: Calling Options

Name Description Sample Value Data Type Required?

type Resource Type idea string Yes

Supported Re-
source Types

Idea

Link

BlogPost

Video

Issue

File

Page

KAList

Blog

Workspace

VideoContent

conditions Conditions object Yes


{
"conditions" :[
{
"name":"au►
thor_name",
"operat►
or":"==",

"value":"uone"
}
]
}

count 10 integer No

startPage 1 integer No
REST API Reference | Social | 668

Name Description Sample Value Data Type Required?

includeDetails Include detail of social true boolean No


resources found.

Request Body

{
"conditions" :[
{
"name":"author_name",
"operator":"==",
"value":"uone"
}
]
}

Return Values

{
"startIndex": 1,
"results": [
{
"displayName": "&lt;iframe src='javascript:alert(9);' &gt;&lt;/iframe&gt;PCAKHO",
"id": "issue000000000004706",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000004706"
},
{
"displayName": "Swift issue2 &lt;OBJECT TYPE=&quot;text&#47;x-scriplet&quot;
DATA=&quot;https:&#47;&#47;www.jnxsecurity.com&#47;xss.html&quot;&gt;&lt;&#47;OBJECT&gt;",

"id": "issue000000000004925",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000004925"
},
{
"displayName": "IssueHome222",
"id": "issue000000000004844",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000004844"
},
{
"displayName": "IssueMe",
"id": "issue000000000004845",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000004845"
},
{
"displayName": "tsindhavissue2",
"id": "issue000000000005126",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000005126"
},
{
"displayName": "Test211M7S",
"id": "issue000000000005217",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000005217"
REST API Reference | Social | 669

},
{
"displayName": "Test5N5F8W",
"id": "issue000000000005176",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000005176"
},
{
"displayName": "TestMYHKJB",
"id": "issue000000000005219",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000005219"
},
{
"displayName": "TestNXBGRC",
"id": "issue000000000005222",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000005222"
},
{
"displayName": "TestHNVMIQ",
"id": "issue000000000005224",
"href":
"https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000005224"
}
],
"hasMoreResults": true,
"itemsPerPage": 10,
"totalResults": 105,
"facets": []
}

Return Values (with includeDetails=true)

{
"startIndex": 1,
"totalResults": 454,
"hasMoreResults": true,
"itemsPerPage": 2,
"facets": [],
"results": [
{
"language": {
"name": "English",
"id": "lange000000000000001",
"type": "LANGUAGE"
},
"state": "new",
"owner": {
"name": "Client Two",
"id": "persn000000000001001",
"type": "PERSON"
},
"description": "<p>Idea_test_07_29_005</p>",
"domain": {
"name": "world",
"id": "domin000000000000001",
"type": "DOMAIN"
},
"timestamp": "1",
"status": "1",
REST API Reference | Social | 670

"implementationLead": {
"name": null,
"id": null,
"type": null
},
"peopleListed": true,
"recommendable": true,
"author": null,
"recommendationList": null,
"groupMemberListed": false,
"extendedAttributes": {
"shareWith": [
{
"role": "Viewer",
"displayName": "Client One",
"id": "persn000000000001000"
},
{
"role": "Viewer",
"displayName": "charshad1 csindhav1",
"id": "persn000000000202303"
},
{
"role": "Co-owner",
"displayName": "Client Two",
"id": "persn000000000001001"
}
],
"tags": [
"mytag3",
"mytag4"
]
},
"stateDisplayName": "New",
"statusDisplayName": "New",
"createdOn": "2016-08-29T13:12:26.000+0530",
"updatedBy": "uone",
"updatedOn": "2016-11-08T16:31:57.000+0530",
"createdBy": {
"name": "User One",
"id": "emplo000000000001000",
"type": "PERSON"
},
"name": "11041104",
"id": "idear000000000001172",
"type": "IDEA"
},
{
"language": {
"name": "English",
"id": "lange000000000000001",
"type": "LANGUAGE"
},
"state": "new",
"owner": {
"name": "User One",
"id": "emplo000000000001000",
"type": "PERSON"
},
"description": "<p>dasdsadsada</p>",
"domain": {
"name": "world",
REST API Reference | Social | 671

"id": "domin000000000000001",
"type": "DOMAIN"
},
"timestamp": "0",
"status": "1",
"implementationLead": {
"name": null,
"id": null,
"type": null
},
"recommendable": true,
"author": null,
"recommendationList": null,
"groupMemberListed": false,
"peopleListed": true,
"statusDisplayName": "New",
"stateDisplayName": "New",
"extendedAttributes": {
"shareWith": [
{
"role": "Viewer",
"displayName": "AONE2",
"id": "persn000000000200149"
},
{
"role": "Co-owner",
"displayName": "UONE",
"id": "emplo000000000001000"
}
],
"tags": []
},
"createdOn": "2016-06-21T18:29:29.000+0530",
"updatedBy": "uone",
"updatedOn": "2016-06-21T18:29:29.000+0530",
"createdBy": {
"name": "User One",
"id": "emplo000000000001000",
"type": "PERSON"
},
"name": "aaadsadadadasd",
"id": "idear000000000001044",
"type": "IDEA"
}
]
}

FIND SOCIAL RESOURCE OF A GROUP

Overview
Retrieves the social resources of a group. It allows retrieving folder, resources within a folder
(like idea, issue, file, link, blog, page, etc) and sub-folder of a given group.
Note: This API does not return the discussion information, if includeDetails=true.

Requires OAuth
No
REST API Reference | Social | 672

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/group/:groupId?count=:count&startPage=:startPage&includeDetails=:includeDetails

URL (User-friendly)
You can use a user-friendly URL which accepts the groupName instead of the internal Group's
ID.
https://<hostname-api.sabacloud.com>/v1/social/resource/group/groupName=<GroupName>

Examples
Retrieve all resources of a folder of a group:
https://<hostname-api.sabacloud.com>/v1/social/resource/group/groupName=group1?q=(folderId%3D%3Dcateg000000000001182)
This will return sub-folders and resources within a given folder.
Note: folderId is case sensitive.
Retrieve all resources of a given type of a group:
https://<hostname-api.sabacloud.com>/v1/social/resource/group/groupName=group1?q=(resourceType%3D%3Didea)
This will return bookmarked resources of a given group.

Calling Options
Table 236: Calling Options

Name Description Sample Value Data Type Required?

groupId ID of the Group. You teams000000000001123 string Yes


can also use 'group-
Name=<GroupName>'

count Count 10 integer No

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Include detail of sso- false boolean No


cial resources found.

Return Values

{
"startIndex": 1,
"results": [
{
"total_comments": 0,
"displayName": "group discussion1",
"id": "bbmsg000000000001564",
"resourceType": "discussions",
"href": null
REST API Reference | Social | 673

},
{
"total_comments": 0,
"displayName": "discussion2",
"parent_folder_id": "categ000000000001200",
"id": "bbmsg000000000001565",
"resourceType": "discussions",
"href": null
},
{
"displayName": "folder1",
"id": "categ000000000001200",
"resourceType": "folder",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001200"
},
{
"total_comments": 0,
"total_votes": 0,
"displayName": "group idea1",
"id": "idear000000000001400",
"resourceType": "idea",
"href": "http://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000001400"

},
{
"total_comments": 0,
"total_votes": 0,
"displayName": "group issue1",
"id": "issue000000000001240",
"resourceType": "issue",
"href": "http://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000001240"

},
{
"displayName": "group_workspace1",
"id": "pgcnt000000000001714",
"resourceType": "workspace",
"href": "http://<hostname-api.sabacloud.com>/v1/social/resource/pgcnt000000000001714"

},
{
"displayName": "group link1",
"id": "simrs000000000001520",
"resourceType": "file url",
"href": "http://<hostname-api.sabacloud.com>/v1/social/resource/simrs000000000001520"

},
{
"displayName": "group file1",
"id": "simrs000000000001521",
"resourceType": "file url",
"href": "http://<hostname-api.sabacloud.com>/v1/social/resource/simrs000000000001521"

},
{
"displayName": "group workspace1 page1",
"id": "spage000000000001120",
"resourceType": "page",
"href":
"http://<hostname-api.sabacloud.com>/v1/social/resource/spage000000000001120"
}
REST API Reference | Social | 674

],
"facets": [],
"totalResults": 9,
"hasMoreResults": false,
"itemsPerPage": 10
}

FIND SOCIAL RESOURCE OF A GROUP (USING POST - RANGE


BASED SEARCH)

Overview
Retrieves the social resources of a group using POST range based search.
Note: This API does not return the discussion information, if includeDetails=true.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/
social/resource/group/:groupId/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 237: Calling Options

Name Description Sample Value Data Type Required?

groupId ID of the Group teams000000000001123 string Yes

conditions Conditions object Yes


[
{
"name":"re►
sourceType",
"operat►
or":"==",
"value":"idea"
}
]

count 10 integer No

startPage 1 integer No

includeDetails Include detail of sso- true boolean No


cial resources found.
REST API Reference | Social | 675

Request Body

{
"conditions" :[
{
"name":"resourceType",
"operator":"==",
"value":"idea"
}
]
}

Return Values

{
"startIndex": 1,
"results": [
{
"total_comments": 0,
"total_votes": 0,
"displayName": "group idea1",
"id": "idear000000000001400",
"resourceType": "idea",
"href": "http://<hostname-api.sabacloud.com>/v1/social/resource/idear000000000001400"

}
],
"facets": [],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

POST IDEA TO Cornerstone SBX ACTIVITY STREAM

Overview
Posts an idea to the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource
REST API Reference | Social | 676

Calling Options
Table 238: Calling Options

Name Description Sample Value Data Type Required?

name Idea title Idea_test_07_29_005 string Yes

owner Owner of the Idea. {"id":"em- object No


plo000000000001000",
"display-
Name":"Uone"}

description Description of the Idea_test_07_29_005 string Yes


Idea.

disableSharing Disable users to share false Boolean No


this idea.

shareWith List of entity with object No


[{
whom idea is to be
shared. It could be "id":"per-
person and/or group. sn000000000001000",
"display-
Name":"CSIND-
HAV1",
"type":"person",
"role":"viewer" }]

language Language of the idea. {"id":lange000000000000001", object No


"display-
Name":"English"}

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

tag Tags on the idea. ["mytag3", object No


"mytag4"]

resourceType resourceType is idea string Yes


mandatory for idea,
issue and link re-
source. This is not re-
quired for file.

Request Body

{
"resourceType": "idea”,
REST API Reference | Social | 677

"name":"Idea_test_07_29_005",
"description":"Idea_test_07_29_005",
"owner":{
"id":"emplo000000000001000",
"displayName":"Uone"
},
"language":{
"id":"lange000000000000001",
"displayName":"English"
},
"disableSharing":true,
"shareWith":[
{
"id":"persn000000000001000",
"displayName":"CSINDHAV1",
"type":"person",
"role":"viewer"
}
],
"notify":"people",
"tag":[
"mytag3",
"mytag4"
]
}

Return Values

{
"id": "idear000000000001170",
"displayName": "Idea_test_08_01_010"
}

POST ISSUE TO Cornerstone SBX ACTIVITY STREAM

Overview
Posts an issue to the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource
REST API Reference | Social | 678

Calling Options
Table 239: Calling Options

Name Description Sample Value Data Type Required?

name Issue title Is- string Yes


sue_test_07_29_005

owner Owner of the Issue. object No


{"id":"em-
plo000000000001000",
"display-
Name":"Uone"}

description Description of the Is- Is- string Yes


sue. sue_test_07_29_005

disableSharing Disable users to share false Boolean No


this issue.

shareWith List of entity with object No


[{
whom issue is to be
shared. It could be "id":"per-
person and/or group. sn000000000001000",
"display-
Name":"CSIND-
HAV1",
"type":"person",
"role":"viewer" }]

language Language of the is- object No


{"id":lange000000000000001",
sue.
"display-
Name":"English" }

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

tag Tags on the issue. ["mytag3", string No


"mytag4"]

resourceType resourceType is issue string Yes


mandatory for idea,
issue and link re-
source. This is not re-
quired for file.
REST API Reference | Social | 679

Request Body

{
"resourceType": "issue”,
"name":"Issue_test_07_29_005",
"description":"Issue_test_07_29_005",
"owner":{
"id":"emplo000000000001000",
"displayName":"Uone"
},
"language":{
"id":"lange000000000000001",
"displayName":"English"
},
"disableSharing":true,
"shareWith":[
{
"id":"persn000000000001000",
"displayName":"CSINDHAV1",
"type":"person",
"role":"viewer"
}
],
"notify":"people",
"tag":[
"mytag3",
"mytag4"
]
}

Return Values

{
"id": "issue000000000001044",
"displayName": "Issue_test_07_29_005"
}

POST LINK TO Cornerstone SBX ACTIVITY STREAM

Overview
Posts a link to the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource
REST API Reference | Social | 680

Calling Options
Table 240: Calling Options

Name Description Sample Value Data Type Required?

name Link title link_test_07_29_005 string Yes

url URL of the link . string Yes

owner Owner of the link. object No


{ "id":"em-
plo000000000001000",
"display-
Name":"Uone"}

description Description of the link_test_07_29_005 string Yes


Link.

disableSharing Disable users to share false Boolean No


this link.

language Language of the link. object No


{"id":lange000000000000001",
"display-
Name":"English"}

shareWith List of entity with [{"id":"per- object No


whom link is to be sn000000000001000",
shared. It could be "display-
person and/or group. Name":"CSIND-
HAV1", "type":"per-
son","role":"view-
er"}]

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

tag Tags on the link. ["mytag3", string No


"mytag4"]

resourceType resourceType is link string Yes


mandatory for idea,
issue and link re-
source. This is not re-
quired for file.
REST API Reference | Social | 681

Request Body

{
"resourceType": "link”,
"name":"link_test_07_29_005",
"description":"link_test_07_29_005",
"owner":{
"id":"emplo000000000001000",
"displayName":"Uone"
},
"language":{
"id":"lange000000000000001",
"displayName":"English"
},
"disableSharing":true,
"shareWith":[
{
"id":"persn000000000001000",
"displayName":"CSINDHAV1",
"type":"person",
"role":"viewer"
}
],
"notify":"people",
"tag":[
"mytag3",
"mytag4"
]
}

Return Values

{
"id": "simrs000000000001042",
"displayName": "link_test_07_29_005"
}

POST FILE TO Cornerstone SBX ACTIVITY STREAM

Overview
Posts a file to the Cornerstone SBX Activity Stream.
Note:
For the file resource, the file must be added as form data of type file. Only one file as
attachment will be accepted. In case more than one file is passed in the input then only the
first file will be considered, remaining files will be ignored.
Text details for the file should not have any new line character or any special character in
between two different attributes.
Though there is no limit set for the size of the file that you post, a file exceeding 3 MB may
get timed out.

Requires OAuth
No
REST API Reference | Social | 682

Content Type
Consumes: Multipart-form-data, Produces: application/json

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/file

Calling Options
Table 241: Calling Options

Name Description Sample Value Data Type Required?

detail Accepts JSON as the string Yes


metadata. Refer to
the request body.

file1 For uploading the file. string Yes

Table 242: Attributes under detail

Name Description Sample Value Data Type Required?

name File title file_test_07_29_005 string Yes

owner Owner of the file. {"id":"em- object No


plo000000000001000",
"display-
Name":"Uone"}

description Description of the file. file_test_07_29_005 string Yes

disableSharing Disable users to share false Boolean No


this file.

shareWith List of entity with [{ "id":"per- object No


whom file is to be sn000000000001000",
shared. It could be "display-
person and/or group. Name":"CSIND-
HAV1", "type":"per-
son", "role":"view-
er" }]

language Language of the file. {"id":lange000000000000001", object No


"display-
Name":"English"}
REST API Reference | Social | 683

Name Description Sample Value Data Type Required?

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

tag Tags on the file. ["mytag3", string No


"mytag4"]

resourceType resourceType is string No


mandatory for idea,
issue and link re-
source. This is not re-
quired for file.

detail Accepts JSON as the string Yes


metadata. Refer to
the request body.

file1 For uploading the file. string Yes

Request Body

key: detail
value:{
"name": "file_test_07_29_005",
"description": "file_test_07_29_005",
"owner": {
"id": "emplo000000000001000",
"displayName": "Uone"
},
"language": {
"id": "lange000000000000001",
"displayName": "English"
},
"disableSharing": true,
"shareWith": [{
"id": "persn000000000001000",
"displayName": "CSINDHAV1",
"type": "person",
"role": "viewer"
}],
"notify": "people",
"tag": [
"mytag3",
"mytag4"
]
}

Return Values

{
"id": "simrs000000000001042",
REST API Reference | Social | 684

"displayName": "link_test_07_29_005"
}

UPDATE IDEA POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Updates an issue posted on the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 243: Calling Options

Name Description Sample Value Data Type Required?

name Idea title Idea_test_08_01_010 string No

owner Owner of the Idea. {"id":"em- object No


plo000000000001000",
"display-
Name":"Uone"}

description Description of the file_test_07_29_005 string No


Idea.

implementation- Implementation Lead- {"id":"per- object No


Lead er of the Idea. sn000000000001005",
"display-
Name":"csind-
hav6"}
REST API Reference | Social | 685

Name Description Sample Value Data Type Required?

state State of idea. New string No


Possible status:

State Value De-


scrip-
tion

New 1 New

Open 101 Being


Re-
viewed

102 Re-
viewed

103 Ac-
cep-
ted

104 In
Pro-
gress

105 Par-
tially
Imple-
men-
ted

On- 201 On
hold Hold

closed 301 Fully


Imple-
men-
ted

302 Closed

303 Rejec-
ted

status Status of idea. Though 1 string No


its validity depends on
the status selected
for the idea .

disableSharing Disable users to share false Boolean No


this idea.
REST API Reference | Social | 686

Name Description Sample Value Data Type Required?

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

language Language of the idea. {"id":lange000000000000001", object No


"display-
Name":"English"}

resourceId resourceId is the ID of string Yes


idea id

Request Body

{
"name":"Idea_test_08_01_010",
"description":"Idea_test_08_01_010 updated4",
"owner":{
"id":"emplo000000000001000",
"displayName":"Uone"
},
"language":{
"id":"lange000000000000001",
"displayName":"English"
},
"shareWith":[
{
"id":"",
"displayName":"cone",
"type":"person",
"role":"co-owner"
}
],
"state":"open",
"status":"201",
"implementationLead":{
"id":"persn000000000001005",
"displayName":"csindhav6"
},
"disableSharing":false,
"notify":"people"
}

UPDATE ISSUE POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Updates an issue posted on Cornerstone SBX Activity Stream.

Requires OAuth
No
REST API Reference | Social | 687

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 244: Calling Options

Name Description Sample Value Data Type Required?

name Issue title Is- string No


sue_test_08_01_010

owner Owner of the Issue. {"id":"em- object No


plo000000000001000",
"display-
Name":"Uone" }

description Description of the Is- Is- string No


sue. sue_test_08_01_010
updated4

implementation- Implementation Lead- {"id":"per- object No


Lead er of the Issue. sn000000000001005",
"display-
Name":"csind-
hav6"}
REST API Reference | Social | 688

Name Description Sample Value Data Type Required?

state State of issue. New string No


Possible status:

State Value De-


scrip-
tion

New 1 New

Open 101 Being


Re-
viewed

102 Re-
viewed

103 Ac-
cep-
ted

104 In
Pro-
gress

105 Par-
tially
Imple-
men-
ted

On- 201 On
hold Hold

closed 301 Fully


Imple-
men-
ted

302 Closed

303 Rejec-
ted

status Status of issue. 1 string No


Though its validity de-
pends on the status
selected for the issue
.

disableSharing Disable users to share false Boolean No


this issue.
REST API Reference | Social | 689

Name Description Sample Value Data Type Required?

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

language Language of the is- {"id":lange000000000000001", object No


sue. "display-
Name":"English"}

resourceId resourceId is the ID of string Yes


issue id

Request Body

{
"name":"Issue_test_08_01_010",
"description":"Issue_test_08_01_010 updated4",
"owner":{
"id":"emplo000000000001000",
"displayName":"Uone"
},
"language":{
"id":"lange000000000000001",
"displayName":"English"
},
"shareWith":[
{
"id":"",
"displayName":"cone",
"type":"person",
"role":"co-owner"
}
],
"state":"open",
"status":"201",
"implementationLead":{
"id":"persn000000000001005",
"displayName":"csindhav6"
},
"disableSharing":false,
"notify":"people"
}

UPDATE LINK POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Updates a link posted on the Cornerstone SBX Activity Stream.

Requires OAuth
No
REST API Reference | Social | 690

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 245: Calling Options

Name Description Sample Value Data Type Required?

name Link title link_test_08_01_010 string No

url URL of the link. string No

owner Owner of the link. {"id":"em- object No


plo000000000001000",
"display-
Name":"Uone"}

description Description of the link_test_08_01_010 string No


Link. updated4

shareWith List of entity with [{"id":"", "display- object No


whom link is to be Name":"cone",
shared. It could be "type":"per-
person and/or group. son","role":"co-
owner"}]

disableSharing Disable users to share false Boolean No


this link.

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

language Language of the link. {"id":lange000000000000001", object No


"display-
Name":"English"}

tag Tags on the link. ["mytag3", string No


"mytag4"]

resourceId resourceId is the ID of string Yes


link id
REST API Reference | Social | 691

Request Body

{
"name":"link_test_08_01_010",
"description":"link_test_08_01_010 updated4",
"url":"https://dqlearning.sabacloud.com",
"owner":{
"id":"emplo000000000001000",
"displayName":"Uone"
},
"language":{
"id":"lange000000000000001",
"displayName":"English"
},
"shareWith":[
{
"id":"",
"displayName":"cone",
"type":"person",
"role":"co-owner"
}
],
"disableSharing":false,
"notify":"people",
"tag":[
"mytag3",
"mytag4"
]
}

UPDATE FILE POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Updates a file posted on the Cornerstone SBX Activity Stream.
Note: For the file resource, the file must be added as form data of type file. Only one file as
attachment will be accepted. In case more than one file is passed in the input then only the
first file will be considered, remaining files will be ignored.
Text details for the file should not have any new line character or any special character in
between two different attributes.
Though there is no limit set for the size of the file that you post, a file exceeding 3 MB may
get timed out.

Requires OAuth
No

Content Type
Consumes: Multipart-form-data, Produces: application/json

Method
PUT
REST API Reference | Social | 692

URL
https://<hostname-api.sabacloud.com>/v1/social/file/:fileId

Calling Options
Table 246: Calling Options

Name Description Sample Value Data Type Required?

fileId File Id string Yes

name File title link_test_08_01_010 string No

owner Owner of the file. {"id":"em- object No


plo000000000001000",
"display-
Name":"Uone"}

description Description of the file. link_test_08_01_010 string No


updated4

shareWith List of entity with [{"id":"", "display- object No


whom file is to be Name":"cone",
shared. It could be "type":"per-
person and/or group. son","role":"co-
owner"}]

disableSharing Disable users to share false Boolean No


this file.

notify Whom to notify, it's people string No


value could be:
• people
• group
• peopleandgroup

language Language of the file. {"id":lange000000000000001", object No


"display-
Name":"English"}

tag Tags on the file. ["mytag3", string No


"mytag4"]

detail Accepts JSON as the string Yes


metadata. Refer to
the request body.

file1 For uploading the file. string Yes

Request Body

key: detail
value:{
REST API Reference | Social | 693

"name": "file_test_07_29_005",
"description": "file_test_07_29_005",
"owner": {
"id": "emplo000000000001000",
"displayName": "Uone"
},
"language": {
"id": "lange000000000000001",
"displayName": "English"
},
"disableSharing": true,
"shareWith": [{
"id": "persn000000000001000",
"displayName": "CSINDHAV1",
"type": "person",
"role": "viewer"
}],
"notify": "people",
"tag": [
"mytag3",
"mytag4"
]
}

DELETE IDEA POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Deletes an issue posted on the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 247: Calling Options

Name Description Sample Value Data Type Required?

resourceId resourceId is the ID of string Yes


Idea
REST API Reference | Social | 694

DELETE ISSUE POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Deletes an issue posted on Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 248: Calling Options

Name Description Sample Value Data Type Required?

resourceId resourceId is the ID of string Yes


the Issue

DELETE LINK POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Deletes a link posted on the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 249: Calling Options

Name Description Sample Value Data Type Required?

resourceId resourceId is the ID of string Yes


the link
REST API Reference | Social | 695

DELETE FILE POSTED ON Cornerstone SBX ACTIVITY STREAM

Overview
Deletes a file posted on the Cornerstone SBX Activity Stream.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/file/:fileId

Calling Options
Table 250: Calling Options

Name Description Sample Value Data Type Required?

fileId File Id string Yes

Interactions
REST endpoints for the social data.

LIKE OR DISLIKE A RESOURCE

Overview
Allows liking or disliking a resource.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId/likes?thumbsDown=:thumbsDown
REST API Reference | Social | 696

Calling Options
Table 251: Calling Options

Name Description Sample Value Data Type Required?

resourceId ID of the resource. A string Yes


resource can be: Idea,
Issue, Link, File and
Discussion. Pages,
workspaces, blogs are
not supported as of
now.
Note:
This API also allows to
like and unlike the
comments of a re-
source using the ID of
comments by invok-
ing the Get comment
details of a resource
REST API.

thumbsDown Like or dislike a re- false boolean No


source. Accepts
true/false
Note: Dislike is sup-
ported only for Issue
and Idea resource
types.

Return Values

{"success":true}

UNLIKE A RESOURCE

Overview
Allows removing the like of a resource. This is not the same as dislike.

Requires OAuth
No

Method
DELETE
REST API Reference | Social | 697

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId/likes

Calling Options
Table 252: Calling Options

Name Description Sample Value Data Type Required?

resourceId ID of the resource. A string Yes


resource can be: Idea,
Issue, Link, File and
Discussion. Pages,
workspaces, blogs are
not supported as of
now.

Return Values

{"success":true}

GET COMMENT DETAILS OF A RESOURCE

Overview
Gets comment details of a resource such as Idea, Issue, Link, File and Discussion.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId/comment
Example:
Getting comment details of a discussion:
https://<hostname-api.sabacloud.com>/v1/social/resource/bbmsg000000000001311/comment

Calling Options
Table 253: Calling Options

Name Description Sample Value Data Type Required?

resourceId ID of the resource string Yes


(Idea, Issue, Link, File
and Discussion)
REST API Reference | Social | 698

Return Values

{
"commentDetail": [
{
"createdOn": "2016-12-14T06:00:16.000+0000",
"personDetail": {
"jobTitle": "cc",
"firstName": "user",
"lastName": "öztürk",
"personNo": "UONE",
"emailId": "vthomasdoppleganger@saba.com",
"id": "emplo000000000533317",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000533317",
"username": "UONE"
},
"parentId": "bbmsg000000000018227",
"likeCount": 1,
"likeDetail": [
{
"createdOn": "2016-12-16T09:25:22.670+0000",
"personDetail": {
"jobTitle": "cc",
"firstName": "user",
"lastName": "öztürk",
"personNo": "UONE",
"emailId": "vthomasdoppleganger@saba.com",
"id": "emplo000000000533317",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000533317",

"username": "UONE"
},
"id": "fbbas000000000030389"
}
],
"replyCount": 0,
"id": "bbmsg000000000018228",
"comment": "comment-text"
}
],
"count": 1
}

GET LIKE DETAILS OF A RESOURCE

Overview
Gets like details of a resource.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId/likes?summary=:summary
REST API Reference | Social | 699

Calling Options
Table 254: Calling Options

Name Description Sample Value Data Type Required?

resourceId ID of the resource string Yes

summary Show only Summary. false boolean No


Accepts true/false

Return Values

{
"likeDetails": [
{
"createdOn": "2016-12-02T12:31:04.473+0000",
"personDetail": {
"emailId": "uuuu@111.com",
"jobTitle": "gytfhhh",
"firstName": "user",
"lastName": "one",
"personNo": "UONE",
"id": "emplo000000000533317",
"href": "https://<hostname-api.sabacloud.com>/v1/people/emplo000000000533317",

"username": "UONE"
},
"id": "fbbas000000000030031"
}
],
"totalLikes": 1,
"totalDislikes": 0
}

POST A COMMENT ON A RESOURCE

Overview
Posts a comment on resources (all types), discussions and comments (made on resources
and discussions).

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId/comment
Example:
https://<hostname-api.sabacloud.com>/v1/social/resource/issue000000000001044/comment
REST API Reference | Social | 700

https://<hostname-api.sabacloud.com>/v1/social/resource/bbmsg000000000001311/comment

Calling Options
Table 255: Calling Options

Name Description Sample Value Data Type Required?

resourceId ID of the resource or bbmsg000000000001516 string Yes


the parent comment
is-
ID of the discussion
sue000000000001044

comment Comment to be pos- test comment string Yes


ted on the resource

Request Body

{
"comment":"comment1"
}

GET SOCIAL INTERACTIONS OF A USER

Overview
Retrieves the social interactions such as clicks, likes, comments and shares of a user.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/metrics/:personId?resource=(:resources)&from_date=:from_date&to_date=:to_date

URL (using lookup)


https://<hostname-api.sabacloud.com>/v1/social/metrics/username=<username>?resource=(:resources)&from_date=:from_date&to_date=:to_date

Calling Options
Table 256: Calling Options

Name Description Sample Value Data Type Required?

personId ID of the user string Yes


REST API Reference | Social | 701

Name Description Sample Value Data Type Required?

resources List of resources: string Yes


• idea
• file
• url
• blog
• contributions
• discussions
• feedback
• workspace
• connections
• views
• videos

from_date From date date Yes


Note: The supported
date format: YYYY-
MM-DD.

to_date To date date Yes


Note: The supported
date format: YYYY-
MM-DD.

Detail of metrics fields for each resource type in output


The following are the fields for each resource type in output:
1. Connections
a. Total followers
b. Total followed
c. Grand total of followers (regardless of date range)
d. Grand total of followed (regardless of date range)
2. Contributions
a. Total ideas contributed
b. Total bookmarks contributed
c. Total discussion initiated
d. Total file contributed
e. Total url contributed
f. Total blog contributed
g. Total video contributed
3. Discussions
a. Total votes for discussion
b. Total number of replies on discussion
c. Total number of tags on discussion
4. Ideas
REST API Reference | Social | 702

a. Total number of tags on ideas


b. Total number of Votes for idea
Note: If a user gives two positive votes and two negative votes, then this value appears
as 0. It is also 0, if the user does not have any votes.
c. Total number of Views for idea
d. Total number of comments for idea
5. File
a. Number of tags on file
b. Count of Ratings for File
c. Total comments for File
6. URL
a. Number of tags on URL
b. Count of Ratings for URL
c. Total comments for URL
7. Blogs
a. Number of tags on Blogs
b. Number of Ratings for Blog
c. Total comments for Blog
8. Video
a. Number of Tags on Video
b. Count of Ratings for Video
c. Total comments for Video
9. Workspace
a. Number of Tags on Workspaces
b. Count of Ratings for Workspaces
10. Feedback
a. Positive votes by person
b. Negative votes by person
11. Views
a. Number of Views by person for videos, page and blogpost.

Return Values

{
"followers":10,
"followed":5,
"total_followers":20,
"total_followed":15,
"total_ideas_contributed":2,
"total_bookmarks_contributed":5,
"total_discussion_initiated":2,
"total_files_contributed":2,
"total_urls_contributed":2,
"total_blogs_contributed":3,
"total_videos_contributed":5,
"total_issues_contributed":7,
REST API Reference | Social | 703

"total_votes_for_discussion":7,
"total_replies_on_discussion":9,
"count_tags_on_discussion":5,
"total_votes_for_idea":5,
"total_comment_for_idea":4,
"total_tags_for_idea":8,
"total_views_on_idea":10,
"number_of_tags_on_file":0,
"count_of_ratings_for_file":0,
"file_comment_count":0,
"number_of_tags_on_url":0,
"count_of_ratings_for_url":0,
"url_comment_count":0,
"number_of_tags_on_blogs":0,
"count_of_blog_ratings":0,
"blog_count_of_comments":0,
"number_of_tags_on_videos":0,
"count_of_video_ratings":0,
"video_count_of_comments":0,
"count_tags_on_workspaces":0,
"count_of_workspace_ratings":0,
"count_positivevotes_by_psn":30,
"count_negativevotes_by_psn":10,
"total_views":25
}

Groups
REST endpoints for the social data.

GET GROUP DETAILS

Overview
Retrieves the details of a particular group.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/groups/:groupId?expand=:details
Note: Use expand=memberCount query parameter to fetch the member count of the group.
REST API Reference | Social | 704

Calling Options
Table 257: Calling Options

Name Description Sample Value Data Type Required?

groupId ID of the group string Yes

details Comma separated list string No


of detail attributes

Return Values

{
"memberCount": 0,
"pictureURL": null,
"groupDetail": {
"allowWorkspace": true,
"canStartDiscussion": true,
"personDefaultGroup": false,
"canContributeFile": true,
"owner": {
"name": "User One",
"id": "emplo000000000001000",
"type": "PERSON"
},
"description": "This is community related to Trekking activities in India. We will shar, plan,
and enjoy our trekking.",
"systemCommunity": false,
"visibility": "PUBLIC",
"joinOption": "MEMBER_ALLOWED",
"createdBy": null,
"updatedBy": null,
"updatedOn": "2016-12-08T10:36:11.000+0530",
"createdOn": "2008-03-25T13:00:50.000+0530",
"name": "Trekking Activity in India",
"id": "teams000000000001043",
"type": "GROUP"
},
"socialProfileDetail": null,
"socialActions": null
}

SEARCH MY GROUPS

Overview
Allows searching within my groups.
Note: Only shows the groups to which the user has access (GROUPS tab in Cornerstone
SBX).
This API only retrieves My Groups. If you need to see all the groups, use the Global Search
API.

Requires OAuth
No
REST API Reference | Social | 705

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/groups?
q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 258: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string No


the field name.
You can search by
name and description.

field_value The search value for group1 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails If set to false, only the false boolean No


basic details will be
returned and if set to
true, the group details
will be returned with
additional informa-
tion.

Return Values

{
"startIndex": 1,
"totalResults": 14,
"hasMoreResults": true,
"itemsPerPage": 5,
"facets": [],
"results": [
{
"id": "teams000000000001043",
"displayName": "Trekking Activity in India",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001043"
},
{
"id": "teams000000000001040",
REST API Reference | Social | 706

"displayName": "test community",


"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001040"
},
{
"id": "teams000000000001041",
"displayName": "Community1",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001041"
},
{
"id": "teams000000000001042",
"displayName": "comunity2",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001042"
},
{
"id": "teams000000000001063",
"displayName": "aakripa1111",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001063"
}
]
}

SEARCH ALL GROUPS (ADMIN MODE)

Overview
Allows searching groups in the collaboration admin mode.
Note: Only show the groups to which the user has access (ADMIN > Social Admin tab) in
Cornerstone SBX.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/groups?
isAdmin=true&q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Social | 707

Calling Options
Table 259: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string No


the field name.
You can search by
name, description,
type, category, status,
owner_id, activa-
tion_date, expira-
tion_date, visibility
and allow_join.

field_value The search value for group1 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails If set to false, only the false boolean No


basic details will be
returned and if set to
true, the group details
will be returned with
additional informa-
tion.

isAdmin Indicate the admin false boolean No


mode, accepts
true/false.

Return Values

{
"startIndex": 1,
"totalResults": 14,
"hasMoreResults": true,
"itemsPerPage": 5,
"facets": [],
"results": [
{
"id": "teams000000000001043",
"displayName": "Trekking Activity in India",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001043"
},
{
"id": "teams000000000001040",
REST API Reference | Social | 708

"displayName": "test community",


"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001040"
},
{
"id": "teams000000000001041",
"displayName": "Community1",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001041"
},
{
"id": "teams000000000001042",
"displayName": "comunity2",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001042"
},
{
"id": "teams000000000001063",
"displayName": "aakripa1111",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001063"
}
]
}

SEARCH MY GROUPS (POST BASED)

Overview
Allows searching within my groups using the POST method.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/groups?isAdmin=true&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 260: Calling Options

Name Description Sample Value Data Type Required?

conditions The conditions. You object Yes


can search by name,
description, type, cat-
egory, status, own-
er_id, activation_date,
expiration_date, visib-
ility and allow_join.

isAdmin Indicate the admin false boolean No


mode, accepts
true/false.
REST API Reference | Social | 709

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails If set to false, only the false boolean No


basic details will be
returned and if set to
true, the group details
will be returned with
additional informa-
tion.

Request Body

{
"conditions":[
{
"name":"name",
"operator":"==",
"value":"New"
}
]
}

Return Values

{
"startIndex": 1,
"totalResults": 14,
"hasMoreResults": true,
"itemsPerPage": 5,
"facets": [],
"results": [
{
"id": "teams000000000001043",
"displayName": "Trekking Activity in India",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001043"
},
{
"id": "teams000000000001040",
"displayName": "test community",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001040"
},
{
"id": "teams000000000001041",
"displayName": "Community1",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001041"
},
{
"id": "teams000000000001042",
"displayName": "comunity2",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001042"
REST API Reference | Social | 710

},
{
"id": "teams000000000001063",
"displayName": "aakripa1111",
"href": "http://<hostname-api.sabacloud.com>/v1/groups/teams000000000001063"
}
]
}

MANAGE GROUP MEMBERSHIP

Overview
Allows managing group membership with various operations like join, leave, reject and
approve.
Note: Only the group owner can perform actions on the group membership.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/groups/membership?action=(:action)

Calling Options
Table 261: Calling Options

Name Description Sample Value Data Type Required?

action Action like join, leave, join string Yes


reject and approve

@type Input JSON class com.saba.rest. string Yes


name businesscompon-
ent.dto.
TeamPersonDTO

team Group Supports look- {"@type":"com.saba.rest.ser- object Yes


up (Group's name). vice.RESTServi-
ceObjectRefer-
ence", "display-
Name":"Trekking
Activity in India"}
REST API Reference | Social | 711

Name Description Sample Value Data Type Required?

personList List of persons. Sup- [ "java.util.List", [ object Yes


ports lookup (Person's {
username). "@type":"com.saba.rest.ser-
vice.RESTServi-
ceObjectRefer-
ence", "display-
Name":"jvu" } ] ]

Request Body

{
"@type":"com.saba.rest.businesscomponent.dto.TeamPersonDTO",
"team":{
"@type":"com.saba.rest.service.RESTServiceObjectReference",
"displayName":"Trekking Activity in India"
},
"personList":[
"java.util.List",
[
{
"@type":"com.saba.rest.service.RESTServiceObjectReference",
"displayName":"jvu"
}
]
]
}

Return Values

{
"message": "Member is successfully added to group.",
"success": true,
"messageCode": 200
}

Discussions
REST endpoints for the social data.

GET DISCUSSION DETAILS

Overview
Retrieves the details of a particular discussion.

Requires OAuth
No
REST API Reference | Social | 712

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:discussionId

Calling Options
Table 262: Calling Options

Name Description Sample Value Data Type Required?

discussionId ID of the Discussion bbmsg000000000001215 string Yes

Return Values

{
"flagged": false,
"subject": "Discussion Group1 d2",
"description": "hellow world",
"communityRef": {
"id": "teams000000000010844",
"displayName": "Discussion Group1"
},
"id": "bbmsg000000000014563",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"auditDetail": {
"createdId": "emplo000000000051941",
"createdBy": "uone",
"updatedBy": "uone",
"createdOn": "2020-03-06T10:05:07.000+0000",
"updatedOn": "2020-03-06T10:13:12.000+0000"
},
"discussionCategory": {
"id": "forum000000000014473",
"displayName": "forum2"
}
}

START A NEW DISCUSSION

Overview
Allows starting a new discussion.

Requires OAuth
No

Method
PUT
REST API Reference | Social | 713

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:groupId

Calling Options
Table 263: Calling Options

Name Description Sample Value Data Type Required?

groupId ID of the Group teams000000000001123 string Yes

subject Discussion subject subject name1 string No

description Description text for description text string No


the discussion

discussionCat- Discussion forum cat- string No


egory egory {"id":"for►
um000000000014490",
"display►
Name":"for►
um1"}

notifyGroup Notify group mem- true string No


bers

Request Body

{
"subject": "Discussion Group1 d1",
"description":"hellow world",
"discussionCategory": {
"id": "forum000000000014490",
"displayName":"forum1"
},
"notifyGroup":"false"
}

UPDATE THE DISCUSSION DETAILS

Overview
Allows updating the details of an existing discussion.

Requires OAuth
No

Method
POST
REST API Reference | Social | 714

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:discussionId

Calling Options
Table 264: Calling Options

Name Description Sample Value Data Type Required?

discussionId ID of the discussion bbmsg000000000001215 string Yes

subject Discussion subject subject name1 string No

description Description text for description text string No


the discussion

discussionCat- Discussion forum cat- string No


egory egory {"id":"for►
um000000000014490",
"display►
Name":"for►
um1"}

Request Body

{
"subject": "Discussion Group1 d1",
"description":"hellow world",
"discussionCategory": {
"id": "forum000000000014490",
"displayName":"forum1"
}
}

DELETE A DISCUSSION

Overview
Allows deleting a particular discussion.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:discussionId
REST API Reference | Social | 715

Calling Options
Table 265: Calling Options

Name Description Sample Value Data Type Required?

discussionId ID of the discussion bbmsg000000000001215 string Yes

reason Reason for deletion. string No


Supported values: {"reason":"INAP►
PROPRIATE"}
• INAPPROPRIATE
• INACCURATE
• OUTDATED
• VIOLATIVE (De-
fault)

Request Body

{
"reason":"INAPPROPRIATE"
}
Chapter

9
Learning

Topics: REST endpoints for the learning data.

• Attendance
• Common
• Class
• Certification
• Course
• Recurring Course
Completions
• Categories
• Catalog
• Curriculum
• Delivery mode
• Held Checklist
• Checklist
• Enrollment
• Fields of Study
• Learning Event
• Learning Module
• Order
• Path
• Packages
• Purchase Order
• Price List
• Price List Entry
• Resource
• Subscription
• Subscription Order
• Session Template
• Transcript
• Training Unit
• Training Unit Agreement
• Images
• Tasks
REST API Reference | Learning | 718

Attendance
REST endpoints for the learning data.

GET META DETAILS OF ATTENDANCE

Overview
Returns the meta details of the attendance.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attendance/meta

Return Values

{
"sampleData":{
"learner":null,
"session_no":null,
"offering":null,
"hours":null,
"minutes":null,
"id":null,
"href":"https://<hostname-api.sabacloud.com>/v1/attendance/attnd000000000000001"

},
"name":"Attendance",
"displayName":"Attendance",
"attributes":[
{
"name":"hour_attended",
"displayName":"Hour Attended",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"real",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"hours",
"displayName":"Hours",
"description":null,
"isRequired":false,
REST API Reference | Learning | 719

"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"is_present",
"displayName":"Is Present",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"learner",
"displayName":"Learner",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"minutes",
"displayName":"Minutes",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"offering",
"displayName":"Class",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
REST API Reference | Learning | 720

"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"reg_id",
"displayName":"Reg Id",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"session_no",
"displayName":"Session Number",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"time_element_id",
"displayName":"Time Element Id",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
}
]
}

GET DETAILS OF A PARTICULAR ATTENDANCE

Overview
Returns complete information about an attendance based on the Attendance's ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET
REST API Reference | Learning | 721

URL
https://<hostname-api.sabacloud.com>/v1/attendance/:id

Calling Options
Table 266: Calling Options

Name Description Sample Value Data Type Required?

id Attendance's ID at- string Yes


tnd000000000201694

Return Values

{
"hours": 1,
"minutes": 15,

"offering": {
"id": "class000000000201543",
"displayName": "AAQQWW"
},
"session_no": 3,
"learner": {
"id": "emplo000000000200387",
"displayName": "a a"
},
"id": "attnd000000000201694"
}

MARK ATTENDANCE FOR A LEARNER

Overview
Marks the attendance for a learner.
Note: While using this REST service, make a note of the following:
• For VC offering, since the attendance comes via Cornerstone SBX Meeting or WebEx, this
API does not support marking attendance for VC offering.
• For blended offering, attendance cannot be marked for virtual sessions but only for
Instructor led sessions.
• If an ILT offering has 3 sessions with first session covering introduction, second session
covering details and third session covering Q&A, then the sessions are numbered 1,2 and
3 respectively. session_no will be provided. Sessions will be numbered with 1,2,3,..
• If a blended offering has 3 sessions with first session instructor led, second session virtual,
third session instructor led, then the sessions are still numbered 1,2 and 3 respectively.
session_no will be provided. Sessions will be numbered with 1,2,3,..

Requires OAuth
No
REST API Reference | Learning | 722

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/attendance

Calling Options
Table 267: Calling Options

Name Description Sample Value Data Type Required?

offering Offering's ID { "id": object Yes


"class000000000201543",
"displayName":
"AAQQWW" }

learner Learner's ID { "id": "em- object Yes


plo000000000200387",
"displayName": "a
a" }

session_no Session No 1 integer Yes

hours Hours 1 integer No


Note: If hours is not
provided, the total
session duration is
considered for mark-
ing the attendance.

minutes Minutes 15 integer No

Request Body

{
"offering": {
"id": "class000000000201543",
"displayName": "AAQQWW"
},
"session_no":3,
"learner": {
"id": "emplo000000000200387",
"displayName": "a a"
},
"hours":1,
"minutes": 15
}

Return Values

{
"id": "attnd000000000201694",
REST API Reference | Learning | 723

"displayName": null,
"href": "https://<hostname-api.sabacloud.com>/v1/attendance/attnd000000000201694"
}

UPDATE ATTENDANCE IN BULK

Overview
Updates attendance of session classes in bulk.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/offering/:offeringId/roster/attendance
Note: Offering ID needs to be passed in the path parameter of class.

Calling Options
Table 268: Calling Options

Name Description Sample Value Data Type Required?

@type Input JSON class string Yes


com.saba.learn-
name
ing.services
.registration.Bulk-
AttendanceDetail

allLearners Mark for all learners false string No

sessionNo Specify number of 1 integer Yes


session to mark at-
tendance

hours Specify hours 1 integer No

minutes Specify minutes 30 integer No


REST API Reference | Learning | 724

Name Description Sample Value Data Type Required?

learners List of learners string No


[
"list",
[
{
"@type":
"ServiceOb►
jectReference",

"id": "em►
plo000000000001027"

}
]
]

learnerSessions List of learners with string No


duration details [
"list",
[
{
"@type":
"com.saba.learn►
ing.services.re►
gistration.At►
tendanceSes►
sionDetail",
"hours":
1,

"minutes": 30,
"learner":
{

"@type": "Servi►
ceObjectRefer►
ence",
"id":
"em►
plo000000000001027"

}
}
]
]

Request Body (Updating all confirmed registrations for session with same duration
specified in hours and minutes)

{
"@type":"com.saba.learning.services.registration.BulkAttendanceDetail",
"allLearners":true,
"sessionNo":1,
"hours":1,
REST API Reference | Learning | 725

"minutes":30
}

Request Body (Updating the attendance of the provided list of learners with the same
duration specified in hours and minutes)

{
"@type":"com.saba.learning.services.registration.BulkAttendanceDetail",
"learners":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"emplo000000000001027"
}
]
],
"sessionNo":1,
"hours":1,
"minutes":30
}

Request Body (Updating the attendance of the provided list of learners with different
duration specified in hours and minutes for each learner)

{
"@type":"com.saba.learning.services.registration.BulkAttendanceDetail",
"learnerSessions":[
"list",
[
{
"@type":"com.saba.learning.services.registration.AttendanceSessionDetail",
"hours":1,
"minutes":30,
"learner":{
"@type":"ServiceObjectReference",
"id":"emplo000000000001027"
}
}
]
],
"sessionNo":1
}

SEARCH DETAILS OF AN ATTENDANCE

Overview
Returns complete information about an attendance based on the offering or a learner.
Note: This API can only be executed by Catalog admin / Registrar / Instructor. Using a
certificate of any other user will throw an exception.

Requires OAuth
No
REST API Reference | Learning | 726

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attendance
?q=(:criteria)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 269: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. learner%3D%3D string Yes


the condition for at- em-
tendance search plo000000000001027
Note: Conditions
supported:
• offering: internal ID
of the session
based class
• learner : internal ID
of the learner en-
rolled in class
At least one condition
is needed. A blank
search is not suppor-
ted.

includeDetails Returns the details of true string No


the attendance in the
search.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values (includeDetails=true)

{
"totalResults": 4,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
REST API Reference | Learning | 727

"displayName": "001"
},
"learner": {
"id": "emplo000000000001027",
"displayName": "User2 One2"
},
"hours": 1,
"minutes": 1,
"id": "attnd000000000200083"
},
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000200099",
"displayName": "Ajay Tripathi"
},
"hours": 1,
"minutes": 30,
"id": "attnd000000000200085"
},
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000001001",
"displayName": "User Two"
},
"hours": 1,
"minutes": 30,
"id": "attnd000000000200087"
},
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000001036",
"displayName": "User1 Three1"
},
"hours": 1,
"minutes": 30,
"id": "attnd000000000200089"
}
],
"facets": []
}

Return Values (includeDetails=false)

{
"totalResults": 4,
"hasMoreResults": false,
REST API Reference | Learning | 728

"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "attnd000000000200083",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200083"

},
{
"id": "attnd000000000200085",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200085"

},
{
"id": "attnd000000000200087",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200087"

},
{
"id": "attnd000000000200089",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200089"

}
],
"facets": []
}

SEARCH DETAILS OF AN ATTENDANCE (USING POST - RANGE


BASED SEARCH)

Overview
Returns complete information about an attendance based on the offering or a learner.
Note: This API can only be executed by Catalog admin / Registrar / Instructor. Using a
certificate of any other user will throw an exception.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/attendance/
searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Learning | 729

Calling Options
Table 270: Calling Options

Name Description Sample Value Data Type Required?

conditions The search condi- string Yes


tions. [
{
Note: Conditions "name":
supported: "learner",
"operator":
• offering: internal ID "==",
of the session "value":
based class "em►
• learner : internal ID plo000000000001027"
of the learner en-
rolled in class }
]
At least one condition
is needed. A blank
search is not suppor-
ted.

includeDetails Returns the details of true string No


the attendance in the
search.

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.

Request Body

{
"conditions" : [{"name": "learner","operator": "==","value": "emplo000000000001027"}]
}

Return Values (includeDetails=true)

{
"totalResults": 4,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000001027",
REST API Reference | Learning | 730

"displayName": "User2 One2"


},
"hours": 1,
"minutes": 1,
"id": "attnd000000000200083"
},
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000200099",
"displayName": "Ajay Tripathi"
},
"hours": 1,
"minutes": 30,
"id": "attnd000000000200085"
},
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000001001",
"displayName": "User Two"
},
"hours": 1,
"minutes": 30,
"id": "attnd000000000200087"
},
{
"session_no": 1,
"offering": {
"id": "class000000000200503",
"displayName": "001"
},
"learner": {
"id": "emplo000000000001036",
"displayName": "User1 Three1"
},
"hours": 1,
"minutes": 30,
"id": "attnd000000000200089"
}
],
"facets": []
}

Return Values (includeDetails=false)

{
"totalResults": 4,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
REST API Reference | Learning | 731

"id": "attnd000000000200083",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200083"

},
{
"id": "attnd000000000200085",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200085"

},
{
"id": "attnd000000000200087",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200087"

},
{
"id": "attnd000000000200089",
"href":
"http://<hostname-api.sabacloud.com>/Saba/api/component/attendance/attnd000000000200089"

}
],
"facets": []
}

Common
REST endpoints for the learning data.

GET ALL RECORDS OF A COMPONENT

Overview
Returns all the records of a component.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/:componentName
REST API Reference | Learning | 732

Calling Options
Table 271: Calling Options

Name Description Sample Value Data Type Required?

componentName The name of the de- certification enumerated Yes


sired component.

Return Values

GET DETAILS OF A PARTICULAR COMPONENT

Overview
Returns complete information about a component [certification | curriculum | path |
learningmodule | learningintervention] based on the component's ID that is passed as a
parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/:name/:id:(:searchFields)

Calling Options
Table 272: Calling Options

Name Description Sample Value Data Type Required?

name The name of the com- certification string Yes


ponent. Can be one of
these:
• certification
• curriculum
• path
• learningmodule
• learninginterven-
tion

id Component's ID crt- string Yes


fy000000000200021
REST API Reference | Learning | 733

Name Description Sample Value Data Type Required?

searchFields Fields to search: string No


• paths
• learningModules
• learningInterven-
tions

Return Values
Certification

{
"parent": null,
"past_credit_days": null,
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"deepLinkUrls": [

"http://<hostname-api.sabacloud.com>/Saba/Web_spf/Social/common/learningeventdetail/crtfy000000000200180"

],
"name": "abc",
"description": "",
"paths": [
{
"name": "path1",
"isrecertification_track": false,
"learningModules": [
{
"name": "module1",
"sequence": 1,
"notes": null,
"reqd_no_of_items": 1,
"learningInterventions": [
{
"sequence": 1,
"owner_id": null,
"part_id": {
"id": "cours000000000200705",
"displayName": "course_for_le"
},
"is_reqd": false,
"is_waiver": false,
"id": "edupl000000000200340"
}
],
"is_reqd": true,
"is_waiver": true,
"track_id": null,
"id": "cegrp000000000200200"
}
],
"is_default_path": true,
"id": "track000000000200200"
}
],
"version": null,
"group": null,
REST API Reference | Learning | 734

"status": "INEFFECT",
"learningevent_id": "200073",
"disc_from": null,
"createGroupPolicyVal": false,
"valid_till": null,
"notify_before": null,
"vendor_id": null,
"avl_from": "2009-07-10T00:00:00.000+0530",
"target_days": 0,
"featured": false,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},

Curriculum

{
"deepLinkUrls": [

"http://<hostname-api.sabacloud.com>/Saba/Web_spf/Social/common/learningeventdetail/curra000000000001140"

],
"name": "BlendedenrCurr1en_US",
"description": "",
"paths": [
{
"name": "P1",
"isrecertification_track": false,
"learningModules": [
{
"name": "M1",
"sequence": 1,
"notes": null,
"reqd_no_of_items": 1,
"learningInterventions": [
{
"sequence": 1,
"owner_id": null,
"part_id": {
"id": "cours000000000200486",
"displayName": "111"
},
"is_reqd": false,
"is_waiver": false,
"id": "edupl000000000200980"
}
],
"is_reqd": true,
"is_waiver": true,
REST API Reference | Learning | 735

"track_id": null,
"id": "cegrp000000000200820"
}
],
"is_default_path": false,
"id": "track000000000200820"
},
{
"name": "P3",
"isrecertification_track": false,
"learningModules": [
{
"name": "Module1",
"sequence": 1,
"notes": null,
"reqd_no_of_items": 1,
"learningInterventions": [
{
"sequence": 1,
"owner_id": null,
"part_id": {
"id": "cours000000000201011",
"displayName": "blendedp05en_US"
},
"is_reqd": false,
"is_waiver": false,
"id": "edupl000000000200981"
}
],
"is_reqd": true,
"is_waiver": true,
"track_id": null,
"id": "cegrp000000000200821"
}
],
"is_default_path": false,
"id": "track000000000200821"
},
{
"name": "Path1",
"isrecertification_track": false,
"learningModules": [
{
"name": "Module1",
"sequence": 1,
"notes": null,
"reqd_no_of_items": 1,
"learningInterventions": [
{
"sequence": 1,
"owner_id": null,
"part_id": {
"id": "cours000000000201011",
"displayName": "blendedp05en_US"
},
"is_reqd": false,
"is_waiver": false,
"id": "edupl000000000200583"
}
],
"is_reqd": true,
"is_waiver": true,
REST API Reference | Learning | 736

"track_id": null,
"id": "cegrp000000000200422"
}
],
"is_default_path": true,
"id": "track000000000200422"
}
],
"version": null,
"group": null,
"status": "INEFFECT",
"learningevent_id": "200204",
"disc_from": null,
"createGroupPolicyVal": false,
"vendor_id": null,
"avl_from": "2009-07-14T00:00:00.000+0530",
"target_days": 0,
"featured": false,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "curra000000000001140"
}

Path

{
"name": "Path4-BB",
"learningModules": [
{
"name": "Module4-1-1",
"sequence": 1,
"notes": null,
"is_waiver": true,
"is_reqd": true,
"learningInterventions": [
{
"sequence": 1,
"is_waiver": false,
"is_reqd": false,
"part_id": {
"id": "cours000000000001080",
"displayName": "Attendance Check"
},
"id": "edupl000000000201142"
}
],
"reqd_no_of_items": 1,
"id": "cegrp000000000200942"
REST API Reference | Learning | 737

}
],
"is_default_path": true,
"isrecertification_track": false,
"id": "track000000000200962"
}

Learning Intervention

{
"sequence": 1,
"is_waiver": false,
"is_reqd": false,
"part_id": {
"id": "cours000000000200002",
"displayName": "Downloadable Product 3"
},
"id": "edupl000000000201094"
}

Learning Module

{
"name": "Module B mmmoddiiffiieedd",
"sequence": 2,
"notes": "hello yuppiiii",
"is_waiver": true,
"is_reqd": true,
"learningInterventions": [
{
"sequence": 1,
"is_waiver": false,
"is_reqd": false,
"part_id": {
"id": "cours000000000200002",
"displayName": "Downloadable Product 3"
},
"id": "edupl000000000201094"
}
],
"reqd_no_of_items": 1,
"id": "cegrp000000000200902"
}

GET META DETAILS OF A COMPONENT

Overview
Returns the meta details of a particular component [certification | curriculum | path |
learningmodule | learningintervention].

Requires OAuth
No

Method
GET
REST API Reference | Learning | 738

URL
https://<hostname-api.sabacloud.com>/v1/:name/meta

Calling Options
Table 273: Calling Options

Name Description Sample Value Data Type Required?

name The name of the com- certification string Yes


ponent. Can be one of
these:
• certification
• curriculum
• path
• learningmodule
• learninginterven-
tion

Return Values
Certification

{
"sampleData": {
"keywords": null,
"reAssignedTargetDays": null,
"past_credit_days": null,
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"deepLinkUrls": null,
"parent": null,
"created_by": null,
"updated_on": null,
"updated_by": null,
"created_on": null,
"name": null,
"description": null,
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"OneClickRegistration": false,
"auto_launch": false,
"paths": null,
"featured": false,
"valid_till": null,
"notify_before": null,
"avl_from": "2016-02-10T00:00:00.000+0000",
"disc_from": null,
"createGroupPolicyVal": false,
"target_days": 0,
"learningevent_id": null,
"version": null,
"vendor_id": null,
"status": "DRAFT",
"group": null,
"customValues": {
REST API Reference | Learning | 739

"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/certification/crtfy000000000000001"

},
"name": "Certification",
"displayName": "Certification",
"attributes": [
{
"name": "auto_launch",
"displayName": "Auto launch",
"description": "Auto launch enabled.",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "avl_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
REST API Reference | Learning | 740

"displayName": "Created ID",


"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "createGroupPolicyVal",
"displayName": "Create Group",
"description": "createGroupPolicyVal",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "deepLinkUrls",
"displayName": "Deeplink Urls",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": true,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isI18n": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 741

"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_callcenter",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_learner",
"displayName": "Display For Learner",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "enforce_module_seq",
"displayName": "Enforce module sequencing",
"description": "Enforce module sequencing enabled.",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "enforce_target_date",
"displayName": "Enforce target date",
"description": "Enforce target date enabled.",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000003036/values"

},
"display": true,
"isSearchFilter": false
REST API Reference | Learning | 742

},
{
"name": "featured",
"displayName": "Featured",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "grace_period",
"displayName": "Grace Period Welcome",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "group",
"displayName": "Group",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "history_lookup_policy",
"displayName": "Past Credit Days Policy",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 743

"name": "keywords",
"displayName": "Certification Keywords",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Key detail",
"displayName": "Key detail",
"attributes": [
{
"name": "id",
"displayName": "kI18nALKeydetail_id(Missing resource)",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "keycat_id",
"displayName": "Keycat Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "owner_id",
"displayName": "Owner Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
REST API Reference | Learning | 744

}
]
}
},
{
"name": "learningevent_id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "name",
"displayName": "Certification title",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "notify_before",
"displayName": "Notify Before (Days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "OneClickRegistration",
"displayName": "One-click registration",
"description": "One Click Registration",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "parent",
"displayName": "Parent",
"description": null,
"isRequired": false,
REST API Reference | Learning | 745

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "past_credit_days",
"displayName": "Past Credit Days",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "paths",
"displayName": "Paths",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Path",
"displayName": "Path",
"attributes": [
{
"name": "acq_within",
"displayName": "Acquire Within",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "avl_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
REST API Reference | Learning | 746

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_default_path",
"displayName": "Is Default Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_path_recalculation_done",
"displayName": "kI18nALPath_is_path_recalculation_done(Missing resource)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isrecertification_track",
"displayName": "Recertification Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
REST API Reference | Learning | 747

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningModules",
"displayName": "Learning Modules",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Certification Element Groups",
"displayName": "Certification Element Groups",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
REST API Reference | Learning | 748

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningInterventions",
"displayName": "Learning Interventions",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Education Plan",
"displayName": "Education Plan",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Is Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
REST API Reference | Learning | 749

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner_id",
"displayName": "Certification Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "part_id",
"displayName": "Product",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "notes",
"displayName": "Notes",
REST API Reference | Learning | 750

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "reqd_no_of_items",
"displayName": "No of Choices to complete",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "track_id",
"displayName": "Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
REST API Reference | Learning | 751

"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
}
]
}
},
{
"name": "publish_to_catalog",
"displayName": "Publish To Catalog",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "reAssignedTargetDays",
"displayName": "Reassignment Target Days",
"description": "Number of days after which the certification should be reacquired by
the learner on Reassignment. If the certification is not reacquired, its status moves to
overdue.",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "recert_window",
"displayName": "Recertification Window",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "recertwindow_unit",
"displayName": "Recertification Window Unit",
"description": "Recertification window Unit",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000004072/values"

},
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 752

"name": "self_register",
"displayName": "Allow Self Registrations",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000182/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "target_days",
"displayName": "Target Days",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
REST API Reference | Learning | 753

"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "valid_till",
"displayName": "Expires In (Days)welcome",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "validtill_daymonth",
"displayName": "Expires On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_frequency",
"displayName": "Frequency (Yearly)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_start_daymonth",
"displayName": "New Expiry Cycle Starts On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
REST API Reference | Learning | 754

},
{
"name": "validtill_type",
"displayName": "Expiry Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_unit",
"displayName": "Valid Till Unit",
"description": "Valid Till Unit",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000004072/values"

},
"display": true,
"isSearchFilter": false
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "version",
"displayName": "Version",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 755

"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Cert LOV String",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/listi000000000200241/values"

},
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
REST API Reference | Learning | 756

"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
REST API Reference | Learning | 757

"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}

Curriculum

{
"sampleData": {
"keywords": null,
"deepLinkUrls": null,
"name": null,
"description": null,
"disp_learner": false,
"disp_callcenter": false,
"self_register": false,
"OneClickRegistration": false,
"auto_launch": false,
"paths": null,
"featured": false,
"avl_from": null,
"disc_from": null,
"createGroupPolicyVal": false,
"target_days": 0,
"learningevent_id": null,
"version": null,
"vendor_id": null,
"status": null,
"group": null,
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom8": null,
"custom9": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/curriculum/curra000000000000001"

},
"name": "Curriculum",
"displayName": "Curriculum",
"attributes": [
{
REST API Reference | Learning | 758

"name": "auto_launch",
"displayName": "Auto launch",
"description": "Auto launch enabled",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "avl_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "createGroupPolicyVal",
"displayName": "Create Group",
"description": "createGroupPolicyVal",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "deepLinkUrls",
"displayName": "Deeplink Urls",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isI18n": true,
"isSearchFilter": false
},
REST API Reference | Learning | 759

{
"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_callcenter",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_learner",
"displayName": "Display for Learner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "enforce_module_seq",
"displayName": "Enforce module sequencing",
"description": "Enforce module sequencing enabled.",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "enforce_target_date",
"displayName": "Enforce target date",
"description": "Enforce target date enabled.",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "featured",
REST API Reference | Learning | 760

"displayName": "Featured",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "group",
"displayName": "Group",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "keywords",
"displayName": "Curriculum_Master Keywords",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Key detail",
"displayName": "Key detail",
"attributes": [
{
"name": "id",
"displayName": "kI18nALKeydetail_id(Missing resource)",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "keycat_id",
REST API Reference | Learning | 761

"displayName": "Keycat Id",


"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "owner_id",
"displayName": "Owner Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "learningevent_id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 762

"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "OneClickRegistration",
"displayName": "One-click registration",
"description": "One Click Registration",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "paths",
"displayName": "Paths",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Path",
"displayName": "Path",
"attributes": [
{
"name": "acq_within",
"displayName": "Acquire Within",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "avl_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Learning | 763

"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_default_path",
"displayName": "Is Default Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_path_recalculation_done",
"displayName": "kI18nALPath_is_path_recalculation_done(Missing resource)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isrecertification_track",
"displayName": "Recertification Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
REST API Reference | Learning | 764

"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningModules",
"displayName": "Learning Modules",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Certification Element Groups",
"displayName": "Certification Element Groups",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
REST API Reference | Learning | 765

"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningInterventions",
"displayName": "Learning Interventions",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Education Plan",
"displayName": "Education Plan",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Is Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
REST API Reference | Learning | 766

"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner_id",
"displayName": "Certification Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "part_id",
"displayName": "Product",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "notes",
"displayName": "Notes",
"description": null,
REST API Reference | Learning | 767

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "reqd_no_of_items",
"displayName": "No of Choices to complete",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "track_id",
"displayName": "Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
REST API Reference | Learning | 768

"isI18n": true,
"isSearchFilter": true
}
]
}
},
{
"name": "publish_to_catalog",
"displayName": "Publish To Catalog",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "self_register",
"displayName": "Allow Self Registrations",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000182/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "target_days",
"displayName": "Target Days",
"description": null,
REST API Reference | Learning | 769

"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "version",
"displayName": "Version",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
REST API Reference | Learning | 770

"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
REST API Reference | Learning | 771

},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "String LOV 1",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/listi000000000200242/values"

},
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "String LOV 2",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/listi000000000200243/values"

},
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "ExCustom1",
"displayName": "sadsadsad",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 772

"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "sadasdsadww",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

Path

{
"sampleData": {
"learningModules": null,
"is_default_path": false,
"isrecertification_track": false,
"name": null,
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/path/track000000000000001"
},
"name": "Path",
"displayName": "Path",
"attributes": [
{
"name": "acq_within",
"displayName": "Acquire Within",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "avl_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
REST API Reference | Learning | 773

"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_default_path",
"displayName": "Is Default Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isrecertification_track",
"displayName": "Recertification Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningModules",
"displayName": "Learning Modules",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "Certification Element Groups",
"displayName": "Certification Element Groups",
REST API Reference | Learning | 774

"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningInterventions",
"displayName": "Learning Interventions",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "Education Plan",
"displayName": "Education Plan",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
REST API Reference | Learning | 775

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Is Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner_id",
"displayName": "Certification Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "part_id",
"displayName": "Product",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
REST API Reference | Learning | 776

"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": false
},
{
"name": "notes",
"displayName": "Notes",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "reqd_no_of_items",
"displayName": "No of Choices to complete",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "track_id",
"displayName": "Track",
"description": null,
REST API Reference | Learning | 777

"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

Learning Intervention

{
"sampleData": {
"is_reqd": false,
"owner_id": null,
"part_id": null,
"is_waiver": false,
"sequence": 0,
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/learningintervention/edupl000000000000001"

},
"name": "Education Plan",
"displayName": "Education Plan",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
REST API Reference | Learning | 778

},
{
"name": "is_reqd",
"displayName": "Is Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner_id",
"displayName": "Certification Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "part_id",
"displayName": "Product",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}

Learning Module

{
"sampleData": {
"is_reqd": false,
REST API Reference | Learning | 779

"learningInterventions": null,
"notes": null,
"reqd_no_of_items": 0,
"is_waiver": false,
"track_id": null,
"name": null,
"sequence": null,
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/learningmodule/cegrp000000000000001"
},
"name": "Certification Element Groups",
"displayName": "Certification Element Groups",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "learningInterventions",
"displayName": "Learning Interventions",
"description": null,
"isRequired": false,
REST API Reference | Learning | 780

"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "Education Plan",
"displayName": "Education Plan",
"attributes": [
{
"name": "certification_id",
"displayName": "Certification ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_reqd",
"displayName": "Is Required",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_waiver",
"displayName": "Is Waiver",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner_id",
"displayName": "Certification Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
REST API Reference | Learning | 781

"name": "part_id",
"displayName": "Product",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "sequence",
"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": false
},
{
"name": "notes",
"displayName": "Notes",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "reqd_no_of_items",
"displayName": "No of Choices to complete",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
REST API Reference | Learning | 782

"displayName": "Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "track_id",
"displayName": "Track",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
}
]
}

DELETE A PATH, MODULE OR INTERVENTION

Overview
Deletes a path, module or intervention based on the component's ID that is passed as a
parameter value.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/:name/:id

Calling Options
Table 274: Calling Options

Name Description Sample Value Data Type Required?

name The name of the com- path string Yes


ponent. Can be one of
these:
• path
• learningmodule
• learninginterven-
tion
REST API Reference | Learning | 783

Name Description Sample Value Data Type Required?

id Component's ID crt- string Yes


fy000000000200021

Class
REST endpoints for the learning data.
The deeplinks that the web services return will be based on the URL of the default (SabaCloud)
microsite. For example:

https://<hostname>.sabacloud.com/Saba/Web_spf/ATHDB1/common/learningeventdetail/crtfy000000000200180

GET ALL CLASSES

Overview
Returns all offerings for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering?type=:type
Note: The type parameter needs to be mentioned immediately after v1/offering:

/v1/offering?type=:type

Calling Options
Table 275: Calling Options

Name Description Sample Value Data Type Required?

type The type of class instructor_led enumerated Yes


REST API Reference | Learning | 784

Return Values (ILT)

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "class000000000001505",
"href": "https://<hostname-api.sabacloud.com>/v1/offering/class000000000001505"

}
],
"totalResults": 1,
"startIndex": 1
}

Return Values (Web Based)

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "dowbt000000000001452",
"href": "https://<hostname-api.sabacloud.com>/v1/offering/dowbt000000000001452"

}
],
"totalResults": 1,
"startIndex": 1
}

Return Values (Blended)

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "blend000000000001581",
"href": "https://<hostname-api.sabacloud.com>/v1/offering/blend000000000001581"

}
],
"totalResults": 1,
"startIndex": 1
}

Return Values (VC)

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
REST API Reference | Learning | 785

"id": "virtc000000000001541",
"href": "https://<hostname-api.sabacloud.com>/v1/offering/virtc000000000001541"
}
],
"totalResults": 1,
"startIndex": 1
{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "virtc000000000001541",
"href": "https://<hostname-api.sabacloud.com>/v1/offering/virtc000000000001541"
}
],
"totalResults": 1,
"startIndex": 1
}

FIND DETAILS OF CLASSES

Overview
Returns the details of the offerings along with the ID and the Deeplink URL based on the
provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering?type=:type&q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
Note: The type parameter needs to be mentioned immediately after v1/offering:

/v1/offering?type=:type

In order to search for the offerings with custom delivery type, the id/name of the custom
delivery type should be given as an input to the type parameter in the URL:
https://<hostname-api.sabacloud.com>/v1/offering?type=<CustomDeliveryTypeName>&count=:count&startPage=:startPage
Note: In addition to this, this Web service also returns the deeplink URL of the class details
along with the other existing attributes with includedetails=true
REST API Reference | Learning | 786

Calling Options
Table 276: Calling Options

Name Description Sample Value Data Type Required?

type The type of desired Such as: string Yes


class.
• instructor_led
Note: In order to • blended
search for the offer- • web_based
ings with custom deliv- • virtual_class
ery type, the id/name
of the custom deliv-
ery type should be
given as an input to
the type parameter
in the URL

criteria_field The search criteria i.e. class_no string Yes


the field name.
Note: You can also
search for a class us-
ing course_no.

field_value The search value for string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Table 277: Fields that can be used in criteria_field

Field Name Applicability Field Description Example

class_no Session based offer- Part no. of the offer- class_no%3D%3D00102


ings ing (ILT)

wbt_no WBT offering Part No. of the offer- wbt_no%3D%3D00101


ing (WBT)

location_id Session based offer- Location id location_id%3D%3D


ings locat000000000200042

offer_title all Title of the offering offer_title%3D%3D


testcourse1

start_date all Start date of the offer- start_date%3D%3D


ing 2000-02-28
REST API Reference | Learning | 787

Field Name Applicability Field Description Example

avail_from Session based offer- Availability date of the avail_from%3D%3D2000-


ings self paced offering 02-28
Note: This is not
available for the fol-
lowing:
• ILT Offering
• Blended
• Virtual Class

end_date Session based offer- End date of the offer- end_date%3D%3D


ings ing 2000-02-28

disc_from Session based offer- Discontinued date of disc_from%3D%3D2000-


ings the self paced offer- 02-28
ing
Note: This is not
available for the fol-
lowing:
• ILT Offering
• Blended
• Virtual Class

max_ct Self paced offerings Maximum registration max_ct%3D%3D10


count of the offering

server_path Self paced offerings Server path of the self


paced offering

url Self paced offerings url of the self paced url%3D%3Dht-


offering tp://www.saba.com

Availability Self paced offerings Availability status of availability%3D%3D100


the offering
Note: This is not
available for the fol-
lowing:
• ILT Offering
• Blended
• Virtual Class

max_book Session based offer- Maximum wait listed max_book%3D%3D5


ings registrations

min_ct Session based offer- Minimum registration min_ct%3D%3D10


ings count of the offering

stud_ct Session based offer- Student count of the stud_ct%3D%3D12


ings offering
REST API Reference | Learning | 788

Field Name Applicability Field Description Example

stud_book Session based offer- (Student bookings) – stud_book%3D%3D2


ings (student count)

manufacturer Self paced offerings Manufacturer associ- manufacturer%3D%3D


ated to the offering intorganization

status all Status of the offering status%3D%3D100

created_by all Creator of the offer- cre-


ing ated_by%3D%3Duone

created_on all Date of creation of created_on%3D%3D


the offering 2000-02-28

updated_by all User who has updated up-


the offering dated_by%3D%3Dad-
min

updated_on all Date when the offer- updated_on%3D%3D


ing has been updated 2000-02-28

csr_id Session Based Offer- Customer Service csr_id%3D%3DUONE


ing Representative

parent Session Based Offer- Parent class of the of- parent%3D%3D


ing fering class000000000001000

session_template Session Based Offer- Session template of session_tem-


ing the session based of- plate%3D%3D SesTem-
fering plate1 M-F/40hr

when_cancel Session Based Offer- Cancellation date of when_can-


ing the offering cel%3D%3D2000-02-
28

custom0 all Custom 0 value of the Custom0%3D%3Dtest


offering

custom1 all Custom 1 value of the Custom1%3D%3Dtest


offering

custom2 all Custom 2 value of the Custom2%3D%3Dtest


offering

custom3 all Custom 3 value of the Custom3%3D%3Dtest


offering

custom4 all Custom 4 value of the Custom4%3D%3Dtest


offering

custom5 all Custom 5 value of the Custom5%3D%3Dtest


offering

custom6 all Custom 6 value of the Custom6%3D%3Dtest


offering
REST API Reference | Learning | 789

Field Name Applicability Field Description Example

custom7 all Custom 7 value of the Custom7%3D%3Dtest


offering

custom8 all Custom 8 value of the Custom8%3D%3Dtest


offering

custom9 all Custom 9 value of the Custom9%3D%3Dtest


offering

language_id Session Based Offer- Language of the offer- lan-


ing ing guage_d
i%3D%3Da
lnge000000000000006

test Session Based Offer- Test flag for the offer- test%3D%3Dtrue
ing ing

disp_for_web all Display for web flag disp_for_web%3D%3Dtrue

disp_for_call_center all Display for call center disp_for_call_cen-


flag ter%3D%3Dtrue

training_units all Training units of the train-


offering ing_units%3D%3D15

facility_id Session Based Offer- Facility of the offering falicity%3D%3Dfacil-


ing ity1

rescheduled Session Based Offer- Rescheduled flag of resched-


ing the offering uled%3D%3Dtrue

vendor_id all Vendor associated to vendor_id%3D%3De-


the offering org2

enroll_close Session Based Offer- Enrollment close date en-


ing roll_close%3D%3D2000-
02-28

offer_title_1 Session Based Offer- Offering Template offer_title_1%3D%3D


ing No. BP200-ILT2-00200142

offer_split all Domain Id of the offer- offer_split


ing %3D%3Ddom-
in000000000200122

offer_audi- all Audience Type offer_audi-


ence_type_id ence_type_id%3D%3D
audie000000000001107

broadcast Session Based Offer- broad-


ing cast%3D%3Dtrue

open_enroll Only session based Enrollment open date open_en-


of the offering roll%3D%3D2000-02-
28
REST API Reference | Learning | 790

Field Name Applicability Field Description Example

duration all Duration of the ses- duration%3D%3D240


sion based of the of-
fering

amount all Price of the offering amount%3D%3D100

is_private Only session based Private flag of the of- is_private%3D%3Dtrue


fering

contact_id Only session based Order contact id contact_id%3D%3D


em-
plo000000000200021

order_no Only session based Order no order_no%3D%3D


00200020

company_id Only session based The company id of the company_id%3D%3D


order contact bisut000000000001001

gov_owner all Offering owner id gov_owner%3D%3D


em-
plo000000000001000

offering_template_id all Offering Template Id offering_tem-


of the offering plate_id%3D%3D
cours000000000200040

program_offering all Package id of the of- program_offer-


fering ing%3D%3D
pckge000000000001087

future_offerings Only session based

hide_discontinued_of- Only session based


ferings

delivery_id all Delivery Id of the offer- delivery_id%3D%3D


ing eqcat000000000000002

at_check all Audience type check at_check%3D%3Dtrue


for the learner

offering_template_no Self Paced Offering Offering template no offering_tem-


plate_no%3D%3D
SEED_WBT

check_disc_from Self Paced Offering The expiry (discontinu- check_disc_from%3D%3D2000-


ation) date of the of- 02-28
fering

description Self paced Offering Description of the of- descrip-


fering tion%3D%3Dtest_course
REST API Reference | Learning | 791

Field Name Applicability Field Description Example

language_name Self Paced Offering Language associated


to the offering. Ac-
cepts Language ID.

mastery_score Self paced offerings Not Applicable Not Applicable

total_attempts_al- Self paced offerings Not Applicable Not Applicable


lowed

max_time_allowed Self paced offerings Not Applicable Not Applicable

time_limit_action Self paced offerings Not Applicable Not Applicable

time_limit_action_flag Self paced offerings Not Applicable Not Applicable

vendor_file Self paced offerings Not Applicable Not Applicable

lesson_file Self paced offerings Not Applicable Not Applicable

comments_file Self paced offerings Not Applicable Not Applicable

max_downloads Self paced offerings Not Applicable Not Applicable

languageName WBT offering Language associated language-


to the offering Name%3D%3Denglish

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "class000000000001505",
"href": "https://<hostname-api.sabacloud.com>/v1/offering/class000000000001505"

}
],
"totalResults": 1,
"startIndex": 1
}

Return Values (with includedetails=true)

{
"startIndex": 1,
"results": [
{
"enforced_seq": "SUGGESTED",
"duration": 600,
"delivery_id": {
"id": "eqcat000000000200260",
"displayName": "test_delivery"
REST API Reference | Learning | 792

},
"training_units": 15,
"post_completion": 0,
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"description": "good for testing",
"avail_from": "2015-11-26T00:00:00.000+0530",
"wbt_no": "00200828",
"offering_temp_id": {
"id": "cours000000000202542",
"displayName": "test_new_del"
},
"disp_for_call_center": true,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "dowbt000000000002763"
"deepLinkURL":
http://localhost/Saba/Web_spf/Social/common/leclassview/dowbt000000000002763
}

Examples
To retrieve all web-based classes for a course ("ABC"):
https://<hostname-api.sabacloud.com>/v1/offering?type=web_based&q=(offer_title=ABC)
Return Values:

{
"facets":[ ],
"startIndex":1,
"results":[
{
"id":"dowbt000000000002428",
"href":"http://<hostname-api.sabacloud.com>/v1/offering/dowbt000000000002428"
}
],
"hasMoreResults":false,
"totalResults":1,
"itemsPerPage":10
}

To retrieve all web-based classes for a course using course no. ("DEF"):
https://<hostname-api.sabacloud.com>/v1/offering?type=web_based&q=(course_no==00019413)
REST API Reference | Learning | 793

Return Values:

{
"facets": [0]
"startIndex": 1
"results": [1]
0: {
"id": "dowbt000000000019812"
"href": "https://<hostname-api.sabacloud.com>/v1/offering/dowbt000000000019812"
}
"hasMoreResults": false
"totalResults": 1
"itemsPerPage": 10
}

GET META DETAILS OF A BLENDED CLASS

Overview
Returns the meta details of a Blended class.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/meta?type=blended

Return Values

{
"sampleData": {
"start_date": null,
"end_date": null,
"max_ct": 4,
"delivery_id": null,
"offering_temp_id": null,
"vendor_id": null,
"open_enroll": null,
"facility_id": null,
"csr_id": null,
"stop_auto_promotion": null,
"min_ct": 3,
"open_enroll_for_all": null,
"enroll_close": null,
"training_units": 0,
"enforced_seq": "SUGGESTED",
"max_book": 20,
"stud_ct": null,
"rescheduled": false,
"do_not_drop_post": null,
"post_order": null,
"post_completion": null,
REST API Reference | Learning | 794

"stud_book": null,
"duration": 0,
"broadcast": false,
"parent": null,
"location_id": {
"id": "locat000000000001193",
"displayName": "234234"
},
"status": null,
"class_no": "00011551",
"disp_for_web": true,
"has_community": false,
"disp_for_call_center": true,
"group_id": null,
"language_id": null,
"description": null,
"customValues": {
"custom0": "64",
"custom3": null,
"custom1": null,
"custom2": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/offering/blend000000000000001?type=blended"

},
"name": "Blended Offering",
"displayName": "Blended Class",
"attributes": [
{
"name": "broadcast",
"displayName": "Broadcast",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "class_no",
"displayName": "Class ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "course_no",
"displayName": "Course ID",
"description": null,
REST API Reference | Learning | 795

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "csr_id",
"displayName": "Customer Service Representative",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "delivery_id",
"displayName": "Delivery",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
REST API Reference | Learning | 796

"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": false
},
{
"name": "disp_for_call_center",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_for_web",
"displayName": "Display for Learner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "do_not_drop_post",
"displayName": "Do Not Drop",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "duration",
"displayName": "Duration (HH:MM)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 797

"name": "elements_to_complete",
"displayName": "Optional elements to complete",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "end_date",
"displayName": "End Date",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "enforced_seq",
"displayName": "Enforced Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href":
"https://<hostname-api.sabacloud.com>/v1/list/sysli000000000004040/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "enroll_close",
"displayName": "Enrollment Closes Before",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "facility_id",
"displayName": "Facility",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "group_id",
"displayName": "Group ID",
"description": "If exists then has group id of the course",
REST API Reference | Learning | 798

"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "has_community",
"displayName": "Has Community",
"description": "If 1 then this course has a group existing.",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "Class ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_class_based",
"displayName": "Class based pricing",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_class_for_org",
"displayName": "Register learners other than bill to organization",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_private",
"displayName": "Private",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
REST API Reference | Learning | 799

{
"name": "is_test",
"displayName": "Test",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "language_id",
"displayName": "Language",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "location_id",
"displayName": "Location",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "max_book",
"displayName": "Max In Wait List",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "max_ct",
"displayName": "Max Count",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "max_int_conf",
"displayName": "Confirmed Internal Learners",
"description": null,
"isRequired": true,
REST API Reference | Learning | 800

"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "meeting_template_id",
"displayName": "Meeting template id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "min_ct",
"displayName": "Min Count1",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "offering_temp_id",
"displayName": "Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll",
"displayName": "Open Enrollment Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll_for_all",
"displayName": "Open Enrollment For All Audience Types Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
REST API Reference | Learning | 801

"isSearchFilter": false
},
{
"name": "organization_id",
"displayName": "Bill To Organization",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "parent",
"displayName": "Parent",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "post_completion",
"displayName": "Class Completion Reminder after End Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "post_order",
"displayName": "Class Reminder before Start Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price",
"displayName": "Price",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "priceband_id",
"displayName": "Price Band Name",
"description": null,
"isRequired": false,
REST API Reference | Learning | 802

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "priceband_unit",
"displayName": "Price Band Unit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "rescheduled",
"displayName": "Rescheduled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "skip_days_map",
"displayName": "Do not schedule any sessions on",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 7,
"maximumLength": 7,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "start_date",
"displayName": "Start Date",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
REST API Reference | Learning | 803

},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000103/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "stop_auto_promotion",
"displayName": "Stop Auto-Promotion Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "stud_book",
"displayName": "Students Waitlisted",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "stud_ct",
"displayName": "Student Count",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"minimumValue": 1,
"isSearchFilter": true
},
{
REST API Reference | Learning | 804

"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "when_cancel",
"displayName": "Date Cancelled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "string",
"description": "custom0",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "integer",
"description": "custom1",
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Learning | 805

"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "real",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "boolean",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "date",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
REST API Reference | Learning | 806

"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom10",
"displayName": "Custom10",
"description": "custom10",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 807

"type": "date",
"isReference": false,
"display": false,
"isSearchFilter": false
}
]
}

GET META DETAILS OF AN ILT CLASS

Overview
Returns the meta details of an ILT class.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/meta?type=ilt

Return Values

{
"sampleData": {
"start_date": null,
"end_date": null,
"max_ct": 4,
"delivery_id": null,
"offering_temp_id": null,
"vendor_id": null,
"open_enroll": null,
"facility_id": null,
"csr_id": null,
"stop_auto_promotion": null,
"min_ct": 3,
"open_enroll_for_all": null,
"enroll_close": null,
"training_units": 0,
"enforced_seq": "SUGGESTED",
"max_book": 20,
"stud_ct": null,
"rescheduled": false,
"do_not_drop_post": null,
"post_order": null,
"post_completion": null,
"stud_book": null,
"duration": 0,
"broadcast": false,
"parent": null,
"location_id": {
"id": "locat000000000001193",
"displayName": "234234"
REST API Reference | Learning | 808

},
"status": null,
"class_no": "00011551",
"disp_for_web": true,
"has_community": false,
"disp_for_call_center": true,
"group_id": null,
"language_id": null,
"description": null,
"customValues": {
"custom0": "64",
"custom3": null,
"custom1": null,
"custom2": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/offering/blend000000000000001?type=ilt"
},
"name": "Ilt Offering",
"displayName": "Ilt Class",
"attributes": [
{
"name": "broadcast",
"displayName": "Broadcast",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "class_no",
"displayName": "Class ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "course_no",
"displayName": "Course ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
REST API Reference | Learning | 809

},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "csr_id",
"displayName": "Customer Service Representative",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "delivery_id",
"displayName": "Delivery",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
REST API Reference | Learning | 810

"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": false
},
{
"name": "disp_for_call_center",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_for_web",
"displayName": "Display for Learner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "do_not_drop_post",
"displayName": "Do Not Drop",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "duration",
"displayName": "Duration (HH:MM)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "elements_to_complete",
"displayName": "Optional elements to complete",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
REST API Reference | Learning | 811

"isSearchFilter": false
},
{
"name": "end_date",
"displayName": "End Date",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "enforced_seq",
"displayName": "Enforced Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href":
"https://<hostname-api.sabacloud.com>/v1/list/sysli000000000004040/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "enroll_close",
"displayName": "Enrollment Closes Before",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "facility_id",
"displayName": "Facility",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "group_id",
"displayName": "Group ID",
"description": "If exists then has group id of the course",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 812

"name": "has_community",
"displayName": "Has Community",
"description": "If 1 then this course has a group existing.",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "Class ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_class_based",
"displayName": "Class based pricing",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_class_for_org",
"displayName": "Register learners other than bill to organization",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_private",
"displayName": "Private",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "is_test",
"displayName": "Test",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
REST API Reference | Learning | 813

"display": true,
"isSearchFilter": true
},
{
"name": "language_id",
"displayName": "Language",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "location_id",
"displayName": "Location",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "max_book",
"displayName": "Max In Wait List",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "max_ct",
"displayName": "Max Count",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "max_int_conf",
"displayName": "Confirmed Internal Learners",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "meeting_template_id",
REST API Reference | Learning | 814

"displayName": "Meeting template id",


"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "min_ct",
"displayName": "Min Count1",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "offering_temp_id",
"displayName": "Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll",
"displayName": "Open Enrollment Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll_for_all",
"displayName": "Open Enrollment For All Audience Types Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "organization_id",
"displayName": "Bill To Organization",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 815

"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "parent",
"displayName": "Parent",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "post_completion",
"displayName": "Class Completion Reminder after End Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "post_order",
"displayName": "Class Reminder before Start Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price",
"displayName": "Price",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "priceband_id",
"displayName": "Price Band Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "priceband_unit",
REST API Reference | Learning | 816

"displayName": "Price Band Unit",


"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "rescheduled",
"displayName": "Rescheduled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "skip_days_map",
"displayName": "Do not schedule any sessions on",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 7,
"maximumLength": 7,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "start_date",
"displayName": "Start Date",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
REST API Reference | Learning | 817

"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000103/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "stop_auto_promotion",
"displayName": "Stop Auto-Promotion Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "stud_book",
"displayName": "Students Waitlisted",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "stud_ct",
"displayName": "Student Count",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"minimumValue": 1,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Learning | 818

"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "when_cancel",
"displayName": "Date Cancelled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "string",
"description": "custom0",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "integer",
"description": "custom1",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "real",
REST API Reference | Learning | 819

"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "boolean",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "date",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
REST API Reference | Learning | 820

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom10",
"displayName": "Custom10",
"description": "custom10",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": false,
"isSearchFilter": false
}
]
}
REST API Reference | Learning | 821

GET DETAILS OF A CLASS

Overview
Returns the details of a class.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId
You can alter the URL as below to retrieve all prices in offeringPrices field:
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId?context=admin
You can also alter the URL as below to retrieve all the resources attached to this class:
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId?context=adminWithResources
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering/:offeringId

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 278: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

context Context admin string No


REST API Reference | Learning | 822

Return Values

[
{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"min_ct": 6,
"max_ct": 12,
"max_book": 3,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": "0000000",
"vleInfo": null,
"disp_for_web": false,
"disp_for_call_center": false,
"enforced_seq": "100",
"discontinued": false,
"offeringPrices": null,
"startDateInUserTimezone": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1569868200000,
"locale": "01-OCT-2019",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-SEP-2019",
"timeInUserTimeZone": "11:30 AM",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/01/2019",
"dateInMonthYearFormat": "OCT 2019"
},
"endDateinUserTimezone": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1569868200000,
"locale": "01-OCT-2019",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-SEP-2019",
"timeInUserTimeZone": "11:30 AM",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/01/2019",
"dateInMonthYearFormat": "OCT 2019"
},
"startDateI18n": "01-OCT-2019",
"endDateI18n": "01-OCT-2019",
"learningAssignments": null,
"offering_temp_no": null,
"offeringlocked": false,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
REST API Reference | Learning | 823

},
"organization": {
"@type": "ServiceObjectReference",
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"locationName": "Location1",
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"email": "lo1@sabaqa.com",
"fax": "lo1fax",
"secondaryPhone": "lo1sphone",
"primaryPhone": "lo1pphone"
},
"attachments": [
"list",
[
{
"@type": "com.saba.learning.services.common.AttachmentDetail",
"name": "location1's map",
"private": false,
"fileName": "Map",
"locale": "English",
"attachmentURL":
o
c
h
la
o
/S
l/s
h
p
a
tt"b
:a
W
/eb
M
/n
a
?
s
ip
p
=a
g
gn
s
Ie
o
Ie
rd
&s
d
=h
to
IwA
atc
h
m e
n
&
ts
ho
wn
b
a
uriy
te
=7
&
9
E
a
.t-c
D
d
h
.=9
I6
3
D9
76
CA
0A
4A
6D
DE
D6
4
B7
CA
F
8
1D
63
5
3D
DA
34
3
F3
8
AD6
0
AA4
6
9
41B
DC0
&
-A
m
7
.-m
ie
T
yp
e
h
t=x
/t&
m d
le
e
c
p
na
e
L
k
it3
C
=f8
13
e
i8
tr3
6
37
3
33
3
37
6
26
5
65
E
12
3
5E
7
56
F
6E
65
5
E2
3
5E
5
36
12
6
5
3
16
97
4
65
5
E2
3
5E
65
6
E5
F5
5
53
5
E2
3
5E
5
36
12
6
5
E
12
3
5E
2
D5
3
E
12
3
5E
2
44
2
14
0
30
3C
0C
2
12
5
7
89
E9
7
CAF
7
3
39
99
B2
7
F
F7
2
3B
85
E
E7
9
2A
48
B3
7
B
5
13
9
A4
6
B14
5
40
C5
C0
C
214
B
F8
10
CA
EA
C2
8
E
14
0
20
4
C
18
5
A7
F
75
1A
E3
A
7
012
6
2
4
10
B7
DF
4
A3
5A
5
18
s
&
A
a
tic
h
m e
u
rn
,te
="

"attachmentType": "text/html",
"documentType": ".htm",
"categoryDescription": "Map"
},
{
"@type": "com.saba.learning.services.common.AttachmentDetail",
"name": "location1's setup",
"private": false,
"fileName": "Setup",
"locale": "English",
"attachmentURL":
o
c
h
la
o
S
/ls
a
th
p
b
t:"a
W
/eb
M
/n
a
?
sip
p
=g
a
g
n
s
Ie
o
e
Ird
&s
d
=h
to
Iw
Aa
tc
h
m e
n
&
ts
h
own
b
a
u
ry
ite
=7&
9
E
.a
-tD
c
d
h
.=9
I6
3
D9
76
CA
0A
4
A6
DD
ED
64
B
7C
AF
8
1B
B
61E
3
E7
E
98
F5
9
F5
F
D00
5
D4
5F
DC
03
9
A&
-C
m
.-m
ie
T
yp
n
a
e
&
p
ti=/x
d
tle
e
c
p
n
ae
k
L
i3
t=C
f8
13
e
i8
tr3
6
37
3
3
33
37
6
2
663
0
5E
23
5
E7
5
6F
6
E6
55
E
23
5
E5
3
612
6
5
3
16
9
74
6
55
E
23
5
E6
5
6E
5
F5
5
53
5
E2
3
5E
5
36
12
6
5
E
12
3
5E
2
D5
3
E
12
3
5E
2
44
2
14
0
30
3C
0C
2
17
3
5
CC9
2
6E
D9
5
0A
98
AF
6
F
15
9
9B
5
B
179
8
34
8
5
7
C
1FE
3
E
9
D170
2
F2
3
4B
0
C
12
17
B
92
89
E
86
C0
7
A6
3
E9
AE
BA
F4
0
ADD
8
DB3
F
A6
6C
F5
2
65
B0
B5
B
59
34
9
6A
AB
Es
&
A
a
tic
h
m e
u
r,n
te
=t"

"attachmentType": "text/plain",
"documentType": ".txt",
"categoryDescription": "Setup"
},
{
"@type": "com.saba.learning.services.common.AttachmentDetail",
"name": "Attachment-test",
"private": false,
"fileName": "Students Details 9th",
"locale": "English",
"attachmentURL":
o
c
h
la
/o
S
lh
p
/s
ta
":b
a
W
/eb
M
/n
a
?
s
ip
p
=a
g
g
n
s
Ie
o
Ie
rd
&d
s
=h
to
IwA
a
tc
h
m e
n
&
ts
ho
wn
b
a
uiry
t=e
&
Ba
A
.t-c
d
F
h
.E
=IF
CF
D5
3
86
67
5
67
A0
2A
7
8
117
6
7
82
F6
F
C
313
3
8D
CE
7
1C
D8
E2
3
9
16
90
AB
A8
A
&
-1m
8
.-m
ie
T
yp
e
oc
a
=n
a
p
it/p
d
&
lfd
e
ep
c
n
a
L
k
eitC
3
f=8
1e
3
it8
r3
6
37
3
33
3
37
6
26
63
4
5E
2
35
E
75
6
F6
E6
5
5E
2
35
E
53
612
6
5
3
16
97
4
65
5
E2
3
5E
65
6
E5
F5
5
53
5
E2
3
5E
5
36
12
6
5
E
12
3
5E
2
D5
3
E
12
3
5E
2
44
2
14
0
30
3E
0
D2
10
0B
5
A2
FF
4
8E
05
0
8
F
C1E
C2
C6
78
1B
B0
86
5
4E
4
FF
F
6B
7D
3
C3
2
18
0
C06
F
CFF
0
D
210
0B
7
AE
52A
0
C10
5
3
F
19
F
55
2
5A
90
3
C7
42
4
09
B8
8
4E
48
4
72
D
5
10
4
17
F
8
s
&2
A
1a
tic
h
m e
u
rn
,t=e
"

"attachmentType": "application/pdf",
"documentType": ".pdf",
"categoryDescription": "Bio"
}
]
],
"locationContact": {
"@type": "ServiceObjectReference",
"id": "emplo000000000001000",
"displayName": "UONE"
REST API Reference | Learning | 824

},
"locationId": "001000",
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"state": "lo1state",
"country": "lo1country",
"city": "lo1city",
"addressLine1": "lo1address1",
"addressLine3": null,
"addressLine2": "lo1address2",
"zipCode": "lo1zip"
},
"eeoMandatory": null
},
"audienceTypes": [
"list",
[]
],
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"offeringPriceDisplay": "11 USD",


"availableSeats": 12,
"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
11.00
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"amountString": "11 USD",
"isocode": "USD"
}
},
"creditsCollection": null,
"actions": null,
"has_community": false,
"group_id": null,
"consumeWithinCert": false,
"creditString": null,
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c1",
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
REST API Reference | Learning | 825

"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c2",
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c2",
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c3",
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c4",
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c5",
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c6",
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
REST API Reference | Learning | 826

},
"value": "c7",
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c8",
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c9",
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c10",
"displayName": "Custom10"
}
]
],
"owners": [
"list",
[]
],
"trainingUnits": null,
"status": "Open - Normal",
"calendarExportURL": null,
"microLearning": false,
"do_not_drop_post": null,
"post_order": null,
"post_completion": null,
"cpfMins": 0.0,
"waitListedCount": 0,
"registeredCount": 0,
"groupAssociatedWithCourse": null,
"statusNumValue": 100,
"inheritedTrainingUnits": null,
"suppressScoreForOT": false,
"customFieldsSetOnCourse": false,
"courseDescription": "",
"classDescription": "",
"courseCustomValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 827

"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
REST API Reference | Learning | 828

"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom11",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom11"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom12",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
REST API Reference | Learning | 829

},
"value": null,
"displayName": "Custom12"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom13",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom13"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom14",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom14"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName":
"kI18nALOfferingTemplate_69a72eeb-2dfb-40bb-b9b0-72207136aaac(Missing resource)"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName":
"kI18nALOfferingTemplate_1c6203a0-273e-42bd-bebc-f49048f5c76e(Missing resource)"
}
]
],
"enrollment_text": null,
"cancellation_text": null,
"startDateTs": {
"@type": "com.saba.customtypes.CustomZonedDateTime",
"utcZonedDateTime": "01-Oct-2019 07:00:00 AM UTC",
"utcZonedDate": "01-Oct-2019",
"utcDaysDifference": -1336,
"localZonedDateTime": "01-Oct-2019 12:00:00 AM PDT",
"localZonedDate": "01-Oct-2019",
"localDaysDifference": -1336
},
"endDateTs": {
"@type": "com.saba.customtypes.CustomZonedDateTime",
"utcZonedDateTime": "01-Oct-2019 07:00:00 AM UTC",
REST API Reference | Learning | 830

"utcZonedDate": "01-Oct-2019",
"utcDaysDifference": -1336,
"localZonedDateTime": "01-Oct-2019 12:00:00 AM PDT",
"localZonedDate": "01-Oct-2019",
"localDaysDifference": -1336
},
"openEnrollTs": {
"@type": "com.saba.customtypes.CustomZonedDateTime",
"utcZonedDateTime": "22-May-2023 12:00:00 AM UTC",
"utcZonedDate": "22-May-2023",
"utcDaysDifference": -7,
"localZonedDateTime": "21-May-2023 05:00:00 PM PDT",
"localZonedDate": "21-May-2023",
"localDaysDifference": -8
},
"enrollCloseTs": {
"@type": "com.saba.customtypes.CustomZonedDateTime",
"utcZonedDateTime": "22-May-2023 12:00:00 AM UTC",
"utcZonedDate": "22-May-2023",
"utcDaysDifference": -7,
"localZonedDateTime": "21-May-2023 05:00:00 PM PDT",
"localZonedDate": "21-May-2023",
"localDaysDifference": -8
},
"openEnrollForAllTs": {
"@type": "com.saba.customtypes.CustomZonedDateTime",
"utcZonedDateTime": "22-May-2023 12:00:00 AM UTC",
"utcZonedDate": "22-May-2023",
"utcDaysDifference": -7,
"localZonedDateTime": "21-May-2023 05:00:00 PM PDT",
"localZonedDate": "21-May-2023",
"localDaysDifference": -8
},
"locationStartDate": "01-Oct-2019",
"locationEndDate": "01-Oct-2019",
"showDateInLearnerTimezone": false,
"name": "Downloadable Product 1",
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001000",
"displayName": "Location1"
},
"resources": [
"list",
[]
],
"id": "blend000000000001140",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"duration": 30.0,
"description": "",
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
11.00
],
"currency": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 831

"id": "crncy000000000000001",
"displayName": null
},
"amountString": "11 USD",
"isocode": "USD"
},
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000014",
"displayName": "Blended"
},
"availableSeats": 12,
"sessionTemplate": "",
"facility": null,
"disc_from": null,
"abstract": "This is the abstract for Downloadable product 1",
"payableCourse": true,
"customFields": {
"@type": "map",
"custom10": "c10",
"custom9": "c9",
"custom0": "c1",
"custom3": "c3",
"custom4": "c4",
"custom1": "c2",
"custom2": "c2",
"custom7": "c7",
"custom8": "c8",
"custom5": "c5",
"custom6": "c6"
},
"durationString": "00:30",
"offeringNumber": "BLD_N6",
"cpf": false,
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1569868200000,
"locale": "01-OCT-2019",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-SEP-2019",
"timeInUserTimeZone": "11:30 AM",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/01/2019",
"dateInMonthYearFormat": "OCT 2019"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1569868200000,
"locale": "01-OCT-2019",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-SEP-2019",
"timeInUserTimeZone": "11:30 AM",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/01/2019",
"dateInMonthYearFormat": "OCT 2019"
},
REST API Reference | Learning | 832

"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000014",
"displayName": "Blended"
},
"componentName": "ComponentName",
"ownersValue": null,
"customFieldsValue": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c1",
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c2",
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c2",
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c3",
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c4",
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 833

"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c5",
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c6",
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c7",
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c8",
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c9",
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "c10",
"displayName": "Custom10"
}
]
],
"priceDisplayString": "11 USD",
"vendor_id": null,
REST API Reference | Learning | 834

"facility_id": null,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001000",
"displayName": "Location1"
},
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1569868200000,
"locale": "01-OCT-2019",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-SEP-2019",
"timeInUserTimeZone": "11:30 AM",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "10/01/2019",
"dateInMonthYearFormat": "OCT 2019"
},
"mx_bk": 3,
"avail_from": null,
"mn_ct": 6,
"wbt_no": "BLD_N6",
"mx_ct": 12,
"manufacturer_id": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000200000",
"displayName": "Downloadable Product 1"
},
"session_template": "",
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000200000",
"displayName": "Downloadable Product 1"
},
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"class_no": "BLD_N6",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"notifyDropCondition": "",
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 35.0 % if dropped between 16-SEP-2019 and
24-SEP-2019.",
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 835

"id": "crncy000000000000001",
"displayName": null
},
"daysTo": 15,
"daysFrom": 7,
"chargeType": 1,
"charge": 35.0
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 47.0 % if dropped between 25-SEP-2019 and
01-OCT-2019.",
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"daysTo": 6,
"daysFrom": 0,
"chargeType": 1,
"charge": 47.0
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 10.0 % for all other days.",
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"daysTo": 99999,
"daysFrom": -99999,
"chargeType": 1,
"charge": 10.0
}
]
],
"lastDateToDropWithoutCharge": null
},
"courseVersion": null,
"vleinfoDetail": {
"@type": "map"
},
"baseDeliveryType": 100
},
"Close"
]

Return Values (?context=admin)

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"classDescription": "",
"startDateInUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533871800000,
"locale":"08/10/2018",
"timeInLocale":"9:00 AM",
"dateInUserTimeZone":"08/10/2018",
REST API Reference | Learning | 836

"timeInUserTimeZone":"9:00 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:00 AM",
"dateInStandardFormat":"08/10/2018"
},
"endDateinUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533900600000,
"locale":"08/10/2018",
"timeInLocale":"5:00 PM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"5:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"5:00 PM",
"dateInStandardFormat":"08/10/2018"
},
"price": null,
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000201505",
"displayName": "merge1"
},
"sessionTemplate": "SesTemplate2 3M/24hr",
"facility": null,
"availableSeats": 0,
"offeringNumber": "UPDATE5",
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"availableSeats": 0,
"offeringPrice": null,
"offeringPriceDisplay": ""
},
"baseDeliveryType": 100,
"learningAssignments": null,
"creditsCollection": null,
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"componentName": "ComponentName",
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"group_id": null,
"endDateI18n": "01/23/2017",
"startDateI18n": "01/09/2017",
"priceDisplayString": null,
"dropPolicyInfo": {
REST API Reference | Learning | 837

"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"notifyDropCondition": "",
"lastDateToDropWithoutCharge": null,
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"charge": 35,
"daysFrom": 7,
"daysTo": 15,
"timeEntryId": "",
"chargeType": 1,
"displayString": "Cancellation charge of 35.0 % if dropped between 12/25/2016 and
01/02/2017.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"charge": 47,
"daysFrom": 0,
"daysTo": 6,
"timeEntryId": "",
"chargeType": 1,
"displayString": "Cancellation charge of 47.0 % if dropped between 01/03/2017 and
01/09/2017.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"charge": 10,
"daysFrom": -99999,
"daysTo": 99999,
"timeEntryId": "",
"chargeType": 1,
"displayString": "Cancellation charge of 10.0 % for all other days.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
}
}
]
],
"trainingUnitDropPolicyInfo": null
},
"courseVersion": null,
"offeringPrices": [
"list",
[
{
"@type": "com.saba.learning.services.common.Money",
"amountString": "30 USD",
"isocode": "USD",
REST API Reference | Learning | 838

"amount": [
"java.math.BigDecimal",
30
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.common.Money",
"amountString": "123 Rs ",
"isocode": "Rs ",
"amount": [
"java.math.BigDecimal",
123
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000200968",
"displayName": null
}
}
]
],
"durationString": "00:00",
"offering_temp_no": null,
"cpfMins": 0,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": 100,
"suppressScoreForOT": false,
"customFieldsSetOnCourse": false,
"inheritedTrainingUnits": null,
"courseDescription": "",
"courseCustomValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
REST API Reference | Learning | 839

"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
REST API Reference | Learning | 840

"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom11",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom11"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom12",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom12"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom13",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom13"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom14",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
REST API Reference | Learning | 841

"value": null,
"displayName": "Custom14"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "excustom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "excustom2"
}
]
],
"creditString": null,
"vleinfoDetail": {
"@type": "map"
},
"customFieldsValue": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
REST API Reference | Learning | 842

{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 843

"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "excustom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "excustom2"
}
]
],
"ownersValue": null,
"audienceTypes": [
"list",
[]
],
"customFields": {
"@type": "map",
"custom0": null,
"excustom2": null,
"excustom1": null,
"custom10": null,
"custom9": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"customValues": [
REST API Reference | Learning | 844

"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
REST API Reference | Learning | 845

{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "excustom1"
},
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 846

"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "excustom2"
}
]
],
"class_no": "UPDATE5",
"calendarExportURL": null,
"consumeWithinCert": false,
"trainingUnits": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"eeoMandatory": null,
"locationContact": {
"@type": "ServiceObjectReference",
"id": "emplo000000000001001",
"displayName": "UTWO"
},
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"city": "lo2city",
"zipCode": "lo2zip",
"addressLine2": "lo2address2",
"addressLine3": null,
"addressLine1": "lo2address1",
"state": "lo2state",
"country": "lo2country"
},
"locationName": "Location2",
"locationId": "001001",
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000003",
"displayName": "(GMT-10:00) Hawaii"
},
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"fax": "lo2fax",
"email": "lo2@sabaqa.com",
"primaryPhone": "lo2pphone",
"secondaryPhone": "lo2sphone"
},
"attachments": [
"list",
[
{
"@type": "com.saba.learning.services.common.AttachmentDetail",
"documentType": ".htm",
"locale": "English",
"categoryDescription": "Map",
"attachmentType": "text/html",
"attachmentURL":
oc
h
la
/o
h
p
lS
ts
/"a
:ba
W
/ebM
/n
a
?s
ip
p
=a
g
s
nIe
o
Ie
rd&d
s
=h
toIwA
a
tchmen
&
tshow
n
ba
iu
y
rt=e&
79
a
t.E
-c
d
D
h
.=I963D976CA0A4A6DDED64B7CA
F
185CB4FBD79FB
8
18E2034
C
14AD8FE33FB
&
-D
m
.-m
i eType
t=h
x
/m
t&d
leep
n
c
L
k
a
iC
e
tf3
=15
e
i3
tr93733656
3
153639385E235E757476F5E235E536126
5136974655E235E656E5F55535E235E536126
51E235E2D3
51E235E2441240302C0
4
2156B3099FE
F
1B55735908B25FE95DFB70A04
28
1530
4
2178223462CD4
9
12D2D8A5AF502A6A79534D836
7
2
s
&
A
1a
itchme
u
n
rt,=e"

"name": "location2's map",


"private": false
},
{
REST API Reference | Learning | 847

"@type": "com.saba.learning.services.common.AttachmentDetail",
"documentType": ".txt",
"locale": "English",
"categoryDescription": "Setup",
"attachmentType": "text/plain",
"attachmentURL":
o
c
h
la
/o
h
S
lp
/s
ta
":b
a
W
/eb
M
/n
a
?
s
ip
p
=a
g
s
n
Ie
o
Ie
rd
&d
s
=h
to
Iw
Aa
tc
h
m e
n
&
ts
ho
wn
b
au
iy
rt=e
&
79
a
tE
.-c
d
D
h
.=I9
6
3D9
7
6C
A0
A4
A6
DDE
D6
4B
7
CA
F18
5
60
4
10
3
FF
0D
4A
D
5
1C9
AE
5D
5
26
98
F
6B
&
-E
m
4
.-m
ie
T
yp
n
e
at&
p
=x
/itld
e
ep
n
c
a
L
ke
iC
tf3
=5
1e
i3
tr9
3
7
33
65
6
3
5
13
63
9
66
5E
2
35
E
75
7
4
76
F5
E
23
5
E5
36
12
6
5
3
16
97
4
65
5
E2
3
5E
65
6
E5
F5
5
53
5
E2
3
5E
53
6
12
6
5
E
12
35
E
2D5
3
E
12
3
5E
2
44
2
14
0
30
2C
04
2
7
4
1B
1C
A0
25
2
A2
0A
E8
9
B
12
BA
DA
BE
9C
DA
04
6
4B
0E
2
42
0
4
24
19
D3
3
72
E
7
9C7
A6
9A
2
7
4D
1B
0C
40
C6
46
4
DB4
CE
4E
AF
s
&
Aa
tic
h
m e
u
n
r,t=e
"

"name": "location2's setup",


"private": false
}
]
],
"organization": {
"@type": "ServiceObjectReference",
"id": "bisut000000000001001",
"displayName": "BusinessUnit2"
}
},
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "01/23/2017",
"timeInUserTimeZone": "3:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "5:00 AM",
"dateInStandardFormat": "01/23/2017",
"timeInLocale": "5:00 AM",
"locale": "01/23/2017",
"date": 1485176400000
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "01/09/2017",
"timeInUserTimeZone": "3:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "5:00 AM",
"dateInStandardFormat": "01/09/2017",
"timeInLocale": "5:00 AM",
"locale": "01/09/2017",
"date": 1483966800000
},
"abstract": "",
"cpf": false,
"replaceExistingSessions": false,
"manufacturer_id": null,
"avail_from": null,
"disc_from": null,
"skip_days_map": "0000000",
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000201505",
"displayName": "merge1"
},
"has_community": false,
"wbt_no": "UPDATE5",
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 848

"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringSessions": null,
"resourceCancellationType": null,
"session_template": "SesTemplate2 3M/24hr",
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001001",
"displayName": "Location2"
},
"csr_id": null,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"facility_id": null,
"vendor_id": null,
"max_ct": 0,
"max_book": 0,
"min_ct": 0,
"disp_for_web": true,
"disp_for_call_center": true,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"enforced_seq": "100",
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "01/09/2017",
"timeInUserTimeZone": "3:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "5:00 AM",
"dateInStandardFormat": "01/09/2017",
"timeInLocale": "5:00 AM",
"locale": "01/09/2017",
"date": 1483966800000
},
"duration": 0,
"name": "merge1",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"resources": [
"list",
[]
],
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001001",
"displayName": "Location2"
},
REST API Reference | Learning | 849

"actions": null,
"id": "class000000000201505",
"description": "",
"status": "Open - Normal"
}

Return Values (?context=adminWithResources)

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"startDateInUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533871800000,
"locale":"08/10/2018",
"timeInLocale":"9:00 AM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"9:00 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:00 AM",
"dateInStandardFormat":"08/10/2018"
},
"endDateinUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533900600000,
"locale":"08/10/2018",
"timeInLocale":"5:00 PM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"5:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"5:00 PM",
"dateInStandardFormat":"08/10/2018"
},
"min_ct": 5,
"max_ct": 20,
"max_book": 20,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": "0000000",
"vleInfo": null,
"disp_for_web": true,
"disp_for_call_center": true,
"enforced_seq": "100",
"offeringPrices": [
"list",
[
{
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
100
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
REST API Reference | Learning | 850

"displayName": null
},
"amountString": "100 USD",
"isocode": "USD"
}
]
],
"startDateI18n": "17/04/2018",
"endDateI18n": "17/04/2018",
"learningAssignments": null,
"offering_temp_no": null,
"offeringlocked": false,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"attachments": [
"list",
[]
],
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"email": "",
"fax": "",
"secondaryPhone": "",
"primaryPhone": ""
},
"organization": null,
"locationId": "00003260",
"locationName": "Redwood Shore HQ",
"locationContact": null,
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"city": "Redwood Shore",
"country": "United States",
"addressLine1": "2400 Bridge Parkway",
"addressLine2": "",
"addressLine3": null,
"zipCode": "94065",
"state": "California"
},
"eeoMandatory": null,
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000012",
"displayName": "(GMT-05:00) Eastern Time (US & Canada)"
}
},
"audienceTypes": [
"list",
[]
],
"availabilityDetails": {
"@type": "com.saba.learning.services.offering.
OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",
"availableSeats": 20,
"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
REST API Reference | Learning | 851

100
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"amountString": "100 USD",
"isocode": "USD"
},
"offeringPriceDisplay": "100 USD"
},
"creditsCollection": null,
"actions": null,
"has_community": false,
"group_id": null,
"consumeWithinCert": false,
"creditString": null,
"customValues": [
"list",
[]
],
"owners": [
"list",
[]
],
"trainingUnits": null,
"status": "Open - Normal",
"calendarExportURL": null,
"microLearning": false,
"do_not_drop_post": null,
"post_order": null,
"post_completion": null,
"cpfMins": 0,
"waitListedCount": 0,
"registeredCount": 0,
"groupAssociatedWithCourse": {
"@type": "ServiceObjectReference",
"id": "teams000000000003361",
"displayName": "Core Java-00026029"
},
"statusNumValue": 100,
"inheritedTrainingUnits": null,
"suppressScoreForOT": false,
"customFieldsSetOnCourse": false,
"courseDescription": "",
"classDescription": "Core Java ilt1",
"courseCustomValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course String"
},
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 852

"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 1
},
"value": null,
"displayName": "Course Integer"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
},
"value": null,
"displayName": "Course Real2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 9
},
"value": null,
"displayName": "Course Boolean"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "Course Date"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 12
},
"value": null,
"displayName": "Course Time"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course String LOV"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
REST API Reference | Learning | 853

"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course String_Protected"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course String22"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course String LOV"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course Integer"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom11",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course Real"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom12",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course String Protected"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom13",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
REST API Reference | Learning | 854

},
"value": null,
"displayName": "Course Boolean"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom14",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Course Time 22"
}
]
],
"id": "class000000000015681",
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
100
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"amountString": "100 USD",
"isocode": "USD"
},
"abstract": "",
"availableSeats": 20,
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000046101",
"displayName": "Core Java"
},
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"offeringNumber": "00026029--CORE JAVA ILT1",
"sessionTemplate": "Tue 7:00 -8:00;",
"facility": null,
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"componentName": "ComponentName",
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1523923200000,
"locale": "17/04/2018",
"timeInLocale": "0:00",
REST API Reference | Learning | 855

"dateInUserTimeZone": "17/04/2018",
"timeInUserTimeZone": "5:30",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/17/2018"
},
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1523923200000,
"locale": "17/04/2018",
"timeInLocale": "0:00",
"dateInUserTimeZone": "17/04/2018",
"timeInUserTimeZone": "5:30",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/17/2018"
},
"duration": 60,
"cpf": false,
"customFields": {
"@type": "map"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"wbt_no": "00026029--CORE JAVA ILT1",
"avail_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000046101",
"displayName": "Core Java"
},
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"class_no": "00026029--CORE JAVA ILT1",
"session_template": "Tue 7:00 -8:00;",
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000003320",
"displayName": "Redwood Shore HQ"
},
"facility_id": null,
"vendor_id": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1523923200000,
"locale": "17/04/2018",
"timeInLocale": "0:00",
"dateInUserTimeZone": "17/04/2018",
"timeInUserTimeZone": "5:30",
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"customTimeZoneDate": 0,
REST API Reference | Learning | 856

"timeInStandardFormat": "12:00 AM",


"dateInStandardFormat": "04/17/2018"
},
"manufacturer_id": null,
"disc_from": null,
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"notifyDropCondition": "",
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 100.0 % if dropped between 07/04/2018
and 17/04/2018.",
"timeEntryId": "",
"daysFrom": 0,
"daysTo": 10,
"charge": 100,
"chargeType": 1,
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 10.0 % for all other days.",
"timeEntryId": "",
"daysFrom": -99999,
"daysTo": 99999,
"charge": 10,
"chargeType": 1,
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
}
]
],
"lastDateToDropWithoutCharge": null
},
"vleinfoDetail": {
"@type": "map"
},
"courseVersion": null,
"durationString": "01:00",
"baseDeliveryType": 100,
"ownersValue": null,
"customFieldsValue": [
"list",
[]
],
"priceDisplayString": "100 USD",
"description": "Core Java ilt1",
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000003320",
"displayName": "Redwood Shore HQ"
REST API Reference | Learning | 857

},
"resources": [
"list",
[
{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resourceLocation": null,
"resourceFacility": null,
"resourceCatalog": null,
"resourceRates": null,
"type": "TYPE_PERSON",
"qualified": false,
"resourceStartDate": null,
"resourceEndDate": null,
"addInfo": {
"@type": "map"
},
"resource": {
"@type": "ServiceObjectReference",
"id": "emplo000000000001041",
"displayName": "Super User"
},
"resourceType": 200,
"disabled": false,
"purpose": "recat000000000000504"
},
{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resourceLocation": {
"@type": "LocationReference",
"id": "locat000000000003320",
"displayName": "Redwood Shore HQ",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "locat000000000003320",
"prefix": "locat"
}
},
"resourceFacility": null,
"resourceCatalog": null,
"resourceRates": [
"list",
[
{
"@type": "com.saba.currency.Money",
"amount": [
"java.math.BigDecimal",
0
],
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"isocode": "USD",
"string": "0 USD"
}
]
],
"type": "TYPE_ROOM",
"qualified": false,
"resourceStartDate": null,
REST API Reference | Learning | 858

"resourceEndDate": null,
"addInfo": {
"@type": "map",
"custom0": "customvalue0",
"custom1": "customvalue1",
"ExCustom1": "customvalue2"
},
"resource": {
"@type": "ServiceObjectReference",
"id": "rooms000000000001280",
"displayName": "Room1"
},
"resourceType": 100,
"disabled": false,
"purpose": "recat000000000000501"
},
{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resourceLocation": {
"@type": "LocationReference",
"id": "locat000000000003320",
"displayName": "Redwood Shore HQ",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "locat000000000003320",
"prefix": "locat"
}
},
"resourceFacility": null,
"resourceCatalog": null,
"resourceRates": [
"list",
[
{
"@type": "com.saba.currency.Money",
"amount": [
"java.math.BigDecimal",
0
],
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"isocode": "USD",
"string": "0 USD"
}
]
],
"type": "TYPE_EQUIPMENT",
"qualified": false,
"resourceStartDate": null,
"resourceEndDate": null,
"addInfo": {
"@type": "map",
"custom9": "customvalue9",
"custom0": "121331",
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": "customvalue7",
REST API Reference | Learning | 859

"custom8": "customvalue8",
"custom5": "customvalue5",
"custom6": "customvalue6",
"ExCustom1": "world"
},
"resource": {
"@type": "ServiceObjectReference",
"id": "equip000000000001180",
"displayName": "EQ1001"
},
"resourceType": 300,
"disabled": false,
"purpose": "recat000000000000510"
},
{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resourceLocation": null,
"resourceFacility": null,
"resourceCatalog": null,
"resourceRates": [
"list",
[
{
"@type": "com.saba.currency.Money",
"amount": [
"java.math.BigDecimal",
80
],
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"isocode": "USD",
"string": "80 USD"
}
]
],
"type": "TYPE_INVENTORY",
"qualified": false,
"resourceStartDate": null,
"resourceEndDate": null,
"addInfo": {
"@type": "map"
},
"resource": {
"@type": "ServiceObjectReference",
"id": "prdct000000000001100",
"displayName": "20170802001Inventery"
},
"resourceType": 400,
"disabled": false,
"purpose": "recat000000000000519"
}
]
],
"name": "Core Java"
}
REST API Reference | Learning | 860

FIND EXTENDED DETAILS OF CLASSES

Overview
Returns the details of the classes along with the ID, class_no and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/search?type=:type&q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 279: Calling Options

Name Description Sample Value Data Type Required?

type The type of the de- instructor_led string No


sired class.

criteria_field The search criteria i.e. part_no string No


the field name.

field_value The search value for string No


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Criteria and display columns supported by this API

Name Description Display column Condition token

part_no Offering Id Yes Yes

offering_start_date Offering start date Yes Yes

offering_end_date Offering end date Yes Yes


REST API Reference | Learning | 861

Name Description Display column Condition token

offer_start_date Offering start date Yes Yes


Note: Supports date
format YYYY-MM-DD

offer_end_date Offering end date Yes Yes


Note: Supports date
format YYYY-MM-DD

created_by created by Yes Yes

updated_by updated by Yes Yes

created_on The created on date Yes Yes

updated_on The updated on date Yes Yes

Domain Class Domain Id Yes Yes

course_domain Course Domain Yes No

offering_name Offering title Yes Yes

offering_title Offering title No Yes


Note: for case insens-
itive search.

offering_credits Credits Yes No

course_id Course Id Yes Yes

resource_id Resource Id Yes Yes


Note: The resource
can be of type
Classrooms, Person,
Equipments,Inventory.

course_title Course Title Yes Yes

course_custom0 Course custom 0 Yes Yes

course_custom1 Course custom 1 Yes Yes

course_custom2 Course custom 2 Yes Yes

course_custom3 Course custom 3 Yes Yes

course_custom4 Course custom 4 Yes Yes

course_custom5 Course custom 5 Yes Yes

course_custom6 Course custom 6 Yes Yes


REST API Reference | Learning | 862

Name Description Display column Condition token

course_custom7 Course custom 7 Yes Yes

course_custom8 Course custom 8 Yes Yes

course_custom9 Course custom 9 Yes Yes

course_custom10 Course custom 10 Yes Yes

course_custom11 Course custom 11 Yes Yes

course_custom12 Course custom 12 Yes Yes

course_custom13 Course custom 13 Yes Yes

course_custom14 Course custom 14 Yes Yes

course_no Course Number Yes Yes

course_version Course Version Yes Yes

course_description Course description Yes No

course_abstract Course abstract Yes No

session_name Session template id Yes Yes

Status Offering Status code Yes Yes

Language Language Id Yes Yes

delivery_name Offering delivery type Yes No


name

avail_from Available from date Yes Yes

disc_from Discontinued from Yes Yes


date

available_from Available from date Yes Yes


Note: Supports date
format YYYY-MM-DD

discontinued_from Discontinued from Yes Yes


date
Note: Supports date
format YYYY-MM-DD

max_ct Max number of seats Yes Yes

max_book Waitlist capacity Yes Yes

min_ct Min number of seats Yes Yes


REST API Reference | Learning | 863

Name Description Display column Condition token

stud_ct Number of registered Yes Yes


seats

stud_book Maximum overbook Yes Yes

competency_id Competency Id No Yes

competency_level_id Competency level Id No Yes

competency_name Competency Name No Yes

compet- Competency Level No Yes


ency_level_name Name

delivery_id Delivery type Id No Yes

location_id Location Id Yes Yes

person Accepts any value as No Yes


person_id, username
or person_no

course_categories Categories of course Collection of categor- No


ies

course_keywords Keywords of course Collection of No


Keywords

course_equivalents Equivalents of course Collection of Equival- No


ents

course_competencies Competencies of Collection of compet- No


course encies with level de-
tails

offering_custom0 Offering custom 0 Yes Yes

offering_custom1 Offering custom 1 Yes Yes

offering_custom2 Offering custom 2 Yes Yes

offering_custom3 Offering custom 3 Yes Yes

offering_custom4 Offering custom 4 Yes Yes

offering_custom5 Offering custom 5 Yes Yes

offering_custom6 Offering custom 6 Yes Yes

offering_custom7 Offering custom 7 Yes Yes

offering_custom8 Offering custom 8 Yes Yes

offering_custom9 Offering custom 9 Yes Yes


REST API Reference | Learning | 864

Return Values

{
"facets": [],
"totalResults": 1,
"itemsPerPage": 1,
"hasMoreResults": false,
"startIndex": 1,
"results": [
{
"offering_name": "Attendance Check",
"session_name": null,
"course_keywords": [
{
"name": "abc",
"id": "kywrd000000000200200"
},
{
"name": "abc pqr",
"id": "kywrd000000000200201"
}
],
"min_ct": null,
"offering_start_date": "3000-01-01T00:00:00.000+0530",
"delivery_name": "Web-Based",
"disc_from": "3000-01-01T00:00:00.000+0530",
"language": "lange000000000000001",
"location_id": null,
"course_categories": [
{
"name": "new Cat",
"id": "categ000000000001040"
}
],
"course_competencies":[
{
"competency_name":"Designer",
"competency_level_id":"cplvl000000000001067",
"competency_level":"Average",
"competency_id":"compt000000000001021"
}
],
"course_domain":"domin000000000000001"
"stud_book": null,
"course_custom2": "2",
"course_custom1": "1",
"course_custom4": "4",
"course_equivalents": [
{
"name": "111",
"id": "cours000000000200486",
"version": null
},
{
"name": "#12",
"id": "cours000000000200814",
"version": null
}
],
"offering_end_date": "1900-01-01T00:00:00.000+0530",
"id": "dowbt000000000001943",
"course_custom3": "3",
"course_custom0": "0",
REST API Reference | Learning | 865

"stud_ct": null,
"offering_custom0": "0",
"course_abstract": "-------------- Course to validate Session Attendance ----------------

\nuone1 has not attended any sessions\nutwo1 has attended sessions 1,3,5\nuthree1 has
attended all sessions",
"course_custom9": "9",
"course_custom10":null,
"course_custom11":null,
"course_custom12":null,
"course_custom13":null,
"course_custom14":null,
"course_id": "cours000000000001080",
"offering_custom1": "1",
"max_ct": null,
"course_custom6": "6",
"course_custom5": "5",
"course_custom8": "8",
"course_custom7": "7",
"course_title": "Attendance Check",
"offering_custom8": "8",
"offering_custom9": null,
"offering_custom6": "6",
"course_version": null,
"offering_custom7": "7",
"offering_custom4": "4",
"offering_custom5": "5",
"offering_custom2": "2",
"avail_from": "2009-07-17T00:00:00.000+0530",
"max_book": null,
"offering_custom3": "3",
"part_no": "ID",
"domain": "domin000000000000001",
"offering_credits": null,
"course_no": "PG2-ATTCHK",
"course_description": "Description",
"status": null,
"href": "http://localhost/Saba/api/component/offering/dowbt000000000001943"
}
]
}

FIND EXTENDED DETAILS OF CLASSES (Using POST - Range


based search)

Overview
Returns the details of the class along with the ID, part_no and the Deeplink URL based on the
provided range based search criteria.

Requires OAuth
No

Method
POST
REST API Reference | Learning | 866

URL
https://<hostname-api.sabacloud.com>/v1/offering/search?type=:type&q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 280: Calling Options

Name Description Sample Value Data Type Required?

type The type of the de- instructor_led string No


sired class.

conditions The search condi- [{"name": string Yes


tions. "part_no", "operat-
or": "==","value":
You can use search
"Id"}]
operators such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Criteria and display columns supported by this API

Name Description Display column Condition token

part_no Offering Id Yes Yes

offering_start_date Offering start date Yes Yes

offering_end_date Offering end date Yes Yes

offer_start_date Offering start date Yes Yes


Note: Supports date
format YYYY-MM-DD

offer_end_date Offering end date Yes Yes


Note: Supports date
format YYYY-MM-DD

created_by created by Yes Yes


REST API Reference | Learning | 867

Name Description Display column Condition token

updated_by updated by Yes Yes

created_on The created on date Yes Yes

updated_on The updated on date Yes Yes

Domain Class Domain Id Yes Yes

course_domain Course Domain Yes No

offering_name Offering title Yes Yes

offering_title Offering title No Yes


Note: for case insens-
itive search.

offering_credits Credits Yes No

course_id Course Id Yes Yes

resource_id Resource Id Yes Yes


Note: The resource
can be of type
Classrooms, Person,
Equipments,Inventory.

course_title Course Title Yes Yes

course_custom0 Course custom 0 Yes Yes

course_custom1 Course custom 1 Yes Yes

course_custom2 Course custom 2 Yes Yes

course_custom3 Course custom 3 Yes Yes

course_custom4 Course custom 4 Yes Yes

course_custom5 Course custom 5 Yes Yes

course_custom6 Course custom 6 Yes Yes

course_custom7 Course custom 7 Yes Yes

course_custom8 Course custom 8 Yes Yes

course_custom9 Course custom 9 Yes Yes

course_custom10 Course custom 10 Yes Yes

course_custom11 Course custom 11 Yes Yes

course_custom12 Course custom 12 Yes Yes


REST API Reference | Learning | 868

Name Description Display column Condition token

course_custom13 Course custom 13 Yes Yes

course_custom14 Course custom 14 Yes Yes

course_no Course Number Yes Yes

course_version Course Version Yes Yes

course_description Course description Yes No

course_abstract Course abstract Yes No

session_name Session template id Yes Yes

Status Offering Status code Yes Yes

Language Language Id Yes Yes

delivery_name Offering delivery type Yes No


name

avail_from Available from date Yes Yes

disc_from Discontinued from Yes Yes


date

available_from Available from date Yes Yes


Note: Supports date
format YYYY-MM-DD

discontinued_from Discontinued from Yes Yes


date
Note: Supports date
format YYYY-MM-DD

max_ct Max number of seats Yes Yes

max_book Waitlist capacity Yes Yes

min_ct Min number of seats Yes Yes

stud_ct Number of registered Yes Yes


seats

stud_book Maximum overbook Yes Yes

competency_id Competency Id No Yes

competency_level_id Competency level Id No Yes

competency_name Competency Name No Yes


REST API Reference | Learning | 869

Name Description Display column Condition token

compet- Competency Level No Yes


ency_level_name Name

delivery_id Delivery type Id No Yes

location_id Location Id Yes Yes

person Accepts any value as No Yes


person_id, username
or person_no

course_categories Categories of course Collection of categor- No


ies

course_keywords Keywords of course Collection of No


Keywords

course_equivalents Equivalents of course Collection of Equival- No


ents

course_competencies Competencies of Collection of compet- No


course encies with level de-
tails

offering_custom0 Offering custom 0 Yes Yes

offering_custom1 Offering custom 1 Yes Yes

offering_custom2 Offering custom 2 Yes Yes

offering_custom3 Offering custom 3 Yes Yes

offering_custom4 Offering custom 4 Yes Yes

offering_custom5 Offering custom 5 Yes Yes

offering_custom6 Offering custom 6 Yes Yes

offering_custom7 Offering custom 7 Yes Yes

offering_custom8 Offering custom 8 Yes Yes

offering_custom9 Offering custom 9 Yes Yes

Request Body

{
"conditions" : [
{"name": "part_no", "operator": "==","value": "WBT000004"}
]
}
REST API Reference | Learning | 870

Return Values

{
"facets": [],
"totalResults": 1,
"itemsPerPage": 1,
"hasMoreResults": false,
"startIndex": 1,
"results": [
{
"offering_name": "Attendance Check",
"session_name": null,
"course_keywords": [
{
"name": "abc",
"id": "kywrd000000000200200"
},
{
"name": "abc pqr",
"id": "kywrd000000000200201"
}
],
"min_ct": null,
"offering_start_date": "3000-01-01T00:00:00.000+0530",
"delivery_name": "Web-Based",
"disc_from": "3000-01-01T00:00:00.000+0530",
"language": "lange000000000000001",
"location_id": null,
"course_categories": [
{
"name": "new Cat",
"id": "categ000000000001040"
}
],
"course_competencies":[
{
"competency_name":"Designer",
"competency_level_id":"cplvl000000000001067",
"competency_level":"Average",
"competency_id":"compt000000000001021"
}
],
"course_domain":"domin000000000000001"
"stud_book": null,
"course_custom2": "2",
"course_custom1": "1",
"course_custom4": "4",
"course_equivalents": [
{
"name": "111",
"id": "cours000000000200486",
"version": null
},
{
"name": "#12",
"id": "cours000000000200814",
"version": null
}
],
"offering_end_date": "1900-01-01T00:00:00.000+0530",
"id": "dowbt000000000001943",
"course_custom3": "3",
"course_custom0": "0",
REST API Reference | Learning | 871

"stud_ct": null,
"offering_custom0": "0",
"course_abstract": "-------------- Course to validate Session Attendance ----------------

\nuone1 has not attended any sessions\nutwo1 has attended sessions 1,3,5\nuthree1 has
attended all sessions",
"course_custom9": "9",
"course_custom10":null,
"course_custom11":null,
"course_custom12":null,
"course_custom13":null,
"course_custom14":null,
"course_id": "cours000000000001080",
"offering_custom1": "1",
"max_ct": null,
"course_custom6": "6",
"course_custom5": "5",
"course_custom8": "8",
"course_custom7": "7",
"course_title": "Attendance Check",
"offering_custom8": "8",
"offering_custom9": null,
"offering_custom6": "6",
"course_version": null,
"offering_custom7": "7",
"offering_custom4": "4",
"offering_custom5": "5",
"offering_custom2": "2",
"avail_from": "2009-07-17T00:00:00.000+0530",
"max_book": null,
"offering_custom3": "3",
"part_no": "ID",
"domain": "domin000000000000001",
"offering_credits": null,
"course_no": "PG2-ATTCHK",
"course_description": "Description",
"status": null,
"href": "http://localhost/Saba/api/component/offering/dowbt000000000001943"
}
]
}

GET META DETAILS OF A VIRTUAL CLASS

Overview
Returns the meta details of a Virtual Class.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/meta?type=virtual_class
REST API Reference | Learning | 872

Return Values

{
"sampleData": {
"enforced_seq": "SUGGESTED",
"start_date": null,
"end_date": null,
"max_ct": 50,
"delivery_id": null,
"offering_temp_id": null,
"vendor_id": null,
"session_template": null,
"open_enroll": null,
"facility_id": null,
"csr_id": null,
"stop_auto_promotion": null,
"min_ct": 5,
"open_enroll_for_all": null,
"enroll_close": null,
"training_units": 0,
"max_book": 20,
"stud_ct": null,
"rescheduled": false,
"do_not_drop_post": null,
"post_order": null,
"post_completion": null,
"stud_book": null,
"duration": 0,
"broadcast": false,
"parent": null,
"location_id": {
"id": "locat000000000001193",
"displayName": "234234"
},
"status": null,
"class_no": "00011552",
"disp_for_web": true,
"has_community": false,
"disp_for_call_center": true,
"group_id": null,
"language_id": null,
"description": null,
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/offering/virtc000000000000001?type=virtual_class"

},
"name": "Virtual Class Offering",
"displayName": "Virtual Classroom",
"attributes": [
{
"name": "broadcast",
"displayName": "Broadcast",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
REST API Reference | Learning | 873

"isSearchFilter": true
},
{
"name": "class_no",
"displayName": "Class ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "course_no",
"displayName": "Course ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
REST API Reference | Learning | 874

},
{
"name": "csr_id",
"displayName": "Customer Service Rep.",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "delivery_id",
"displayName": "Delivery",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": false
},
{
"name": "disp_for_call_center",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_for_web",
"displayName": "Display for Learner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "do_not_drop_post",
"displayName": "Do Not Drop",
"description": null,
REST API Reference | Learning | 875

"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "duration",
"displayName": "Duration (HH:MM)",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "elements_to_complete",
"displayName": "Optional Elements to Complete",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "end_date",
"displayName": "End Date",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "enforced_seq",
"displayName": "Enforced Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href":
"https://<hostname-api.sabacloud.com>/v1/list/sysli000000000004040/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "enroll_close",
"displayName": "Enrollment Close Before",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
REST API Reference | Learning | 876

"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "facility_id",
"displayName": "Facility",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "group_id",
"displayName": "Group ID",
"description": "If exists then has group id of the course",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "has_community",
"displayName": "Has Community",
"description": "If 1 then this course has a group existing.",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_class_based",
"displayName": "Class based pricing",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_class_for_org",
"displayName": "Register learners other than bill to organization",
REST API Reference | Learning | 877

"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_private",
"displayName": "Private",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "is_test",
"displayName": "Test",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "language_id",
"displayName": "Language",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "location_id",
"displayName": "Location",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "max_book",
"displayName": "Max In Wait List",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
REST API Reference | Learning | 878

"isSearchFilter": true
},
{
"name": "max_ct",
"displayName": "Max Count",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "max_int_conf",
"displayName": "Max Internal Conf.",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "meeting_template_id",
"displayName": "Adobe Meeting Template",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "min_ct",
"displayName": "Min Count",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "offering_temp_id",
"displayName": "Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 879

"name": "open_enroll",
"displayName": "Open Enrollment Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll_for_all",
"displayName": "Open Enrollment For All Audience Subtypes Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "organization_id",
"displayName": "Bill To Organization",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "parent",
"displayName": "Parent",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "post_completion",
"displayName": "Class Completion Reminder after End Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "post_order",
"displayName": "Class Reminder before Start Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
REST API Reference | Learning | 880

"display": true,
"isSearchFilter": false
},
{
"name": "price",
"displayName": "Price",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "priceband_id",
"displayName": "Price Band Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "priceband_unit",
"displayName": "Price Band Unit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "rescheduled",
"displayName": "Rescheduled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "session_template",
"displayName": "Session Template",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "skip_days_map",
"displayName": "Skip Days Map",
"description": null,
REST API Reference | Learning | 881

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 7,
"maximumLength": 7,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "start_date",
"displayName": "Start Date",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000103/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "stop_auto_promotion",
"displayName": "Stop Auto-Promotion Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "stud_book",
"displayName": "Students Waitlisted",
"description": null,
"isRequired": true,
REST API Reference | Learning | 882

"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "stud_ct",
"displayName": "Student Count",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"minimumValue": 1,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
REST API Reference | Learning | 883

"isSearchFilter": true
},
{
"name": "when_cancel",
"displayName": "Date Cancelled",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
REST API Reference | Learning | 884

"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom 5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 885

"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom10",
"displayName": "Custom 10",
"description": "custom10",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}
]
}

GET META DETAILS OF A WBT CLASS

Overview
Returns the meta details of a WBT class.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/meta?type=web_based

Return Values

{
"sampleData": {
"enforced_seq": null,
REST API Reference | Learning | 886

"delivery_id": null,
"manufacturer_id": null,
"training_units": 0,
"microLearning": false,
"do_not_drop_post": null,
"post_order": 0,
"post_completion": 0,
"duration": 10,
"vendor_id": null,
"offering_temp_id": null,
"avail_from": "2017-07-17T09:09:15.685+0000",
"disc_from": null,
"wbt_no": "00027688",
"disp_for_web": true,
"elements_to_complete": 0,
"has_community": false,
"disp_for_call_center": true,
"language_id": null,
"description": null,
"group_id": null,
"customValues": {
"custom0": null,
"ExCustom1": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://dqlearning-api.sabacloud.com/v1/offering/dowbt000000000000001?type=web_based"

},
"name": "WBT Offering",
"displayName": "Web-Based Class",
"attributes": [
{
"name": "availability",
"displayName": "Availability (Days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "avail_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
REST API Reference | Learning | 887

{
"name": "cancellation_text",
"displayName": "Cancellation Text",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "comments_file",
"displayName": "Comments File",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "course_no",
"displayName": "Course No",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 888

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "delivery_id",
"displayName": "Delivery ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 5000,
"maximumLength": 5000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_for_call_center",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 889

"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_for_web",
"displayName": "Display for Learner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "do_not_drop_post",
"displayName": "Do Not Drop246",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "duration",
"displayName": "Duration (HH:MM)",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "elements_to_complete",
"displayName": "Optional Elements to Complete",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "enforced_seq",
"displayName": "Enforced Sequence",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
REST API Reference | Learning | 890

"isProtected": false,
"choices": {
"href": "https://dqlearning-api.sabacloud.com/v1/list/sysli000000000004040/values"

},
"display": true,
"isSearchFilter": false
},
{
"name": "enrollment_text",
"displayName": "Enrollment Text",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "group_id",
"displayName": "Group ID",
"description": "If exists then has group id of the course",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "has_community",
"displayName": "Create group for class",
"description": "If 1 then this course has a group existing.",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_test",
"displayName": "Test",
"description": null,
"isRequired": false,
REST API Reference | Learning | 891

"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "language_id",
"displayName": "Language",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "lesson_file",
"displayName": "Lesson File",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "manufacturer_id",
"displayName": "Manufacturer",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "mastery_score",
"displayName": "Mastery Score",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "max_downloads",
"displayName": "Max Download Count",
"description": null,
"isRequired": false,
REST API Reference | Learning | 892

"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "max_time_allowed",
"displayName": "Maximum Time Allowed",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "microLearning",
"displayName": "Micro Learning",
"description": "If 1 then this will be considered as micro learning",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "offering_temp_id",
"displayName": "Course",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "owner",
"displayName": "Owner",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "array",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "post_completion",
"displayName": "Trigger after Completion Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
REST API Reference | Learning | 893

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "post_order",
"displayName": "Trigger after Order Date (days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price",
"displayName": "Price",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "priceband_id",
"displayName": "Price Band Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "priceband_unit",
"displayName": "Price Band Unit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "server_path",
"displayName": "WBT Server Path",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 894

"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "time_limit_action",
"displayName": "Time Limit Action",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "time_limit_action_flag",
"displayName": "Time Limit Action Flag",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "total_attempts_allowed",
"displayName": "Total Attempts Allowed",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 895

"display": true,
"minimumValue": 1,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "URL",
"displayName": "URL",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "vendor_file",
"displayName": "Vendor File",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
REST API Reference | Learning | 896

"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "wbt_no",
"displayName": "Class ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "WBT String",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "WBT Integer1",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "WBT Real1",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
REST API Reference | Learning | 897

{
"name": "custom3",
"displayName": "WBT Boolean",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": false,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "WBT Date",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "WBT Time",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "WBT String LOV",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "WBT String Protected",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Learning | 898

"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "WBT Custom8 Real",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "WBT Custom9 Time",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "ExCustom1",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "richtext",
"isReference": false,
"isProtected": false,
"display": false,
"isSearchFilter": false
}
]
}
REST API Reference | Learning | 899

CREATE A NEW BLENDED CLASS

Overview
Creates a new Blended class.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/offering
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering

Calling Options
Table 281: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

description Description string No

csr_id CSR's ID string No

customFields Custom Fields string No

delivery_id Delivery's ID Blended object No


eqcat000000000000014

enroll_close Enroll close date No

facility_id Facility's ID string No

language_id Language's ID English object Yes


lange000000000000001

learningAssign- Learning Assignments string No


ments

location_id Location's ID locat000000000001202 string Yes

max_book Max book 20 integer No


REST API Reference | Learning | 900

Name Description Sample Value Data Type Required?

max_ct Max CT 20 integer No

min_ct Min CT 5 integer No

name Course name testCourse string No

offering_temp_id Class temp's ID. Only { "@type": "Servi- object Yes


20 Char Cornerstone ceObjectRefer-
SBX Id is supported ence", "id":
for this attribute. "cours000000000006618",
"displayName":
"testCouse" }

open_enroll Open enroll date No

open_en- Open enroll for all date No


roll_for_all

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

skip_days_map Skip days map 0000000 string No

start_date Start date 2013-11-14 date Yes

endDate End Date 2013-11-15 date No

stop_auto_promo- Stop auto promotion string No


tion

vendor_id Vendor's ID string No

wbt_no WBT No 00005774 string No

duration Duration real No

enforced_seq Enforced SEQ. Pos- integer No


sible values:
• 100 - Suggested
• 200 - Enforced
• 300-Enforced with
successful comple-
tion
REST API Reference | Learning | 901

Name Description Sample Value Data Type Required?

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

enrollment_text Enrollment Text string No

cancellation_text Cancellation Text string No

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"description": "fefdf",
"duration": 0,

"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000014",
"displayName": "Blended"
},
"avail_from": null,
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
REST API Reference | Learning | 902

"displayName": "testCouse"
},

"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"vendor_id": null,
"learningAssignments": null,
"class_no": "2222",
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": ""
},
"facility_id": null,
"start_date": {
"@type": "date",
"time": "2013-11-15"
},
"endDate": {
"@type": "date",
"time": "2013-11-14"
},
"min_ct": 5,
"max_ct": 20,
"max_book": 20,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": "0000000",
"name": "testCouse",
"customFields": {
"@type": "map"
},
"session_template":"stemp000000000001161",
"enrollment_text ": null,
"cancellation_text": null,
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name


REST API Reference | Learning | 903

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

Return Values

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",
"startDateInUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533871800000,
"locale":"08/10/2018",
"timeInLocale":"9:00 AM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"9:00 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:00 AM",
"dateInStandardFormat":"08/10/2018"
},
"endDateinUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533900600000,
"locale":"08/10/2018",
"timeInLocale":"5:00 PM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"5:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"5:00 PM",
"dateInStandardFormat":"08/10/2018"
},
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "10:30 AM",
REST API Reference | Learning | 904

"date": 1384491600000,
"locale": "11/15/13"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "10:30 AM",
"date": 1384491600000,
"locale": "11/15/13"
},
"customValues": [
"list",
[]
],
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"baseDeliveryType": 100,
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000014",
"displayName": "Blended"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"availableSeats": -1,
"offeringNumber": "2222",
"sessionTemplate": "",
"trainingUnits": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"addressLine2": "abc",
"addressLine3": null,
"addressLine1": "",
"city": "",
"zipCode": "",
"state": "",
"country": "India"
},
"locationContact": null,
REST API Reference | Learning | 905

"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000012",
"displayName": "(GMT-05:00) Eastern Time (US & Canada)"
},
"attachments": [
"list",
[]
],
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"primaryPhone": "",
"secondaryPhone": "",
"email": "",
"fax": ""
},
"locationId": "LOCANUMBER",
"locationName": "Locationname",
"organization": null
},
"dif": false,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "0 USD",
"availableSeats": -1
},
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000014",
"displayName": "Blended"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"max_ct": 20,
"max_book": 20,
"min_ct": 5,
"csr_id": null,
"session_template": "",
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
REST API Reference | Learning | 906

},
"disp_for_web": true,
"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "10:30 AM",
"date": 1384491600000,
"locale": "11/15/13"
},
"avail_from": null,
"disc_from": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"wbt_no": "2222",
"class_no": "2222",
"enforced_seq": "100",
"diffHours": 0,
"endDateI18n": "11/15/13",
"startDateI18n": "11/15/13",
"priceDisplayString": "0 USD",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 22,
"daysFrom": 18,
"charge": 25,
"displayString": "Cancellation charge of 25.0 % if dropped between 10/24/13 and
10/28/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 17,
"daysFrom": 13,
REST API Reference | Learning | 907

"charge": 20,
"displayString": "Cancellation charge of 20.0 % if dropped between 10/29/13 and
11/02/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 12,
"daysFrom": 8,
"charge": 15,
"displayString": "Cancellation charge of 15.0 % if dropped between 11/03/13 and
11/07/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 7,
"daysFrom": 3,
"charge": 10,
"displayString": "Cancellation charge of 10.0 % if dropped between 11/08/13 and
11/12/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 2,
"daysFrom": 0,
"charge": 5,
"displayString": "Cancellation charge of 5.0 % if dropped between 11/13/13 and
11/15/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 99999,
"daysFrom": -99999,
"charge": 45.5,
"displayString": "Cancellation charge of 45.5 % for all other days.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
REST API Reference | Learning | 908

}
}
]
],
"lastDateToDropWithoutCharge": null
},
"courseVersion": null,
"customFields": {
"@type": "map"
},
"durationString": "00:00",
"offering_temp_no": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"name": "testCouse",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"resources": [
"list",
[]
],
"id": "blend000000000003971",
"description": "fefdf",
"duration": 0
}

CREATE A NEW ILT CLASS

Overview
Creates a new ILT Class.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/offering
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering
REST API Reference | Learning | 909

Calling Options
Table 282: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

description Description desc string No

duration Duration string No

avail_from Available from 2013-04-29 date No

disc_from Discontinued from 2013-04-30 date No

disp_for_web Display for web? true boolean No

disp_for_call_cen- Display for call center false boolean No


ter

trainingUnits Training Units 25 real No

csr_id CSR's ID string No

customFields Custom Fields string No

delivery_id Delivery's ID Blended object No


eqcat000000000000004

enroll_close Enroll close date No

facility_id Facility's ID string No

language_id Language's ID English object No


lange000000000000001

location_id Location's ID locat000000000001202 string Yes

max_book Max book 20 integer No

max_ct Max CT 20 integer No

min_ct Min CT 5 integer No

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }
REST API Reference | Learning | 910

Name Description Sample Value Data Type Required?

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

start_date Start date 2013-11-15 date Yes

endDate End Date 2013-11-15 date No

name Course's name name1 string No

stop_auto_promo- Stop auto promotion string No


tion

vendor_id Vendor's ID {"@type":"Servi- string No


ceObjectRefer-
ence",
"d
i ":cmpny000000000001020",
"display-
Name":"Beta Cus-
tomers"}

class_no Class's No 00005774 string No


Note: Is required in
case the Auto-Gener-
ated property is dis-
abled for class_no at-
tribute at component.

session_template Session template stemp000000000001161 string Yes


REST API Reference | Learning | 911

Name Description Sample Value Data Type Required?

offeringSessions [ "java.util.List", [ object No


{
"@type":"java.util.Map",
"startDate":"2016-
12-12", "start-
Time":"07:00", "en-
dTime":"08:00" } ]
]
REST API Reference | Learning | 912

Name Description Sample Value Data Type Required?

Offering Sessions.
Contain a list of map.
Each map element will
contain following
items:
• startDate: Start of
a session. Note:
Earliest start date
from all sessions
will be picked as
start date of offer-
ing template. It will
be date type attrib-
ute.
• startTime: Start
time of offering
session. It will be of
String type and will
contain starting
time in Hours and
Minute of a session
in 24 hours format.
Like HH:MM.
• endTime: End time
of offering session.
It will be of String
type and will con-
tain ending time in
Hours and Minute
of a session. Like
HH:MM.

Note: Sessions of an
offering can be
changed by changing
one of 3 attributes -
start_date, ses-
sion_template, offer-
ingSessions. Out of
these offeringSes-
sions has the highest
preference.
• If offeringSessions
attribute is passed,
then the existing
sessions associ-
ated to the class
will be updated us-
ing the sessions
specified in offer-
ingSessions. You
REST API Reference | Learning | 913

Name Description Sample Value Data Type Required?

still need to provide


a value for ses-
sion_template,
However, this value
is only used as the
new Session Tem-
plate Name for the
Offering.
• If offeringSessions
attribute is not
passed, then API
checks for any
change in
startDate or ses-
sion_template at-
tribute. In either of
the cases, no ses-
sion template gets
created or updated
as part of this API.

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

enrollment_text Enrollment Text string No

cancellation_text Cancellation Text string No


REST API Reference | Learning | 914

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"description": "fefdf",
"duration": 0,

"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"avail_from": null,
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},

"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"vendor_id": null,
"learningAssignments": null,
"class_no": "a",
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": ""
},
"facility_id": null,
"start_date": {
"@type": "date",
"time": "2013-11-15"
},
"endDate": {
"@type": "date",
"time": "2013-11-14"
},
"min_ct": 5,
"max_ct": 20,
"max_book": 20,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": "0000000",
"name": "testCouse",
"customFields": {
"@type": "map"
},
"session_template":"stemp000000000001161",
"enrollment_text ": null,
"cancellation_text": null,
REST API Reference | Learning | 915

"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

Request Body (with offeringSessions attribute)

{
"@type":"com.saba.learning.services.offering.OfferingDetail",
"offering_temp_id":{
"@type":"ServiceObjectReference",
"id":"cours000000000064017"
},
"delivery_id":{
"@type":"ServiceObjectReference",
"displayName":"Instructor-Led",
"id":""
},
"session_template":"offering1_stemplate1",
"description":"description updated!!",
REST API Reference | Learning | 916

"class_no":"hktest3001_12_12_ilteA",
"location_id":{
"@type":"ServiceObjectReference",
"displayName":"Bombay",
"id":""
},
"start_date":{
"@type":"date",
"time":"2016-12-12"
},
"offeringSessions":[
"java.util.List",
[
{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"07:00",
"endTime":"08:00"
}
]
]
}

Return Values

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",
"startDateInUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533871800000,
"locale":"08/10/2018",
"timeInLocale":"9:00 AM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"9:00 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:00 AM",
"dateInStandardFormat":"08/10/2018"
},
"endDateinUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533900600000,
"locale":"08/10/2018",
"timeInLocale":"5:00 PM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"5:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"5:00 PM",
"dateInStandardFormat":"08/10/2018"
},
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "3:30 PM",
"date": 1384509600000,
"locale": "11/15/13"
REST API Reference | Learning | 917

},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "3:30 PM",
"date": 1384509600000,
"locale": "11/15/13"
},
"customValues": [
"list",
[]
],
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"baseDeliveryType": 100,
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"availableSeats": -1,
"offeringNumber": "A",
"sessionTemplate": "ses_222",
"trainingUnits": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"addressLine2": "abc",
"addressLine3": null,
"addressLine1": "",
"city": "",
"zipCode": "",
"state": "",
"country": "India"
},
"locationContact": null,
"timezone": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 918

"id": "tzone000000000000012",
"displayName": "(GMT-05:00) Eastern Time (US & Canada)"
},
"attachments": [
"list",
[]
],
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"primaryPhone": "",
"secondaryPhone": "",
"email": "",
"fax": ""
},
"locationId": "LOCANUMBER",
"locationName": "Locationname",
"organization": null
},
"dif": false,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "0 USD",
"availableSeats": -1
},
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"max_ct": 20,
"max_book": 20,
"min_ct": 5,
"csr_id": null,
"session_template": "ses_222",
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
REST API Reference | Learning | 919

"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "3:30 PM",
"date": 1384509600000,
"locale": "11/15/13"
},
"avail_from": null,
"disc_from": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"wbt_no": "A",
"class_no": "A",
"diffHours": 0,
"endDateI18n": "11/15/13",
"startDateI18n": "11/15/13",
"priceDisplayString": "0 USD",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 22,
"daysFrom": 18,
"charge": 25,
"displayString": "Cancellation charge of 25.0 % if dropped between 10/24/13 and
10/28/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 17,
"daysFrom": 13,
"charge": 20,
"displayString": "Cancellation charge of 20.0 % if dropped between 10/29/13 and
11/02/13.",
REST API Reference | Learning | 920

"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 12,
"daysFrom": 8,
"charge": 15,
"displayString": "Cancellation charge of 15.0 % if dropped between 11/03/13 and
11/07/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 7,
"daysFrom": 3,
"charge": 10,
"displayString": "Cancellation charge of 10.0 % if dropped between 11/08/13 and
11/12/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 2,
"daysFrom": 0,
"charge": 5,
"displayString": "Cancellation charge of 5.0 % if dropped between 11/13/13 and
11/15/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 99999,
"daysFrom": -99999,
"charge": 45.5,
"displayString": "Cancellation charge of 45.5 % for all other days.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
}
]
REST API Reference | Learning | 921

],
"lastDateToDropWithoutCharge": null
},
"courseVersion": null,
"customFields": {
"@type": "map"
},
"durationString": "00:00",
"offering_temp_no": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"name": "testCouse",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"resources": [
"list",
[]
],
"id": "class000000000003144",
"description": "fefdf",
"duration": 0
}

CREATE A NEW VIRTUAL CLASS

Overview
Creates a new Virtual Class Class.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/offering
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering
REST API Reference | Learning | 922

Calling Options
Table 283: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

description Description desc string No

duration Duration real No

avail_from Available from 2013-04-29 date No

disc_from Discontinued from 2013-04-30 date No

disp_for_web Display for web? true boolean No

disp_for_call_cen- Display for call cen- false boolean No


ter ter?

trainingUnits Training Units 25 real No

csr_id CSR's ID string No

customFields Custom Fields string No

delivery_id Delivery's ID VC string No


eqcat000000000000008

enroll_close Enroll close date No

facility_id Facility's ID string No

language_id Language's ID English object No


lange000000000000001

location_id Location's ID locat000000000001202 string Yes

max_book Max book 20 integer No

max_ct Max CT 20 integer No

min_ct Min CT 5 integer No

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }
REST API Reference | Learning | 923

Name Description Sample Value Data Type Required?

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

start_date Start date 2013-11-15 date Yes

endDate End Date 2013-11-15 date No

name Course's name name1 string No

stop_auto_promo- Stop auto promotion string No


tion

vendor_id Vendor's ID string No


{"@type":"Servi-
ceObjectRefer-
ence",
"d
i ":cmpny000000000001020",
"display-
Name":"Beta Cus-
tomers"}

class_no Class No 00005774 string No


Note: Is required in
case the Auto-Gener-
ated property is dis-
abled for class_no at-
tribute at component.

session_template Session template stemp000000000001161 string No

do_not_drop_post Do not drop post 2013-05-03 date No


REST API Reference | Learning | 924

Name Description Sample Value Data Type Required?

vleInfo VLE info {"@type": object Yes


"com.saba.vlepro-
vider.VLEEventIn-
foDetail","event-
Type": "001","audi-
oOptions":
null,"teleconfC-
allNumber":
null,"isLiveVideo":
true,"isRecord-
Video": true,"al-
ternateTeleCon-
fCallNumber":
700,"teleConf-
HostCode":
null,"teleconfAc-
cessCode":
null,"welcomeUrl":
null,"logoutUrl":
null,"addition-
alSeats": 0,"pub-
lishLocation":
null,"isDownload-
Playback": true,
"isContribute-
dEvent": false,"is-
RecordingAvail-
able": false,"isSe-
cureEvent":
false,"subject-
GUID": null,"sub-
jectName":
null,"isAutoPub-
lishEvent":
false,"display-
Name": null}
REST API Reference | Learning | 925

Name Description Sample Value Data Type Required?

offeringSessions [ "java.util.List", [ object No


{
"@type":"java.util.Map",
"startDate":"2016-
12-12", "start-
Time":"07:00", "en-
dTime":"08:00" } ]
]
REST API Reference | Learning | 926

Name Description Sample Value Data Type Required?

Offering Sessions.
Contain a list of map.
Each map element will
contain following
items:
• startDate: Start of
a session. Note:
Earliest start date
from all sessions
will be picked as
start date of offer-
ing template. It will
be date type attrib-
ute.
• startTime: Start
time of offering
session. It will be of
String type and will
contain starting
time in Hours and
Minute of a session
in 24 hours format.
Like HH:MM.
• endTime: End time
of offering session.
It will be of String
type and will con-
tain ending time in
Hours and Minute
of a session. Like
HH:MM.

Note: Sessions of an
offering can be
changed by changing
one of 3 attributes -
start_date, ses-
sion_template, offer-
ingSessions. Out of
these offeringSes-
sions has the highest
preference.
• If offeringSessions
attribute is passed,
then the existing
sessions associ-
ated to the class
will be updated us-
ing the sessions
specified in offer-
ingSessions. You
REST API Reference | Learning | 927

Name Description Sample Value Data Type Required?

still need to provide


a value for ses-
sion_template,
However, this value
is only used as the
new Session Tem-
plate Name for the
Offering.
• If offeringSessions
attribute is not
passed, then API
checks for any
change in
startDate or ses-
sion_template at-
tribute. In either of
the cases, no ses-
sion template gets
created or updated
as part of this API.

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

enrollment_text Enrollment Text string No

cancellation_text Cancellation Text string No


REST API Reference | Learning | 928

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",

"start_date": {
"@type": "date",
"time": "2013-11-15"
},
"endDate": {
"@type": "date",
"time": "2013-11-14"
},
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000008",
"displayName": "Virtual Classroom"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"offeringNumber": "543234",
"trainingUnits": 25,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000008",
"displayName": "Virtual Classroom"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"max_ct": 20,
"max_book": 20,
"min_ct": 5,
"csr_id": null,

"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"disp_for_call_center": false,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"avail_from": null,
REST API Reference | Learning | 929

"disc_from": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},

"class_no": "vvvvvvvv",
"baseDeliveryType": 100,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"endDateI18n": "11/15/13",
"startDateI18n": "11/15/13",

"courseVersion": null,
"customFields": {
"@type": "map"
},
"durationString": "00:00",
"offering_temp_no": null,
"diffHours": 0,
"name": "testCouse",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"resources": [
"list",
[]
],
"description": "desc",
"duration": 0,
"session_template": "stemp000000000001161",
"enrollment_text ": null,
"cancellation_text": null,
"vleInfo":{"@type": "com.saba.vleprovider.VLEEventInfoDetail","eventType":
"001","audioOptions": null,"teleconfCallNumber": null,"isLiveVideo": true,"isRecordVideo":
true,"alternateTeleConfCallNumber": 700,"teleConfHostCode": null,"teleconfAccessCode":
null,"welcomeUrl": null,"logoutUrl": null,"additionalSeats": 0,"publishLocation":
null,"isDownloadPlayback": true, "isContributedEvent": false,"isRecordingAvailable":
false,"isSecureEvent": false,"subjectGUID": null,"subjectName": null,"isAutoPublishEvent":
false,"displayName": null},
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
REST API Reference | Learning | 930

"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]

The following are the supported VLE vendors:


1. Saba Classroom
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001020",
"displayName": "Saba Classroom",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "telephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}

2. WebEx
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001060",
"displayName": "WebEx",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "voip",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
REST API Reference | Learning | 931

"logoutUrl": "www.saba.com"
}

3. adobeconnect
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001040",
"displayName": "Adobe Connect",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "voipAndTelephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": www.saba.com,
"meetingTemplate": "test adobe template"
}

4. Zoom Meeting
The following is an example for Zoom Meeting as the VLE provider where an instructor of
type Leader is provided. For creating new Virtual Class, an Instructor(Leader) needs to
be passed into the resources field as specified in the following JSON:

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"avail_from": {
"@type": "date",
"time": "2020-05-19"
},
"class_no": "12June_Meeting1",
"delivery_id": {
"@type": "ServiceObjectReference",
"displayName": "",
"id": "eqcat000000000000008"
},
"description": "12June_Meeting1",
"disc_from": {
"@type": "date",
"time": "2020-08-12"
},
"disp_for_call_center": false,
"disp_for_web": true,
"duration": "10",
"enforced_seq": 100,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001"
},
REST API Reference | Learning | 932

"location_id": {
"@type": "ServiceObjectReference",
"displayName": "",
"id": "locat000000000003200"
},
"max_book": "50",
"max_ct": "25",
"min_ct": "5",
"name": "12June_Meeting1",
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000033004"
},
"resources": [
"list",
[
{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resource": {
"@type": "com.saba.learning.services.common.PersonServiceObjectReference",

"id": "emplo000000000007343"
}
}
]
],
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001"
},
"session_template": "stemp000000000003147",
"start_date": {
"@type": "date",
"time": "2020-06-30"
},
"trainingUnits": "100",
"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001062",
"displayName": "Zoom Meeting"
},
"audioOptions": "voipAndTelephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}
}

5. Zoom Webinar
REST API Reference | Learning | 933

The following is an example for Zoom Webinar as the VLE provider where an instructor of
type Leader is provided. For creating new Virtual Class, an Instructor(Leader) needs to
be passed into resources field as specified in the following JSON:

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"avail_from": {
"@type": "date",
"time": "2020-05-19"
},
"class_no": "12June_Webinar1",
"delivery_id": {
"@type": "ServiceObjectReference",
"displayName": "",
"id": "eqcat000000000000008"
},
"description": "12June_Webinar1",
"disc_from": {
"@type": "date",
"time": "2020-08-12"
},
"disp_for_call_center": false,
"disp_for_web": true,
"duration": "10",
"enforced_seq": 100,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001"
},
"location_id": {
"@type": "ServiceObjectReference",
"displayName": "",
"id": "locat000000000003200"
},
"max_book": "50",
"max_ct": "25",
"min_ct": "5",
"name": "12June_Webinar1",
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000033004"
},
"resources": [
"list",
[
{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resource": {
"@type": "com.saba.learning.services.common.PersonServiceObjectReference",

"id": "emplo000000000007343"
}
}
]
],
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001"
},
"session_template": "stemp000000000003147",
"start_date": {
"@type": "date",
REST API Reference | Learning | 934

"time": "2020-06-23"
},
"trainingUnits": "100",
"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001063",
"displayName": "Zoom Webinar"
},
"audioOptions": "voipAndTelephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}
}

6. Non Integrated VLE Provider


The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001080",
"displayName": "Non Integrated VLE Provider",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "telephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": www.saba.com,
"guestAttendUrl": "www.google.com"
}

The following table provides details about the vleInfo attributes:

Attribute in JSON UI Label Required Supported vendor /


possible values / de-
scription

guestAttendUrl Guest Attend URL N Public URL to attend


session. Only for Non
Integrated VLE Pro-
vider
REST API Reference | Learning | 935

meetingTemplate Adobe meeting tem- N Only for adobecon-


plate nect. To Provide
Meeting template de-
tails

teleconfCallNumber Dial-in Number 1 N Conference Call No

alternateTeleConfC- Dial-in Number 2 N Alternate Conference


allNumber Call No

teleConfHostCode Host Code N Cornerstone SBX


meeting Telephone
Gateway Server Ad-
dress

teleconfAccessCode Access Code N Cornerstone SBX


meeting Telephone
Gateway Call Profile
Config

audioOptions Audio Options Y voip/ telephone /


voipAndTelephone

isLiveVideo Live Video N To show Video In ses-


sion

isRecordVideo Record Event N To record Live Video


in Session

welcomeUrl Welcome URL for Par- N When User launch


ticipants Cornerstone SBX
meeting Session, it
loads welcome url in
session

logoutUrl Logout URL N logoutUrl redirects


user outside Corner-
stone SBX meeting
Session when user ex-
ists session

The lookup support is available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition


REST API Reference | Learning | 936

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

Return Values

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",
"startDateInUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533871800000,
"locale":"08/10/2018",
"timeInLocale":"9:00 AM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"9:00 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:00 AM",
"dateInStandardFormat":"08/10/2018"
},
"endDateinUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533900600000,
"locale":"08/10/2018",
"timeInLocale":"5:00 PM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"5:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"5:00 PM",
"dateInStandardFormat":"08/10/2018"
},
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "3:30 PM",
"date": 1384509600000,
"locale": "11/15/13"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "3:30 PM",
"date": 1384509600000,
"locale": "11/15/13"
},
"customValues": [
"list",
REST API Reference | Learning | 937

[]
],
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"baseDeliveryType": 100,
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000008",
"displayName": "Virtual Classroom"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"availableSeats": -1,
"offeringNumber": "VVVVVVVV",
"sessionTemplate": "ses_222",
"trainingUnits": 25,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"addressLine2": "abc",
"addressLine3": null,
"addressLine1": "",
"city": "",
"zipCode": "",
"state": "",
"country": "India"
},
"locationContact": null,
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000012",
"displayName": "(GMT-05:00) Eastern Time (US & Canada)"
},
"attachments": [
"list",
[]
],
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"primaryPhone": "",
"secondaryPhone": "",
REST API Reference | Learning | 938

"email": "",
"fax": ""
},
"locationId": "LOCANUMBER",
"locationName": "Locationname",
"organization": null
},
"dif": false,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "0 USD",
"availableSeats": -1
},
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000008",
"displayName": "Virtual Classroom"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"max_ct": 20,
"max_book": 20,
"min_ct": 5,
"csr_id": null,
"session_template": "ses_222",
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"disp_for_call_center": false,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"vleInfoDetail": {
REST API Reference | Learning | 939

"@type": "map",
"vleProvider": {
"@type": "map",
"displayname": "Saba Classroom",
"id": "vlesp000000000001000"
},
"audioOptions":"voipAndTelephone",
"teleconfCallNumber":"1800100200",
"isLiveVideo":true,
"isRecordVideo":true,
"alternateTeleConfCallNumber":"1800100201",
"teleConfHostCode":"123456",
"teleconfAccessCode":"8324567",
"welcomeUrl":"www.sabacloud.com",
"logoutUrl":"www.saba.com"
"meetingTemplate":"test adobe template",
"guestAttendUrl":"www.google.com"
},
"do_not_drop_post": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "3:30 PM",
"date": 1384509600000,
"locale": "11/15/13"
},
"avail_from": null,
"disc_from": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},
"wbt_no": "VVVVVVVV",
"class_no": "VVVVVVVV",
"diffHours": 0,
"endDateI18n": "11/15/13",
"startDateI18n": "11/15/13",
"priceDisplayString": "0 USD",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 22,
"daysFrom": 18,
"charge": 25,
"displayString": "Cancellation charge of 25.0 % if dropped between 10/24/13 and
10/28/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
REST API Reference | Learning | 940

{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 17,
"daysFrom": 13,
"charge": 20,
"displayString": "Cancellation charge of 20.0 % if dropped between 10/29/13 and
11/02/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 12,
"daysFrom": 8,
"charge": 15,
"displayString": "Cancellation charge of 15.0 % if dropped between 11/03/13 and
11/07/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 7,
"daysFrom": 3,
"charge": 10,
"displayString": "Cancellation charge of 10.0 % if dropped between 11/08/13 and
11/12/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 2,
"daysFrom": 0,
"charge": 5,
"displayString": "Cancellation charge of 5.0 % if dropped between 11/13/13 and
11/15/13.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 99999,
"daysFrom": -99999,
"charge": 45.5,
REST API Reference | Learning | 941

"displayString": "Cancellation charge of 45.5 % for all other days.",


"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
}
]
],
"lastDateToDropWithoutCharge": null
},
"courseVersion": null,
"customFields": {
"@type": "map"
},
"durationString": "00:00",
"offering_temp_no": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"name": "testCouse",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"resources": [
"list",
[]
],
"id": "virtc000000000002908",
"description": "desc",
"duration": 0
}

CREATE A NEW WBT CLASS

Overview
Creates a new WBT Class.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/offering
Note:
REST API Reference | Learning | 942

The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering

Calling Options
Table 284: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

description Description string No

duration Duration real No

avail_from Available from 2013-04-29 date No

disc_from Discontinued from 2013-04-30 date No

disp_for_web Display for web? true boolean No

disp_for_call_cen- Display for call cen- false boolean No


ter ter?

trainingUnits Training Units 25 real No

customFields Custom Fields string No

delivery_id Delivery's ID Web-Based object No


eqcat000000000000005

language_id Language's ID English object No


lange000000000000001

learningAssign- Learning Assignments string No


ments

manufacturer_id Manufacturer's ID string No

name Course's name testCourse string No

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }
REST API Reference | Learning | 943

Name Description Sample Value Data Type Required?

securityDomain Security Domain object No


{
"id": "dom►
in000000000000001",
"name": "world"
}

vendor_id Vendor's ID string No

wbt_no WBT class's ID dowbt000000000004032 string Yes

enforced_seq Enforced SEQ. Pos- integer No


sible values:
• 100 - Suggested
• 200 - Enforced
• 300-Enforced with
successful comple-
tion

microLearning The micro learning false boolean No


flag for identifying
formal Learning Con-
tent as Micro. Accepts
true or false.
REST API Reference | Learning | 944

Name Description Sample Value Data Type Required?

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"description": "desc",
"startDateInUserTimezone":null,
"endDateinUserTimezone":null,
"duration": 0,
"wbt_no": "00005936",
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"avail_from": {
"@type": "date",
"time": "2013-11-27"
},
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006773",
REST API Reference | Learning | 945

"displayName": "test"
},
"disp_for_web": true,
"disp_for_call_center": true,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"vendor_id": null,
"manufacturer_id": null,
"learningAssignments": null,
"location_id": null,
"facility_id": null,
"start_date": null,
"endDate": null,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"skip_days_map": "",
"name": "test",
"baseDeliveryType": "200",
"microLearning": false,
"customFields": {
"@type": "map",
"custom0": "2013-11-27T00:00:00",
"custom1": 123,
"custom2": 333
},
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type
REST API Reference | Learning | 946

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

Return Values

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",
"endDate": null,
"startDate": null,
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11/27/13",
"timeInUserTimeZone": "10:30 AM",
"date": 1385528400000,
"locale": "11/27/13"
},
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "string"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 1
},
"value": 123,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "int"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
REST API Reference | Learning | 947

},
"value": [
"java.math.BigDecimal",
333
],
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "real wbt"
}
]
],
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"baseDeliveryType": 200,
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000006773",
"displayName": "test"
},
"availableSeats": -1,
"offeringNumber": "66555555",
"sessionTemplate": null,
"trainingUnits": null,
"locationDetail": null,
"dif": false,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
REST API Reference | Learning | 948

"displayName": null
}
},
"offeringPriceDisplay": "0 USD",
"availableSeats": -1
},
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"location_id": null,
"csr_id": null,
"session_template": null,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": null,
"avail_from": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11/27/13",
"timeInUserTimeZone": "10:30 AM",
"date": 1385528400000,
"locale": "11/27/13"
},
"disc_from": null,
"manufacturer_id": null,
"skip_days_map": null,
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006773",
"displayName": "test"
},
"wbt_no": "66555555",
"class_no": "66555555",
"enforced_seq": 100,
"diffHours": 0,
"endDateI18n": null,
"startDateI18n": null,
"priceDisplayString": "0 USD",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
"list",
[
REST API Reference | Learning | 949

{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 1,
"daysFrom": 1,
"charge": 10,
"displayString": "Cancellation charge of 10.0 % if dropped from 1 to 1 day(s) after
order.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 3,
"daysFrom": 2,
"charge": 22.7,
"displayString": "Cancellation charge of 22.7 % if dropped from 2 to 3 day(s) after
order.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 4,
"daysFrom": 4,
"charge": 40,
"displayString": "Cancellation charge of 40.0 % if dropped from 4 to 4 day(s) after
order.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 99999,
"daysFrom": 5,
"charge": 50,
"displayString": "Cancellation charge of 50.0 % if dropped 5 day(s) after order.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"chargeType": 1,
"daysTo": 99999,
"daysFrom": -99999,
"charge": 45.5,
"displayString": "Cancellation charge of 45.5 % for all other days.",
REST API Reference | Learning | 950

"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
}
]
],
"lastDateToDropWithoutCharge": null
},
"courseVersion": null,
"customFields": {
"@type": "map",
"custom1": 123,
"custom2": 333,
"custom0": "2013-11-27"
},
"durationString": "00:00",
"offering_temp_no": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"name": "test",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": null,
"resources": [
"list",
[]
],
"id": "dowbt000000000004101",
"description": "desc",
"duration": 0
}

UPDATE A BLENDED CLASS

Overview
Updates a Blended class.
Note: A partial update is not supported with this REST end point. All the fields should be
provided with the updated values in Input JSON for updating a class.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId
REST API Reference | Learning | 951

Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering/:offeringId

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 285: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

description Description of the string No


blended class

offeringId Blended class's ID blend000000000003945 string Yes

csr_id CSR's ID string No

customFields Custom Fields string No

delivery_id Delivery's ID Blended object Yes


eqcat000000000000014

enroll_close Enroll close date No

facility_id Facility's ID string No

language_id Language's ID { "@type": "Servi- object Yes


ceObjectRefer-
ence", "id":
"lange000000000000001",
"displayName":
"English" }

learningAssign- Learning Assignments string No


ments

location_id Location's ID locat000000000001202 string Yes

max_book Max book 20 integer Yes


REST API Reference | Learning | 952

Name Description Sample Value Data Type Required?

max_ct Max CT 20 integer Yes

min_ct Min CT 5 integer Yes

name Course's name testCourse string No

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }

open_enroll Open enroll date No

open_en- Open enroll for all date No


roll_for_all

securityDomain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

skip_days_map Skip days map 0000000 string No

start_date Start date 2013-11-14 date Yes

endDate End date 2013-11-15 date No

stop_auto_promo- Stop auto promotion string No


tion

vendor_id Vendor's ID string No

duration Duration real No

session_template Name of the session Session 501 string No


template
Note: This needs to
be unique.
REST API Reference | Learning | 953

Name Description Sample Value Data Type Required?

price Price of the class { "@type": object No


"com.saba.learn-
ing.services.com-
mon.Money",
"currency": {
"@type": "Servi-
ceObjectRefer-
ence", "id":
"crncy000000000000001",
"displayName":
"USD" }, "amount":
[ "java.math.Big-
Decimal", 100 ]}
Note: Price can
be added / modi-
fied for the mas-
ter price list only.

enforced_seq Enforced SEQ. Pos- integer No


sible values:
• 100 - Suggested
• 200 - Enforced
• 300 - Enforced with
successful comple-
tion
REST API Reference | Learning | 954

Name Description Sample Value Data Type Required?

do_not_drop_post Represents "No, this string No


class cannot be {"@type":
dropped on and after "date", "time":
date" on the UI "2019-01-01"}

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

enrollment_text Enrollment Text string No

cancellation_text Cancellation Text string No

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"description": "fefdf",
"duration": 0,

"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000014",
"displayName": "Blended"
REST API Reference | Learning | 955

},
"avail_from": null,
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},

"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"vendor_id": null,
"learningAssignments": null,
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": ""
},
"facility_id": null,
"start_date": {
"@type": "date",
"time": "2013-11-15"
},
"endDate": {
"@type": "date",
"time": "2013-11-14"
},
"min_ct": 5,
"max_ct": 20,
"max_book": 20,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": "0000000",
"name": "testCouse",
"customFields": {
"@type": "map"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": "USD"
},
"amount": [
"java.math.BigDecimal",
100
]},
"session_template":"Session 501",
"do_not_drop_post": {"@type": "date", "time": "2019-01-01"},
"enrollment_text ": null,
"cancellation_text": null,
"audienceTypes":[
"list",
[
{
REST API Reference | Learning | 956

"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

UPDATE AN ILT CLASS

Overview
Updates an ILT Class.
Note: A partial update is not supported with this REST end point. All the fields should be
provided with the updated values in Input JSON for updating a class.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 957

URL
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering/:offeringId

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 286: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

offeringId ILT class's ID string Yes

description Description desc string No

duration Duration real No

avail_from Available from 2013-04-29 date No

disc_from Discontinued from 2013-04-30 date No

disp_for_web Display for web? true boolean No

disp_for_call_cen- Display for call cen- false boolean No


ter ter?

trainingUnits Training Units 25 real No

csr_id CSR's ID string No

customFields Custom Fields string No

delivery_id Delivery's ID Blended object Yes


eqcat000000000000004

enroll_close Enrol close date No

facility_id Facility's ID string No


REST API Reference | Learning | 958

Name Description Sample Value Data Type Required?

language_id Language's ID { "@type": "Servi- object Yes


ceObjectRefer-
ence", "id":
"lange000000000000001",
"displayName":
"English" }

location_id Location's ID locat000000000001202 string Yes

max_book Max Book 20 integer Yes

max_ct Max CT 20 integer Yes

min_ct Min CT 5 integer Yes

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }

securityDomain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

start_date Start date 2013-11-15 date Yes


Note: start_date will
by default retain re-
source and ignore
conflicts.

endDate End Date 2013-11-15 date No

name Course's name name1 string No

stop_auto_promo- Stop auto promotion string No


tion

vendor_id Vendor's ID {"@type":"Servi- string No


ceObjectRefer-
ence",
"d
i ":cmpny000000000001020",
"display-
Name":"Beta Cus-
tomers"}
REST API Reference | Learning | 959

Name Description Sample Value Data Type Required?

session_template Name or ID of the ses- Session 501 string No


sion template
Note: This needs to
be unique.
session_template will
by default retain re-
source and ignore
conflicts.

price Price of the class { "@type": object No


"com.saba.learn-
ing.services.com-
mon.Money",
"currency": {
"@type": "Servi-
ceObjectRefer-
ence", "id":
"crncy000000000000001",
"displayName":
"USD" }, "amount":
[ "java.math.Big-
Decimal", 100 ]}
REST API Reference | Learning | 960

Name Description Sample Value Data Type Required?

offeringSessions [ "java.util.List", [ object No


{
"@type":"java.util.Map",
"startDate":"2016-
12-12", "start-
Time":"15:00", "en-
dTime":"15:20",
"action":"add" } ]
REST API Reference | Learning | 961

Name Description Sample Value Data Type Required?

Offering Sessions.
Contain a list of map.
Each map element will
contain following
items:
• startDate: Start of
a session. Note:
Earliest start date
from all sessions
will be picked as
start date of offer-
ing template. It will
be date type attrib-
ute.
• startTime: Start
time of offering
session. It will be of
String type and will
contain starting
time in Hours and
Minute of a session
in 24 hours format.
Like HH:MM.
• endTime: End time
of offering session.
It will be of String
type and will con-
tain ending time in
Hours and Minute
of a session. Like
HH:MM.

Note: Sessions of an
offering can be
changed by changing
one of 3 attributes -
start_date, ses-
sion_template, offer-
ingSessions. Out of
these offeringSes-
sions has the highest
preference.
• If offeringSessions
attribute is passed,
then the existing
sessions associ-
ated to the class
will be updated us-
ing the sessions
specified in offer-
ingSessions. You
REST API Reference | Learning | 962

Name Description Sample Value Data Type Required?

still need to provide


a value for ses-
sion_template,
However, this value
is only used as the
new Session Tem-
plate Name for the
Offering.
• If offeringSessions
attribute is not
passed, then API
checks for any
change in
startDate or ses-
sion_template at-
tribute. In either of
the cases, no ses-
sion template gets
created or updated
as part of this API.
Apart from startDate,
startTime and end-
Time attributes, the
following attributes
need to be passed
with the normal up-
date offering request
payload:
REST API Reference | Learning | 963

Name Description Sample Value Data Type Required?

1. id: This is a time


element id ( offer-
ing session id), in-
dicating session to
be updated.
2. action: This indic-
ates action to be
performed on a of-
fering session. Its
possible value
would be as below:
a. ADD: To add
new session to
an offering.
b. UPDATE: To up-
date existing
session of an of-
fering.
c. DELETE: To de-
lete existing ses-
sion of a offer-
ing.
Note: Element
id and action
key is only re-
quired for the
UPDATE AND
DELETE opera-
tion.

replaceExisting- Whether to replace false boolean No


Sessions the existing sessions
of the offering with
those specified in of-
feringSessions. If true
is passed, you do not
need to pass ACTION
for the sessions. All
existing sessions will
be removed and re-
placed by the new
ones.

resourceCancella- Resource cancellation retainResources string No


tionType type, Possible values
could be: cancelRe-
sources, retainRe-
sourcesFailConflict or
retainRe-
sourcesIgnoreConflict
REST API Reference | Learning | 964

Name Description Sample Value Data Type Required?

do_not_drop_post Represents "No, this string No


class cannot be {"@type":
dropped on and after "date", "time":
date" on the UI "2019-01-01"}

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

enrollment_text Enrollment Text string No

cancellation_text Cancellation Text string No

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"description": "fefdf",
"duration": 0,

"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Blended"
REST API Reference | Learning | 965

},
"avail_from": null,
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},

"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"vendor_id": null,
"learningAssignments": null,
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": ""
},
"facility_id": null,
"start_date": {
"@type": "date",
"time": "2013-11-15"
},
"endDate": {
"@type": "date",
"time": "2013-11-14"
},
"min_ct": 5,
"max_ct": 20,
"max_book": 20,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": "0000000",
"name": "testCouse",
"customFields": {
"@type": "map"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": "USD"
},
"amount": [
"java.math.BigDecimal",
100
]},
"session_template":"Session 501",
"do_not_drop_post": {"@type": "date", "time": "2019-01-01"},
"enrollment_text ": null,
"cancellation_text": null,
"audienceTypes":[
"list",
[
{
REST API Reference | Learning | 966

"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

Sample Request Body (without replacing all existing sessions)

"replaceExistingSessions":false,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
"endTime":"15:20",
"action":"add"
}
]
]
REST API Reference | Learning | 967

Sample Request Body (replacing all existing sessions)

"replaceExistingSessions":true,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
"endTime":"15:20",
"action":"add"
},
{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"18:00",
"endTime":"18:20",
"action":"add"
}
]
]

Sample Request Body (updating and deleting existing session)

"replaceExistingSessions":false,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
"endTime":"15:20",
"action":"update",
"id":"timel000000000001144"
},
{
"@type":"java.util.Map",
"id":"timel000000000001146",
"action":"delete"
}
]
]

UPDATE A VIRTUAL CLASS

Overview
Updates a Virtual Class Class.
Note: A partial update is not supported with this REST end point. All the fields should be
provided with the updated values in Input JSON for updating a class.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 968

URL
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering/:offeringId

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 287: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

Class's ID VC class's ID virtc000000000002884 string Yes

abstract Abstract about the string No


class

description Description desc string No

duration Duration real No

avail_from Available from 2013-04-29 date No

disc_from Discontinued from 2013-04-30 date No

disp_for_web Display for web? true boolean No

disp_for_call_cen- Display for call cen- false boolean No


ter ter?

trainingUnits Training Units 25 real No

csr_id CSR's ID string No

customFields Custom Fields string No

delivery_id Delivery's ID VC string Yes


eqcat000000000000008
REST API Reference | Learning | 969

Name Description Sample Value Data Type Required?

enroll_close Enroll close date No

facility_id Facility's ID string No

language_id Language's ID { "@type": "Servi- object Yes


ceObjectRefer-
ence", "id":
"lange000000000000001",
"displayName":
"English" }

location_id Location's ID locat000000000001202 string Yes

max_book Max book 20 integer Yes

max_ct Max CT 20 integer Yes

min_ct Min CT 5 integer Yes

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }

securityDomain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

start_date Start date 2013-11-15 date Yes


Note: start_date will
by default retain re-
source and ignore
conflicts.

endDate End Date 2013-11-15 date No

name Course's name name1 string No

stop_auto_promo- Stop auto promotion string No


tion

vendor_id Vendor's ID {"@type":"Servi- string No


ceObjectRefer-
ence",
"d
i ":cmpny000000000001020",
"display-
Name":"Beta Cus-
tomers"}
REST API Reference | Learning | 970

Name Description Sample Value Data Type Required?

do_not_drop_post Do not drop post 2013-05-03 date No

vleInfo VLE info {"@type": object Yes


"com.saba.vlepro-
vider.VLEEventIn-
foDetail","event-
Type": "001","audi-
oOptions":
null,"teleconfC-
allNumber":
null,"isLiveVideo":
true,"isRecord-
Video": true,"al-
ternateTeleCon-
fCallNumber":
700,"teleConf-
HostCode":
null,"teleconfAc-
cessCode":
null,"welcomeUrl":
null,"logoutUrl":
null,"addition-
alSeats": 0,"pub-
lishLocation":
null,"isDownload-
Playback": true,
"isContribute-
dEvent": false,"is-
RecordingAvail-
able": false,"isSe-
cureEvent":
false,"subject-
GUID": null,"sub-
jectName":
null,"isAutoPub-
lishEvent":
false,"display-
Name": null}

session_template Name or the ID of the Session 501 string No


session template
Note: This needs to
be unique.
session_template will
by default retain re-
source and ignore
conflicts.
REST API Reference | Learning | 971

Name Description Sample Value Data Type Required?

price Price of the class { "@type": object No


"com.saba.learn-
ing.services.com-
mon.Money",
"currency": {
"@type": "Servi-
ceObjectRefer-
ence", "id":
"crncy000000000000001",
"displayName":
"USD" }, "amount":
[ "java.math.Big-
Decimal", 100 ]}
REST API Reference | Learning | 972

Name Description Sample Value Data Type Required?

offeringSessions [ "java.util.List", [ object No


{
"@type":"java.util.Map",
"startDate":"2016-
12-12", "start-
Time":"15:00", "en-
dTime":"15:20",
"action":"add" } ]
REST API Reference | Learning | 973

Name Description Sample Value Data Type Required?

Offering Sessions.
Contain a list of map.
Each map element will
contain following
items:
• startDate: Start of
a session. Note:
Earliest start date
from all sessions
will be picked as
start date of offer-
ing template. It will
be date type attrib-
ute.
• startTime: Start
time of offering
session. It will be of
String type and will
contain starting
time in Hours and
Minute of a session
in 24 hours format.
Like HH:MM.
• endTime: End time
of offering session.
It will be of String
type and will con-
tain ending time in
Hours and Minute
of a session. Like
HH:MM.

Note: Sessions of an
offering can be
changed by changing
one of 3 attributes -
start_date, ses-
sion_template, offer-
ingSessions. Out of
these offeringSes-
sions has the highest
preference.
• If offeringSessions
attribute is passed,
then the existing
sessions associ-
ated to the class
will be updated us-
ing the sessions
specified in offer-
ingSessions. You
REST API Reference | Learning | 974

Name Description Sample Value Data Type Required?

still need to provide


a value for ses-
sion_template,
However, this value
is only used as the
new Session Tem-
plate Name for the
Offering.
• If offeringSessions
attribute is not
passed, then API
checks for any
change in
startDate or ses-
sion_template at-
tribute. In either of
the cases, no ses-
sion template gets
created or updated
as part of this API.
Apart from startDate,
startTime and end-
Time attributes, the
following attributes
need to be passed
with the normal up-
date offering request
payload:
REST API Reference | Learning | 975

Name Description Sample Value Data Type Required?

1. id: This is a time


element id ( offer-
ing session id), in-
dicating session to
be updated.
2. action: This indic-
ates action to be
performed on a of-
fering session. Its
possible value
would be as below:
a. ADD: To add
new session to
an offering.
b. UPDATE: To up-
date existing
session of an of-
fering.
c. DELETE: To de-
lete existing ses-
sion of a offer-
ing.
Note: Element
id and action
key is only re-
quired for the
UPDATE AND
DELETE opera-
tion.

replaceExisting- Whether to replace false boolean No


Sessions the existing sessions
of the offering with
those specified in of-
feringSessions. If true
is passed, you do not
need to pass ACTION
for the sessions. All
existing sessions will
be removed and re-
placed by the new
ones.

resourceCancella- Resource cancellation retainResources string No


tionType type, Possible values
could be: cancelRe-
sources, retainRe-
sourcesFailConflict or
retainRe-
sourcesIgnoreConflict
REST API Reference | Learning | 976

Name Description Sample Value Data Type Required?

do_not_drop_post Represents "No, this string No


class cannot be {"@type":
dropped on and after "date", "time":
date" on the UI "2019-01-01"}

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

enrollment_text Enrollment Text string No

cancellation_text Cancellation Text string No

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",

"start_date": {
"@type": "date",
"time": "2013-11-15"
},
"endDate": {
"@type": "date",
"time": "2013-11-14"
},
"securityDomain": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 977

"id": "domin000000000000001",
"displayName": "world"
},
"offeringNumber": "543234",
"trainingUnits": 25,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000008",
"displayName": "Virtual Classroom"
},
"max_ct": 20,
"max_book": 20,
"min_ct": 5,
"csr_id": null,
"disp_for_web": true,
"disp_for_call_center": false,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"avail_from": null,
"disc_from": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006618",
"displayName": "testCouse"
},

"baseDeliveryType": 100,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"endDateI18n": "11/15/13",
"startDateI18n": "11/15/13",

"courseVersion": null,
"customFields": {
"@type": "map"
},
"durationString": "00:00",
"offering_temp_no": null,
"diffHours": 0,
"name": "testCouse",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"resources": [
"list",
REST API Reference | Learning | 978

[]
],
"description": "desc",
"duration": 0,
"session_template": "Session 501",
"enrollment_text ": null,
"cancellation_text": null,
"price": {
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": "USD"
},
"amount": [
"java.math.BigDecimal",
100
]},
"vleInfo":{"@type": "com.saba.vleprovider.VLEEventInfoDetail","eventType":
"001","audioOptions": null,"teleconfCallNumber": null,"isLiveVideo": true,"isRecordVideo":
true,"alternateTeleConfCallNumber": 700,"teleConfHostCode": null,"teleconfAccessCode":
null,"welcomeUrl": null,"logoutUrl": null, "publishLocation": null,"isDownloadPlayback": true,
"isContributedEvent": false,"isRecordingAvailable": false,"isSecureEvent": false,"subjectGUID":
null,"subjectName": null,"isAutoPublishEvent": false,"displayName": null},
"do_not_drop_post": {"@type": "date", "time": "2019-01-01"},
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The following are the supported VLE vendors:


1. Saba Classroom
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001020",
"displayName": "Saba Classroom",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "telephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
REST API Reference | Learning | 979

"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}

2. WebEx
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001060",
"displayName": "WebEx",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "voip",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}

3. adobeconnect
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001040",
"displayName": "Adobe Connect",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "voipAndTelephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com""meetingTemplate": "test adobe template"
}
REST API Reference | Learning | 980

4. Zoom Meeting
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001062",
"displayName": "Zoom Meeting",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "voip",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}

5. Zoom Webinar
The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001063",
"displayName": "Zoom Webinar",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "voip",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}

6. Non Integrated VLE Provider


The following is an example for the Meeting details for POST / PUT methods:

"vleInfo": {
"@type": "com.saba.vleprovider.VLEEventInfoDetail",
"vleProvider": {
"@type": "com.saba.vleprovider.entity.VLEProviderReference",
"id": "vlesp000000000001080",
"displayName": "Non Integrated VLE Provider",
REST API Reference | Learning | 981

"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "telephone",
"teleconfCallNumber": "1800100200",
"isLiveVideo": true,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com",
"guestAttendUrl": "www.google.com"
}

Note: For the PUT operation the vleProvider field will be ignored, as vleProvider cannot be
updated.
The following table provides details about the vleInfo attributes:

Attribute in JSON UI Label Required Supported vendor /


possible values / de-
scription

guestAttendUrl Guest Attend URL N Public URL to attend


session. Only for Non
Integrated VLE Pro-
vider

meetingTemplate Adobe meeting tem- N Only for adobecon-


plate nect. To Provide
Meeting template de-
tails

teleconfCallNumber Dial-in Number 1 N Conference Call No

alternateTeleConfC- Dial-in Number 2 N Alternate Conference


allNumber Call No

teleConfHostCode Host Code N Cornerstone SBX


meeting Telephone
Gateway Server Ad-
dress

teleconfAccessCode Access Code N Cornerstone SBX


meeting Telephone
Gateway Call Profile
Config

audioOptions Audio Options Y voip/ telephone /


voipAndTelephone

isLiveVideo Live Video N To show Video In ses-


sion
REST API Reference | Learning | 982

isRecordVideo Record Event N To record Live Video


in Session

welcomeUrl Welcome URL for Par- N When User launch


ticipants Cornerstone SBX
meeting Session, it
loads welcome url in
session

logoutUrl Logout URL N logoutUrl redirects


user outside Corner-
stone SBX meeting
Session when user ex-
ists session

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

Sample Request Body (without replacing all existing sessions)

"replaceExistingSessions":false,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
"endTime":"15:20",
"action":"add"
}
]
]
REST API Reference | Learning | 983

Sample Request Body (replacing all existing sessions)

"replaceExistingSessions":true,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
"endTime":"15:20",
"action":"add"
},
{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"18:00",
"endTime":"18:20",
"action":"add"
}
]
]

Sample Request Body (updating and deleting existing session)

"replaceExistingSessions":false,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
"endTime":"15:20",
"action":"update",
"id":"timel000000000001144"
},
{
"@type":"java.util.Map",
"id":"timel000000000001146",
"action":"delete"
}
]
]

UPDATE A WBT CLASS

Overview
Updates a WBT Class.
Note: A partial update is not supported with this REST end point. All the fields should be
provided with the updated values in Input JSON for updating a class.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 984

URL
https://<hostname-api.sabacloud.com>/v1/offering/:offeringId
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/offering/:offeringId

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 288: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.OfferingDetail

wbt_no WBT class's ID dowbt000000000004032 string Yes

description Description string No

duration Duration real No

avail_from Available from 2013-04-29 date No

disc_from Discontinued from 2013-04-30 date No

disp_for_web Display for web? true boolean No

disp_for_call_cen- Display for call cen- false boolean No


ter ter?

trainingUnits Training Units 25 real No

customFields Custom Fields string No

delivery_id Delivery's ID Web-Based object Yes


eqcat000000000000005
REST API Reference | Learning | 985

Name Description Sample Value Data Type Required?

language_id Language's ID { "@type": "Servi- object Yes


ceObjectRefer-
ence", "id":
"lange000000000000001",
"displayName":
"English" }

learningAssign- Learning Assignments string No


ments

manufacturer_id Manufacturer's ID string No

name Course's name testCourse string No

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Cornerstone SBX ceObjectRefer-
Id is supported for this ence", "id":
attribute "cours000000000006618",
"displayName":
"testCouse" }

securityDomain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

vendor_id Vendor's ID string No

price Price of the class { "@type": object No


"com.saba.learn-
ing.services.com-
mon.Money",
"currency": {
"@type": "Servi-
ceObjectRefer-
ence", "id":
"crncy000000000000001",
"displayName":
"USD" }, "amount":
[ "java.math.Big-
Decimal", 100 ]}

enforced_seq Enforced SEQ. Pos- integer No


sible values:
• 100 - Suggested
• 200 - Enforced
• 300 - Enforced with
successful comple-
tion
REST API Reference | Learning | 986

Name Description Sample Value Data Type Required?

microLearning The micro learning false boolean No


flag for identifying
formal Learning Con-
tent as Micro. Accepts
true or false.

audienceTypes Audience Types string No


"audience►
Types":[
"list",
[
{

"@type":"Servi►
ceObjectRefer►
ence",

"d
i ":aude
i 000000000001021",

"display►
Name":"aud_1"
},
{

"@type":"Servi►
ceObjectRefer►
ence",

d
"i ":aude
i 000000000001022",

"display►
Name":"aud_2"
}
]
]

Request Body

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"description": "desc",
"duration": 0,
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"avail_from": {
"@type": "date",
"time": "2013-11-27"
},
REST API Reference | Learning | 987

"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006773",
"displayName": "test"
},
"disp_for_web": true,
"disp_for_call_center": true,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"vendor_id": null,
"manufacturer_id": null,
"learningAssignments": null,
"location_id": null,
"facility_id": null,
"start_date": null,
"endDate": null,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"skip_days_map": "",
"name": "test",
"baseDeliveryType": "200",
"customFields": {
"@type": "map",
"custom0": "2013-11-27T00:00:00",
"custom1": 123,
"custom2": 333
},
"microLearning": false,
"price": {
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": "USD"
},
"amount": [
"java.math.BigDecimal",
100
]},
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
"displayName":"aud_2"
}
]
]
}

The lookup support is now available for this REST API.


REST API Reference | Learning | 988

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Csr_id Customer Service Represent- Person, Internal


ative

audienceType Audience Type / Audience Sub Audience Type


Type

Delivery_id Delivery Type Category Definition

Language_id / Language Language Language

Location_id / Location Location Location

Facility_id / Facility Facility Facility

Session_template Session Template Session Template

Manufacturer_id Manufacturer Organization, External

GET ALL OFFERINGS OF INSTRUCTOR

Overview
Returns the details of all the offerings of an instructor based on the employee's ID passed
as the parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/offering/instructor/:instructorId
?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 289: Calling Options

Name Description Sample Value Data Type Required?

instructorId Instructor's ID em- string Yes


plo000000000200080
REST API Reference | Learning | 989

Name Description Sample Value Data Type Required?

criteria_field future_ses- string No


sion%3D%3Dfalse,
class_type%3D%3Din-
structor_led,
status%3D%3D100
REST API Reference | Learning | 990

Name Description Sample Value Data Type Required?

The search criteria i.e.


the field name.
The following fields
can be used as the
search criteria:
• future_session:
true, false
Example:
future_session
%3D%3Dtrue
Note: Default
value is true. If this
field is passed as
true then only the
future classes of
instructor will be
returned otherwise
all the classes are
returned.
• class_type: blen-
ded, virtual_
classroom, instruct-
or_led, all
Example:
class_type
%3D%3D instruct-
or_led
• status: 100, 200,
300, 400, 401, 500
Example:
status %3D%3D 100
Status Description
100 - Open – Nor-
mal
200 - Delivered –
Normal
300 - Billed – Nor-
mal
400 - Archived –
Normal
401 - Archived –
Cancelled
500 - Cancelled -
Normal
REST API Reference | Learning | 991

Name Description Sample Value Data Type Required?

Note: You can also


search for a class us-
ing course_no.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for string No


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "class000000000201583",
"displayName": "Audience Type Price",
"href": "https:///<hostname-api.sabacloud.com>/v1/offering/class000000000201583"
},
{
"id": "class000000000201743",
"displayName": "SWYW2",
"href": "https:///<hostname-api.sabacloud.com>/v1/offering/class000000000201743"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 2,
"itemsPerPage": 10
}

Examples
To get all the offerings of the instructor:
https://<hostname-api.sabacloud.com>/v1/offering/instructor/persn000000000001002
REST API Reference | Learning | 992

Return Values:

{
"facets": [],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"id": "class000000000201583",
"displayName": "Audience Type Price",
"href": "http://<hostname-api.sabacloud.com>/v1/offering/class000000000201583"
}
]
}

To get all the offerings of the instructor (query paramters included):


https://<hostname-api.sabacloud.com>/v1/offering/instructor/persn000000000001002?q=(class_type%3D%3Dinstructor_led,
future_session%3D%3Dtrue,status%3D%3D100)&count=10&startPage=1
Return Values:

{
"facets": [],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"id": "class000000000201583",
"displayName": "Audience Type Price",
"href": "http://<hostname-api.sabacloud.com>/v1//offering/class000000000201583"
}
]
}

To get all the offerings of the instructor (query paramters included and includeDetails as
true):
https://<hostname-api.sabacloud.com>/v1/offering/instructor/persn000000000001002?q=(class_type%3D%3Dinstructor_led,
future_session%3D%3Dtrue,status%3D%3D100)&includeDetails=true
Return Values:

{
"facets": [],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"enforced_seq": "SUGGESTED",
"location_id": {
"id": "locat000000000001000",
"displayName": "Location1"
},
"parent": null,
"duration": 480,
"status": 100,
REST API Reference | Learning | 993

"stud_book": 0,
"end_date": "2016-12-05T00:00:00.000+0530",
"start_date": "2016-12-05T05:00:00.000+0530",
"max_ct": 10,
"delivery_id": {
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"vendor_id": null,
"facility_id": null,
"csr_id": null,
"min_ct": 1,
"training_units": 0,
"session_template": "Monday (8 hrs.)",
"open_enroll": null,
"stop_auto_promotion": null,
"open_enroll_for_all": null,
"enroll_close": null,
"offering_temp_id": {
"id": "cours000000000202167",
"displayName": "Audience Type Price"
},
"do_not_drop_post": null,
"post_order": null,
"max_book": 1,
"broadcast": false,
"post_completion": null,
"stud_ct": 3,
"rescheduled": true,
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"description": "",
"class_no": "DUP-CLASS-ID-TEST",
"disp_for_web": true,
"has_community": false,
"disp_for_call_center": true,
"group_id": null,
"customValues": {
"custom0": null,
"excustom2": null,
"excustom1": null,
"custom10": null,
"custom9": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "class000000000201583"
}
]
}
REST API Reference | Learning | 994

RETRIEVE ALL LEARNING ASSIGNMENTS OF A CLASS

Overview
Retrieves all the learning assignments of a class.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/offering/:offeringId/learningassignment

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>/learningassignment
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 290: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

Return Values

[
"list",
[
{
"@type": "com.saba.learning.services.offering.LearningAssignmentDetail",
"id": "cocnt000000000004566",
"owner": {
"@type": "ServiceObjectReference",
"id": "dowbt000000000013448",
"displayName": null
},
"version": 0,
"endTime": null,
"startTime": null,
"contentFormat": 99999,
"required": true,
"disabled": false,
REST API Reference | Learning | 995

"sequence": 0,
"parentHolderId": null,
"masteryScore": null,
"maxAttempts": 0,
"pin": null,
"expireInDays": null,
"resourceFlag": 0,
"draft": true,
"title": "Automation Kites",
"assignment": {
"@type": "ServiceObjectReference",
"id": "cninv000000000005790",
"displayName": null
},
"endDate": null,
"startDate": null,
"expirationDateTime": null,
"evaluation": false,
"subscriptionId": null,
"assignmentType": 0,
"scoring": "0",
"noOfDays": 0,
"nodeId": "lnode000000000003682",
"completionCriteria": "0",
"signOffRequired": false,
"eventInfoDetail": null,
"checklistEvaluator": null
}
]
]
"@type": "com.saba.learning.services.registration.OrderResult",
"orderId": "intor000000000207985",
"warnings": null,
"errors": [
"list",
[
{
"@type": "com.saba.learning.services.registration.OrderErrorWarning",
"errType": 0,
"prereqHolders": [
"list",
[]
],
"learnerId": "emplo000000000200493",
"offeringId": "dowbt000000000001586",
"errWarnObj": {
"@type": "ServiceObjectReference",
"id": "41056",
"displayName": " Already registered for this class."
},
"packageId": null
}
]
],
"orderDetail": null,
"skucartItem": null
}

Note: The value in assignmentType indicate the following:


• 0 - Session (ILT & VC class session)
• 200 - Task
REST API Reference | Learning | 996

• 800 - Checklist
• 100 - Training Content
• 400 - Virtual Session in Blended Class
• 300 - Normal Session in blended class

ADD LEARNING ASSIGNMENTS TO A CLASS

Overview
Adds learning assignments to a class.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/offering/:offeringId/learningassignment

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>/learningassignment
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 291: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

learningAssign- Details of the learning string Yes


ments assignment

Request Body

[
"list", [{
"@type": "com.saba.learning.services.offering.LearningAssignmentDetail",

"owner": {
"@type": "ServiceObjectReference",
"id": "dowbt000000000002404",
REST API Reference | Learning | 997

"displayName": null
},
"version": 0,
"endTime": null,
"startTime": null,
"required": true,
"expirationDateTime": null,
"subscriptionId": null,
"endDate": null,
"startDate": null,
"disabled": false,
"sequence": 0,
"draft": true,
"title": "This is test task",
"assignment": {
"@type": "ServiceObjectReference",
"id": "taskd000000000001022",
"displayName": null
},
"masteryScore": null,
"maxAttempts": 0,
"pin": null,
"expireInDays": null,
"resourceFlag": 0,
"scoring": "0",
"completionCriteria": "0",
"signOffRequired": false,
"eventInfoDetail": null,
"checklistEvaluator": null,
"assignmentType": 200,
"evaluation": false,
"contentFormat": 99999,
"parentHolderId": null,
"nodeId": "lnode000000000003881",
"noOfDays": 0
}]
]

Note: The "completionCriteria" value should be "0" for non-scoring content and "1" for scoring
content.

Return Values

[
"list",
[
{
"@type": "com.saba.content.content.ContentHolder",
"id": "cocnt000000000004626",
"displayName": null
}
]
]

UPDATE LEARNING ASSIGNMENTS OF A CLASS

Overview
Updates learning assignments of a class.
REST API Reference | Learning | 998

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/offering/:offeringId/learningassignment

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/offering/<offeringType>/<offeringNumber>/learningassignment
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.
We strongly recommend using "assignment" to uniquely identify an offering-assignment,
since this is static and unique. For backward compatibility, this API supports "id" (content
context ID) as well. The "id" value is not static and can potentially change with each PUT call.
Providing either assignment and assignmentType or id is mandatory for this API. In case
you do not pass the assignment ID in the input JSON, this API will use id.

Calling Options
Table 292: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

learningAssign- Details of the learning string Yes


ments assignment

Request Body

[
"list", [{
"@type": "com.saba.learning.services.offering.LearningAssignmentDetail",
"id": "cocnt000000000004626",
"owner": {
"@type": "ServiceObjectReference",
"id": "dowbt000000000002404",
"displayName": null
},
"version": 0,
"endTime": null,
"startTime": null,
"required": true,
"expirationDateTime": null,
"subscriptionId": null,
REST API Reference | Learning | 999

"endDate": null,
"startDate": null,
"disabled": false,
"sequence": 0,
"draft": true,
"title": "This is test task",
"assignment": {
"@type": "ServiceObjectReference",
"id": "taskd000000000001022",
"displayName": null
},
"masteryScore": null,
"maxAttempts": 0,
"pin": null,
"expireInDays": null,
"resourceFlag": 0,
"scoring": "0",
"completionCriteria": "0",
"signOffRequired": false,
"eventInfoDetail": null,
"checklistEvaluator": null,
"assignmentType": 200,
"evaluation": false,
"contentFormat": 99999,
"parentHolderId": null,
"nodeId": "lnode000000000003881",
"noOfDays": 0
}]
]

Note: The "completionCriteria" value should be "0" for non-scoring content and "1" for scoring
content.

Return Values

[
"list",
[
{
"@type": "com.saba.content.content.ContentHolder",
"id": "cocnt000000000004626",
"displayName": null
}
]
]

PUBLISH LEARNING ASSIGNMENTS

Overview
After adding and updating learning assignments we need to publish the changes to make
them available to the end user. This API publishes the learning assignments.

Requires OAuth
No
REST API Reference | Learning | 1000

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/offering/publishassignment

Calling Options
Table 293: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.learn- string Yes


ing.services.offer-
ing
.LearningAssign-
mentPushDetail

owner Class's ID class000000000201503 string Yes

pushType Push type decides ALL enumerated


which registration
should impact with
this publish activity:
[ "ALL",
"NEW_REGISTRA-
TIONS",
"NEW_AND_INPRO-
GRESS_REGISTRA-
TIONS",
"NEW_COMPLETED" ]

optionalElement- Optional elements to 0 string Yes


sToComplete complete

sequenceType Options for sequence string Yes


type:
[ "SUGGESTED", "EN-
FORCEDFORANYS-
TATUS", "ENFORCED-
FORCOMPLETION-
STATUS" ]

auditReason Audit Reason Publish assign- string No


ments
REST API Reference | Learning | 1001

Request Body

{
"ownerReference":null,
"reason":null,
"@type":"com.saba.learning.services.offering.LearningAssignmentPushDetail",
"owner":"dowbt000000000024715",
"pushType":"ALL",
"optionalElementsToComplete":0,
"asynch":true,
"sequenceType":"SUGGESTED",
"auditReason":"Publish assignments"
}

MARK CLASS AS DELIVERED/CANCELLED

Overview
Marks the class as Delivered/Cancelled.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/offering/:offeringId/action

Calling Options
Table 294: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

@type @type com.saba.learn- string Yes


ing.services.offer-
ing.
DeliveryStatusDe-
tail

actionName Action: Delivered or Delivered string Yes


Cancelled
REST API Reference | Learning | 1002

Name Description Sample Value Data Type Required?

deliveryDate DeliveryDate for Ac- object No


tion Delivered {

"@type":"date",
"time":"2013-
11-15"
}

doCreateOfferin- Whether to create false boolean Yes


gRequest new offering or not

auditReason Audit Reason Reason string No

Request Body (Mark class as Delivered)

{
"@type" : "com.saba.learning.services.offering.DeliveryStatusDetail",
"actionName":"Delivered",
"deliveryDate": {"@type":"date", "time":"2013-11-15"},
"doCreateOfferingRequest":false,
"auditReason":"Class already delivered"
}

Request Body (Mark class as Cancelled)

{
"@type" : "com.saba.learning.services.offering.DeliveryStatusDetail",
"actionName":"Cancelled",
"doCreateOfferingRequest":false,
"auditReason":"Class not required"
}

Return Values

{
"@type": "com.saba.learning.services.offering.OfferingDetail",
"startDateInUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533871800000,
"locale":"08/10/2018",
"timeInLocale":"9:00 AM",
"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"9:00 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:00 AM",
"dateInStandardFormat":"08/10/2018"
},
"endDateinUserTimezone":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1533900600000,
"locale":"08/10/2018",
"timeInLocale":"5:00 PM",
REST API Reference | Learning | 1003

"dateInUserTimeZone":"08/10/2018",
"timeInUserTimeZone":"5:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"5:00 PM",
"dateInStandardFormat":"08/10/2018"
},
"name": "AutomationCourse1",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000200040",
"displayName": "Bombay"
},
"resources": [
"list",
[]
],
"actions": null,
"id": "class000000000200300",
"description": "",
"duration": 0,
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
10
],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amountString": "10 USD"
},
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
REST API Reference | Learning | 1004

"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
REST API Reference | Learning | 1005

{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
}
{
"@type": "CustomAttributeValueDetail",
"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
}
]
],
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1113762600000,
"locale": "18.04.2005",
"dateInUserTimeZone": "17.04.2005",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/18/2005",
"timeInLocale": "12:00 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1113762600000,
REST API Reference | Learning | 1006

"locale": "18.04.2005",
"dateInUserTimeZone": "17.04.2005",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/18/2005",
"timeInLocale": "12:00 AM"
},
"status": "Cancelled - Normal",
"session_template": "Monday (8 hrs.)",
"disp_for_call_center": true,
"open_enroll_for_all": null,
"post_completion": null,
"stop_auto_promotion": null,
"do_not_drop_post": null,
"manufacturer_id": null,
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000200280",
"displayName": "AutomationCourse1"
},
"creditsCollection": null,
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000200040",
"displayName": "Bombay"
},
"max_ct": 10,
"max_book": 5,
"min_ct": 0,
"csr_id": null,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"enroll_close": null,
"post_order": null,
"vleInfo": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1113762600000,
"locale": "18.04.2005",
"dateInUserTimeZone": "17.04.2005",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
REST API Reference | Learning | 1007

"dateInStandardFormat": "04/18/2005",
"timeInLocale": "12:00 AM"
},
"avail_from": null,
"disc_from": null,
"skip_days_map": "0000000",
"has_community": false,
"wbt_no": "00200340",
"enforced_seq": "100",
"facility": null,
"trainingUnits": null,
"abstract": "",
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"attachments": [
"list",
[]
],
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000042",
"displayName": "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"organization": null,
"eeoMandatory": null,
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"email": "",
"fax": "",
"primaryPhone": "",
"secondaryPhone": ""
},
"locationName": "Bombay",
"locationId": "00200040",
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"state": "",
"country": "India",
"zipCode": "",
"city": "",
"addressLine2": "",
"addressLine3": null,
"addressLine1": ""
},
"locationContact": null
},
"audienceTypes": [
"list",
[]
],
"cpf": false,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"availableSeats": 10,
"offeringPriceDisplay": "10 USD",
"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
10
REST API Reference | Learning | 1008

],
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amountString": "10 USD"
}
},
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"groupAssociatedWithCourse": null,
"componentName": "ComponentName",
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000200280",
"displayName": "AutomationCourse1"
},
"availableSeats": 10,
"sessionTemplate": "Monday (8 hrs.)",
"offeringNumber": "00200340",
"consumeWithinCert": false,
"class_no": "00200340",
"customFieldsValue": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
REST API Reference | Learning | 1009

"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
REST API Reference | Learning | 1010

},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
}
{
"@type": "CustomAttributeValueDetail",
"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
}
]
],
"baseDeliveryType": 100,
"customFields": {
"@type": "map",
"custom0": null,
"excustom2": null,
"excustom1": null,
"custom10": null,
"custom9": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"publishStatus": null,
"group_id": null,
"endDateI18n": "18.04.2005",
"startDateI18n": "18.04.2005",
"courseVersion": null,
"cpfMins": 0,
"calendarExportURL": null,
"priceDisplayString": "10 USD",
REST API Reference | Learning | 1011

"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 35.0 % if dropped between 03.04.2005 and
11.04.2005.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"daysFrom": 7,
"daysTo": 15,
"charge": 35,
"chargeType": 1,
"timeEntryId": ""
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 47.0 % if dropped between 12.04.2005 and
18.04.2005.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"daysFrom": 0,
"daysTo": 6,
"charge": 47,
"chargeType": 1,
"timeEntryId": ""
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 10.0 % for all other days.",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"daysFrom": -99999,
"daysTo": 99999,
"charge": 10,
"chargeType": 1,
"timeEntryId": ""
}
]
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"durationString": "00:00",
"offering_temp_no": null,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": 500,
"suppressScoreForOT": false,
"inheritedTrainingUnits": null,
"publishStatusMessage": null,
REST API Reference | Learning | 1012

"publishEndDate": null,
"publishStartDate": null
}

CANCEL ALL ENROLLMENTS OF A CLASS

Overview
Cancels all the enrollments of a class.

Requires OAuth
No

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/offering/:classId/enrollments?action=:action&applyCharge=:applyCharge
Example:
http://<hostname-api.sabacloud.com>/v1/offering/class000000000201769/enrollments?action=cancel&applyCharge=true

Calling Options
Table 295: Calling Options

Name Description Sample Value Data Type Required?

classId Class's ID whose enroll- class000000000201503 string Yes


ments will be can-
celled

action Action for the enroll- cancel string Yes


ments

applyCharge Whether to apply true boolean No


charge or not

RETRIEVE ALL SESSIONS OF AN OFFERING

Overview
Retrieves all the sessions of an offering.

Requires OAuth
No
REST API Reference | Learning | 1013

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/offering/:offeringId/session

Calling Options
Table 296: Calling Options

Name Description Sample Value Data Type Required?

offeringId ID of the Scheduled class000000000201503 string Yes


Offering

Return Values

{
"@type": "com.saba.learning.services.offering.OfferingScheduleDetail",
"exportURL": null,
"userTimezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"defaultView": 1,
"sessionsInLocationTimezone": [
"list",
[
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002084",
"duration": 480,
"endTime": "5:00 PM",
"startTime": "9:00 AM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1082658600000,
"locale": "23.04.2004",
"dateInUserTimeZone": "22.04.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/23/2004",
"timeInLocale": "12:00 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1082658600000,
"locale": "23.04.2004",
"dateInUserTimeZone": "22.04.2004",
REST API Reference | Learning | 1014

"timeInUserTimeZone": "11:30 AM",


"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/23/2004",
"timeInLocale": "12:00 AM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "1"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002085",
"duration": 480,
"endTime": "5:00 PM",
"startTime": "9:00 AM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083263400000,
"locale": "30.04.2004",
"dateInUserTimeZone": "29.04.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/30/2004",
"timeInLocale": "12:00 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083263400000,
"locale": "30.04.2004",
"dateInUserTimeZone": "29.04.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/30/2004",
"timeInLocale": "12:00 AM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "2"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
REST API Reference | Learning | 1015

"list",
[]
],
"actions": null,
"id": "timel000000000002086",
"duration": 480,
"endTime": "5:00 PM",
"startTime": "9:00 AM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083868200000,
"locale": "07.05.2004",
"dateInUserTimeZone": "06.05.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "05/07/2004",
"timeInLocale": "12:00 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083868200000,
"locale": "07.05.2004",
"dateInUserTimeZone": "06.05.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "05/07/2004",
"timeInLocale": "12:00 AM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "3"
}
]
],
"sessionsInUserTimezone": [
"list",
[
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002084",
"duration": 209,
"endTime": "11:59 PM",
"startTime": "8:30 PM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1082658599000,
"locale": "22.04.2004",
"dateInUserTimeZone": "22.04.2004",
REST API Reference | Learning | 1016

"timeInUserTimeZone": "11:29 AM",


"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "11:59 PM",
"dateInStandardFormat": "04/22/2004",
"timeInLocale": "11:59 PM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1082646000000,
"locale": "22.04.2004",
"dateInUserTimeZone": "22.04.2004",
"timeInUserTimeZone": "8:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "8:30 PM",
"dateInStandardFormat": "04/22/2004",
"timeInLocale": "8:30 PM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "1"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002084",
"duration": 270,
"endTime": "4:30 AM",
"startTime": "12:00 AM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1082674800000,
"locale": "23.04.2004",
"dateInUserTimeZone": "22.04.2004",
"timeInUserTimeZone": "4:00 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "4:30 AM",
"dateInStandardFormat": "04/23/2004",
"timeInLocale": "4:30 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1082658600000,
"locale": "23.04.2004",
"dateInUserTimeZone": "22.04.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
REST API Reference | Learning | 1017

"dateInStandardFormat": "04/23/2004",
"timeInLocale": "12:00 AM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "2"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002085",
"duration": 209,
"endTime": "11:59 PM",
"startTime": "8:30 PM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083263399000,
"locale": "29.04.2004",
"dateInUserTimeZone": "29.04.2004",
"timeInUserTimeZone": "11:29 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "11:59 PM",
"dateInStandardFormat": "04/29/2004",
"timeInLocale": "11:59 PM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083250800000,
"locale": "29.04.2004",
"dateInUserTimeZone": "29.04.2004",
"timeInUserTimeZone": "8:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "8:30 PM",
"dateInStandardFormat": "04/29/2004",
"timeInLocale": "8:30 PM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "3"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002085",
REST API Reference | Learning | 1018

"duration": 270,
"endTime": "4:30 AM",
"startTime": "12:00 AM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083279600000,
"locale": "30.04.2004",
"dateInUserTimeZone": "29.04.2004",
"timeInUserTimeZone": "4:00 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "4:30 AM",
"dateInStandardFormat": "04/30/2004",
"timeInLocale": "4:30 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083263400000,
"locale": "30.04.2004",
"dateInUserTimeZone": "29.04.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "04/30/2004",
"timeInLocale": "12:00 AM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "4"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002086",
"duration": 209,
"endTime": "11:59 PM",
"startTime": "8:30 PM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083868199000,
"locale": "06.05.2004",
"dateInUserTimeZone": "06.05.2004",
"timeInUserTimeZone": "11:29 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "11:59 PM",
"dateInStandardFormat": "05/06/2004",
"timeInLocale": "11:59 PM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
REST API Reference | Learning | 1019

"date": 1083855600000,
"locale": "06.05.2004",
"dateInUserTimeZone": "06.05.2004",
"timeInUserTimeZone": "8:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "8:30 PM",
"dateInStandardFormat": "05/06/2004",
"timeInLocale": "8:30 PM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "5"
},
{
"@type": "com.saba.learning.services.common.SessionDetail",
"resources": [
"list",
[]
],
"actions": null,
"id": "timel000000000002086",
"duration": 270,
"endTime": "4:30 AM",
"startTime": "12:00 AM",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083884400000,
"locale": "07.05.2004",
"dateInUserTimeZone": "06.05.2004",
"timeInUserTimeZone": "4:00 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "4:30 AM",
"dateInStandardFormat": "05/07/2004",
"timeInLocale": "4:30 AM"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1083868200000,
"locale": "07.05.2004",
"dateInUserTimeZone": "06.05.2004",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "05/07/2004",
"timeInLocale": "12:00 AM"
},
"exportURL": null,
"vleEventId": null,
"vleExtId": null,
"vleProvId": null,
"launchUrl": null,
"sessionName": "6"
}
REST API Reference | Learning | 1020

]
],
"locationTimezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000042",
"displayName": "Event Location(Bombay) Time Zone - (GMT+05:30) Chennai, Kolkata,
Mumbai, New Delhi"
}
}
"list",
[
{
"@type": "com.saba.learning.services.offering.LearningAssignmentDetail",
"id": "cocnt000000000004566",
"owner": {
"@type": "ServiceObjectReference",
"id": "dowbt000000000013448",
"displayName": null
},
"version": 0,
"endTime": null,
"startTime": null,
"contentFormat": 99999,
"required": true,
"disabled": false,
"sequence": 0,
"parentHolderId": null,
"masteryScore": null,
"maxAttempts": 0,
"pin": null,
"expireInDays": null,
"resourceFlag": 0,
"draft": true,
"title": "Automation Kites",
"assignment": {
"@type": "ServiceObjectReference",
"id": "cninv000000000005790",
"displayName": null
},
"endDate": null,
"startDate": null,
"expirationDateTime": null,
"evaluation": false,
"subscriptionId": null,
"assignmentType": 0,
"scoring": "0",
"noOfDays": 0,
"nodeId": "lnode000000000003682",
"completionCriteria": "0",
"signOffRequired": false,
"eventInfoDetail": null,
"checklistEvaluator": null
}
]
]
"@type": "com.saba.learning.services.registration.OrderResult",
"orderId": "intor000000000207985",
"warnings": null,
"errors": [
"list",
[
{
REST API Reference | Learning | 1021

"@type": "com.saba.learning.services.registration.OrderErrorWarning",
"errType": 0,
"prereqHolders": [
"list",
[]
],
"learnerId": "emplo000000000200493",
"offeringId": "dowbt000000000001586",
"errWarnObj": {
"@type": "ServiceObjectReference",
"id": "41056",
"displayName": " Already registered for this class."
},
"packageId": null
}
]
],
"orderDetail": null,
"skucartItem": null
}

MARK CLASS REGISTRATION AS NO_SHOW/WALK_IN

Overview
Marks the class registration as No_Show/Walk_In.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/offering/:offeringId/roster/action

Calling Options
Table 297: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

@type @type com.saba.learn- string Yes


ing.services.regis-
tration
.BulkRegistration-
StatusChange
REST API Reference | Learning | 1022

Name Description Sample Value Data Type Required?

registrationIds Registration's ID object Yes


[\"list\",[\"reg►
dw000000000005961\"

,\"reg►
dw000000000005962\"]]

status Status - Can be one of NO_SHOW enumerated Yes


the following:
NO_SHOW
WALK_IN

reason Reason string No

Request Body (Mark class registration as NO_SHOW)

{
"@type":"com.saba.learning.services.registration.BulkRegistrationStatusChange",
"registrationIds":["list",["regdw000000000006062"] ],
"status":"NO_SHOW",
"reason":"Ok"
}

Request Body (Mark class registration as WALK_IN)

{
"@type":"com.saba.learning.services.registration.BulkRegistrationStatusChange",
"registrationIds":["list",["regdw000000000006062"] ],
"status":"WALK_IN",
"reason":"Ok"

ADD DROP POLICY TO CLASS

Overview
Adds drop policy to class.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/offering/:offeringId/droppolicy
REST API Reference | Learning | 1023

Calling Options
Table 298: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

@type @type com.saba.learn- string Yes


ing.services.cata-
log.DropPolicyDe-
tail

currency Specify currency ref- {\"@type\": \"Servi- object Yes


erence ceObjectRefer-
ence\", \"id\":
\"crncy000000000000167\"}

daysFrom Enter day from which string Yes


policy needs to be ap-
plied

charge Enter charge amount 50 integer Yes

chargeType Enter 0 for flat charge 1 integer Yes


and 1 for percentage
charge

Request Body

{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001"
},
"daysFrom": 1,
"charge": 95,
"chargeType": 1
}

DELETE DROP POLICY FROM CLASS

Overview
Deletes drop policy from class.

Requires OAuth
No

Method
DELETE
REST API Reference | Learning | 1024

URL
https://<hostname-api.sabacloud.com>/v1/learning/offering/:offeringId/droppolicy/:policyId

Calling Options
Table 299: Calling Options

Name Description Sample Value Data Type Required?

offeringId Class's ID class000000000201503 string Yes

policyId ID of the drop policy string Yes


to be deleted

UPDATE LOCALE-SPECIFIC DETAILS OF BLENDED CLASS

Overview
Update locale-specific attributes of blended class.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/offering/blend000000000001101/locale

Calling Options
Table 300: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- offering string Yes


dated

instanceId Instance id of compon- blend000000000001101 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
"de_DE"}

description Blended class descrip- description string No


tion
REST API Reference | Learning | 1025

Name Description Default Value Data Type Required?

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"description":"desc1",
"customValues":{
"custom0": "custom 00 ",
"custom1": "custom 01"
}
}
]}

UPDATE LOCALE-SPECIFIC DETAILS OF ILT CLASS

Overview
Update locale-specific attributes of ILT class.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 1026

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale

Calling Options
Table 301: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- offering string Yes


dated

instanceId Instance id of compon- ilt000000000001042 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
"de_DE"}

description ILT class description description string No

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"description":"desc1",
"customValues":{
"custom0": "custom 00 ",
"custom1": "custom 01"
}
REST API Reference | Learning | 1027

}
]}

UPDATE LOCALE-SPECIFIC DETAILS OF VIRTUAL CLASS

Overview
Update locale-specific attributes of virtual class.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/offering/virtc000000000001060/locale

Calling Options
Table 302: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- offering string Yes


dated

instanceId Instance id of compon- virtc000000000001060 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
"de_DE"}

description Virtual class descrip- description string No


tion
REST API Reference | Learning | 1028

Name Description Default Value Data Type Required?

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"description":"desc1",
"customValues":{
"custom0": "custom 00 ",
"custom1": "custom 01"
}
}
]}

UPDATE LOCALE-SPECIFIC DETAILS OF WBT OFFERING

Overview
Update locale-specific attributes of wbt offering.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 1029

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale

Calling Options
Table 303: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- offering string Yes


dated

instanceId Instance id of compon- class000000000001042 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
"de_DE"}

description WBT description description string No

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"description":"desc1",
"customValues":{
"custom0": "custom 00 ",
"custom1": "custom 01"
}
REST API Reference | Learning | 1030

}
]}

Certification
REST endpoints for the learning data.
The deeplinks that the web services return will be based on the URL of the default (SabaCloud)
microsite. For example:

https://<hostname>.sabacloud.com/Saba/Web_spf/ATHDB1/common/learningeventdetail/crtfy000000000200180

GET DETAILS OF A CERTIFICATION

Overview
Returns the details of a certification.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/certification/:certId

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Certification's
ID.
https://<hostname-api.sabacloud.com>/v1/certification/name%3D<CertificationName>
Note: If there are multiple records for the name, the following error message will indicate
the same:
(120592) More than 1 record found for provided value 'SomeCertificate'
Note: Use includeassociation=true as a query param to get a list of objects associated with
an object.
REST API Reference | Learning | 1031

Calling Options
Table 304: Calling Options

Name Description Sample Value Data Type Required?

certId Certification's ID crt- string Yes


fy000000000004464

Return Values

{
"updated_on": "2016-02-02T00:00:00.000-0500",
"created_by": "superuser",
"updated_by": "UONE",
"created_on": "2014-10-27T05:06:41.000-0400",
"keywords": [
{
"id": "kywrd000000000006265",
"displayName": "skill"
},
{
"id": "kywrd000000000006263",
"displayName": "course_keyword"
},
{
"id": "kywrd000000000006264",
"displayName": "k100"
},
{
"id": "kywrd000000000006266",
"displayName": "java"
}
],
"reAssignedTargetDays": 0,
"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/ATHDB1/common/learningeventdetail/crtfy000000000004464"

],
"past_credit_days": null,
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"parent": null,
"description": "description updateddasdas",
"name": "!000111cert_content",
"paths": [
{
"learningModules": [
{
"is_reqd": true,
"learningInterventions": [
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000017197",
"displayName": "course_con1"
},
"is_waiver": false,
"sequence": 1,
REST API Reference | Learning | 1032

"id": "edupl000000000006512"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000017198",
"displayName": "course_con2"
},
"is_waiver": false,
"sequence": 2,
"id": "edupl000000000006513"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000037404",
"displayName": "Test for eq"
},
"is_waiver": false,
"sequence": 3,
"id": "edupl000000000011680"
}
],
"notes": null,
"reqd_no_of_items": 2,
"is_waiver": true,
"track_id": null,
"sequence": 1,
"name": "!000111cert_content_p1_m1",
"id": "cegrp000000000004930"
}
],
"isrecertification_track": false,
"is_default_path": true,
"is_path_recalculation_done": false,
"name": "!000111cert_content_p123",
"id": "track000000000004850"
}
],
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"featured": false,
"valid_till": null,
"notify_before": null,
"vendor_id": null,
"avl_from": "2014-10-27T00:00:00.000-0400",
"disc_from": null,
"createGroupPolicyVal": true,
"target_days": 0,
"learningevent_id": "00012706",
"version": null,
"group": {
"id": "teams000000000010877",
"displayName": "!000111cert_content"
},
"status": "INEFFECT",
"customValues": {
"custom9": null,
"ExCustom4": null,
REST API Reference | Learning | 1033

"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000059758",
"displayName": "Domain_IndiaQE"
},
"id": "crtfy000000000004464",
"expiryType": "duration",
"locale": {
"id": "local000000000000001",
"displayName": null
},
"recertifyDays": 0,
"OneClickRegistration": false,
"auto_launch": false,
"expiresOnDay": "01",
"expiresOnMonth": "01",
"expiresOnFrequency": 2,
"nextExpiryStartsOnDay": "02",
"nextExpiryStartsOnMonth": "02",
"isExpiresInMonths": false,
"associations": {
"owner": [
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427"
}
],
"evaluation": [
{
"expiresIn": "No Expiration",
"evaluationType": "Learner",
"evaluationSchedule": "Immediately on completion",
"expiresInXDays": 0,
"activEvaluation": "Yes",
"id": "cocnt000000000024958",
"evaluationStatusValue": 0,
"evaluationStatus": "Published",
"evaluationVersion": "1"
}
],
"attachment": [
{
"private": false,
"attachmentType": "url",
"name": "Attachment1",
"id": "notdc000000000765283",
"doc_type": ".url",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://www.saba.com",
"content": "'https://www.saba.com'"
REST API Reference | Learning | 1034

}
],
"certification_template": [
{
"displayName": "Certification of Completion For Courses",
"id": "crttp000000000001340"
}
],
"audienceType": [
{
"displayName": "Guest",
"id": "audie000000000000003"
}
],
"keyword": [
{
"displayName": "keyword2",
"id": "kywrd000000000201664"
}
],
"category": [
{
"displayName": "Devices",
"id": "categ000000000004381"
}
]
}
}

Note: The following attributes are only available when the value of 'expiryType' is 'dayOfMonth'.
This is only available for certification:
• expiresOnDay
• expiresOnMonth
• expiresOnFrequency
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth

{
"parent": null,
"created_on": "2016-07-22T17:27:32.000+0530",
"updated_by": "uone",
"updated_on": "2016-07-22T17:27:49.000+0530",
"created_by": "uone",
"keywords": [],
"validtill_type": 1,
"reAssignedTargetDays": 12,
"past_credit_days": 12,
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"deepLinkUrls": [

"http://dqathdb1.sabacloud.com/Saba/Web_spf/ATHDB1/Social/common/learningeventdetail/crtfy000000000200873"

],
"name": "testCertification_U361",
"description": "testCertification_U361",
"paths": [
{
"name": "Test1_Path1",
"learningModules": [
{
REST API Reference | Learning | 1035

"name": "test_Module_test",
"notes": "test_Module_test",
"sequence": 1,
"track_id": null,
"is_waiver": true,
"is_reqd": true,
"reqd_no_of_items": 1,
"learningInterventions": [
{
"sequence": 1,
"is_waiver": false,
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000200486",
"displayName": "111"
},
"id": "edupl000000000201247"
},
{
"sequence": 2,
"is_waiver": false,
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000200815",
"displayName": "#12#12"
},
"id": "edupl000000000201248"
}
],
"id": "cegrp000000000201045"
}
],
"is_default_path": true,
"isrecertification_track": false,
"is_path_recalculation_done": false,
"id": "track000000000201045"
},
{
"name": "Test1_PathU36",
"learningModules": [
{
"name": "test_Module_test1",
"notes": "test_Module_test1",
"sequence": 1,
"track_id": null,
"is_waiver": true,
"is_reqd": true,
"reqd_no_of_items": 1,
"learningInterventions": [
{
"sequence": 1,
"is_waiver": false,
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000200340",
"displayName": "aaa"
},
"id": "edupl000000000201249"
},
REST API Reference | Learning | 1036

{
"sequence": 2,
"is_waiver": false,
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000202227",
"displayName": "aaaaaa"
},
"id": "edupl000000000201250"
},
{
"sequence": 3,
"is_waiver": false,
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000200744",
"displayName": "aaacou_for_package_with_no_price"
},
"id": "edupl000000000201251"
}
],
"id": "cegrp000000000201046"
}
],
"is_default_path": true,
"isrecertification_track": true,
"is_path_recalculation_done": false,
"id": "track000000000201046"
}
],
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"version": "1.2",
"group": {
"id": "teams000000000001323",
"displayName": "testCertification_U361"
},
"status": "INEFFECT",
"createGroupPolicyVal": true,
"featured": true,
"valid_till": null,
"notify_before": 12,
"vendor_id": null,
"avl_from": "2016-07-22T00:00:00.000+0530",
"disc_from": "2034-08-24T00:00:00.000+0530",
"target_days": 12,
"learningevent_id": "00201101",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
REST API Reference | Learning | 1037

"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "crtfy000000000200873",
"expiresOnMonth": "02",
"nextExpiryStartsOnMonth": "02",
"expiryType": "dayOfMonth",
"expiresOnDay": "04",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"recertifyDays": 12,
"nextExpiryStartsOnDay": "04",
"expiresOnFrequency": 2,
"OneClickRegistration": false,
"auto_launch": false
}

FIND DETAILS OF CERTIFICATION/CURRICULUM

Overview
Returns the details of the Certification/Curriculum along with the ID, Name and the Deeplink
URL based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/:componentName?f=(:display)&q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 305: Calling Options

Name Description Sample Value Data Type Required?

componentName The name of the de- certification enumerated Yes


sired component
(certification or cur-
riculum).
REST API Reference | Learning | 1038

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

display Acceptable values are owners,certifica- string No


(case-sensitive): tion_tem-
plates,audience-
• owners
Types,keywords,cat-
• certification_tem- egories,evalu-
plates ations
• audienceTypes
• keywords
• categories
• evaluations
Note: A limit of 100
records per page will
be applied if you use
any of these display
parameter. Data will
be returned in case of
includeDetails=true as
well as includeDe-
tails=false.

Fields covered under search criteria (criteria_field)

Field name Field description Possible Example


values

certi_name Name of the certification. certi_name%3D%3Dabc


REST API Reference | Learning | 1039

Field name Field description Possible Example


values

certi_tar- Target days of the certification. certi_target_days%3D%3D


get_days

certi_val- Valid till value of the certification. certi_valid_till%3D%3d100


id_till

certi_disc_from Discountinuation date of the cer- certi_disc_from


tification.

certi_avl_from Certification available from date. certi_avl_from

certi_noti- Notify before of the certification. certi_notify_be-


fy_before fore%3d%3d130

certi_cus- Custom 0 field of the certification. certi_custom0%3D%3D


tom0 This%20is%20custom0

certi_cus- Custom 1 field of the certification. certi_custom1%3D%3D


tom1 This%20is%20custom1

certi_cus- Custom 2 field of the certification. certi_custom2%3D%3D


tom2 This%20is%20custom2

certi_cus- Custom 3 field of the certification. certi_custom3%3D%3D


tom3 This%20is%20custom3

certi_cus- Custom 4 field of the certification. certi_custom4%3D%3D


tom4 This%20is%20custom4

certi_cre- Created by field of the certifica- certi_cre-


ated_by tion. ated_by%3D%3Duone

certi_cre- Created on field of the certifica- certi_created_on%3D%3D


ated_on tion. 5/8/2002

certi_up- Updated by field of the certifica- certi_up-


dated_by tion. dated_by%3D%3Duone

certi_up- Updated on field of the certifica- certi_updated_on%3D%3D


dated_on tion. 5/8/2002

certi_status Status of the certification. certi_status%3D%3D100

version Version of the certification. version%3D%3d1.0

certi_descrip- Description of the certification. certi_description%3D%3D


tion descr000000000103641

base_type Distinguishes whether its certific- 0 - Certifica- base_type%3D%3D0


ation. tion
1 - Curriculum
REST API Reference | Learning | 1040

Field name Field description Possible Example


values

audi- Associated Audience type id of audience_type_id%3D%3D


ence_type_id the certification. audie000000000001021

certi_re- Number of days before expiration certi_recert_win-


cert_window after which learner can start re- dow%3D%3D certi_re-
certification work by pursuing a cert_window
recertification path.

certi_past_cred- Number of days before certifica- certi_past_cred-


it_days tion assignment, upto which, sys- it_days%3D%3D1
tem would consider completed
learning element while doing cer-
tification completion check. If this
field is null then window is infinite
i.e. learning elements completed
any time in the past is valid for
this certification. If this field is 0
then system would not look back
i.e. any learning element com-
pleted before certification assign-
ment is not valid for this certifica-
tion.

aud_type_out- Returns all those certification aud_type_out-


er_search which has audience type as a er_search%3D%3D
given value or null. audie000000000001021

gov_owner Owner id of component. gov_owner%3D%3Dem-


plo000000000200100

learningevent_id Id(not internal id) of certification. learningevent_id%3D%3D


200056

name Name of the certification. Name%3D%3Dabc

student_id Learner Id for whom the held student_id%3D%3D em-


certification belongs plo000000000200020

hide_discon- Returns all certification except hide_discontin-


tinued_event those which are discontinued. ued_event%3D%3D
5/8/2002

cat- Parent or own category id associ- category_comppick-


egory_comppick- ated with the certification er%3D%3D
er ddcls000000000001480

cat- Returns full hierarchy of category 0 - No full category_hier-


egory_hier- associated with the certification. hierarchy archy%3D%3D cat-
archy egory_hierarchy
1 - Full hier-
archy

csvinput Name of the certification.


REST API Reference | Learning | 1041

Field name Field description Possible Example


values

category_id If this field is passed all those category_id%3D%3D


certification will be returned categ000000000001125
which has category with given
category id.

cat- If this field is passed all those category_id%3D%3D


egory_name certification will be returned A10008
which has category with given
category name.

at_check Adding this condition peforms an true or false at_check%3D%3Dtrue


Audience Type check and only the
certifications / curricula matching
the Audience Type of the learner
will be returned.
Note: Irrespective of the value of
the at_check query parameter,
the Audience Type check will be
done if it is added in search query.

course_id To fetch certificates and curricula


course_id%3D%3Dcours000000000032026
based on course.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"updated_on": "2016-02-02T00:00:00.000-0500",
"created_by": "superuser",
"updated_by": "UONE",
"created_on": "2014-10-27T05:06:41.000-0400",
"keywords": [
{
"id": "kywrd000000000006265",
"displayName": "skill"
},
{
"id": "kywrd000000000006263",
"displayName": "course_keyword"
},
{
"id": "kywrd000000000006264",
"displayName": "k100"
},
{
"id": "kywrd000000000006266",
"displayName": "java"
}
],
"reAssignedTargetDays": 0,
REST API Reference | Learning | 1042

"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/ATHDB1/common/learningeventdetail/crtfy000000000004464"

],
"past_credit_days": null,
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"parent": null,
"description": "description updateddasdas",
"name": "!000111cert_content",
"paths": [
{
"learningModules": [
{
"is_reqd": true,
"learningInterventions": [
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000017197",
"displayName": "course_con1"
},
"is_waiver": false,
"sequence": 1,
"id": "edupl000000000006512"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000017198",
"displayName": "course_con2"
},
"is_waiver": false,
"sequence": 2,
"id": "edupl000000000006513"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000037404",
"displayName": "Test for eq"
},
"is_waiver": false,
"sequence": 3,
"id": "edupl000000000011680"
}
],
"notes": null,
"reqd_no_of_items": 2,
"is_waiver": true,
"track_id": null,
"sequence": 1,
"name": "!000111cert_content_p1_m1",
"id": "cegrp000000000004930"
}
],
"isrecertification_track": false,
"is_default_path": true,
"is_path_recalculation_done": false,
REST API Reference | Learning | 1043

"name": "!000111cert_content_p123",
"id": "track000000000004850"
}
],
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"featured": false,
"valid_till": null,
"notify_before": null,
"vendor_id": null,
"avl_from": "2014-10-27T00:00:00.000-0400",
"disc_from": null,
"createGroupPolicyVal": true,
"target_days": 0,
"learningevent_id": "00012706",
"version": null,
"group": {
"id": "teams000000000010877",
"displayName": "!000111cert_content"
},
"status": "INEFFECT",
"customValues": {
"custom9": null,
"ExCustom4": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000059758",
"displayName": "Domain_IndiaQE"
},
"id": "crtfy000000000004464",
"expiryType": "duration",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"recertifyDays": 0
}
],
"hasMoreResults": true,
"itemsPerPage": 1,
"totalResults": 1569,
"OneClickRegistration": false,
"auto_launch": false
}

Note: The following attributes are only available when the value of 'expiryType' is 'dayOfMonth'.
This is only available for certification:
• expiresOnDay
• expiresOnMonth
• expiresOnFrequency
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth
REST API Reference | Learning | 1044

Return Values (using display fields)

{
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null
},
"learningevent_id":"200073",
"vendor_id":null,
"notify_before":null,
"valid_till":null,
"createGroupPolicyVal":false,
"paths":[
{
"learningModules":[
{
"track_id":"track000000000200200",
"learningInterventions":[
{
"owner_id":null,
"is_reqd":false,
"sequence":1,
"is_waiver":false,
"part_id":{
"id":"cours000000000200000",
"displayName":"Downloadable Product 1"
},
"id":"edupl000000000201162"
}
],
"name":"module1",
"is_reqd":true,
"notes":null,
"sequence":1,
"is_waiver":true,
"reqd_no_of_items":1,
"id":"cegrp000000000200200"
}
],
"name":"path1",
"disc_from":null,
"is_path_recalculation_done":false,
"isrecertification_track":false,
"is_default_path":true,
"id":"track000000000200200"
}
],
"deepLinkUrls":[

"http://localhost/Saba/Web_spf/Social/common/learningeventdetail/crtfy000000000200180"
REST API Reference | Learning | 1045

],
"keywords":[
{
"id":"kywrd000000000200780",
"displayName":"key1"
},
{
"id":"kywrd000000000200781",
"displayName":"key3"
}
],
"parent":null,
"history_lookup_policy":"CheckHistoryUptoExpiredRevoked",
"past_credit_days":null,
"name":"abc",
"description":"",
"version":null,
"group":null,
"status":"INEFFECT",
"avl_from":"2009-07-10T00:00:00.000+0530",
"featured":false,
"disc_from":null,
"target_days":0,
"id":"crtfy000000000200180",
"created_on":"2009-07-10T03:05:52.000+0530",
"updated_on":"2021-05-20T16:50:01.000+0530",
"created_by":"uone",
"updated_by":"uone",
"grace_period":null,
"reAssignedTargetDays":null,
"OneClickRegistration":false,
"enforce_module_seq":false,
"self_register":true,
"disp_callcenter":true,
"disp_learner":true,
"enforce_target_date":false,
"auto_launch":false,
"enforce_required_course_reg":false,
"associations":{
"owner":[
{
"displayName":"Two User",
"id":"emplo000000000001001"
},
{
"displayName":"Two1 User1",
"id":"emplo000000000001031"
}
],
"evaluation":[

],
"attachment":[
{
"private":false,
"attachmentType":"file",
"name":"certification",
"id":"notdc000000000234615",
"doc_type":"JPEG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
REST API Reference | Learning | 1046

},
"category":"image/jpeg",
"url":null,
"content":"'/Saba/api/component?ssp=pageIsIgnored&doIt

=showAttachment&showbinary=true&attachId=.-.217C2F34FA8A26FD161326986B437788555739

A9A40D1A11A542DBF9956BC1EF-.-&mimeType=image/jpeg&sessId=.-.5C0E2F6B486305400FC69B

B6BD058613CFA53C0385E61DE9B306B24610EE1F6606EBE26BF479A6626ACEE864300E8D55-.-'"

},
{
"private":false,
"attachmentType":"file",
"name":"certificationCUSTOM_RES_280p140",
"id":"notdc000000000234616",
"doc_type":"PNG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/png",
"url":null,
"content":"'/Saba/api/component?ssp=pageIsIgnored&doIt

=showAttachment&showbinary=true&attachId=.-.217C2F34FA8A26FD161326986B4377889B

D93C0A12DA81228A775FE420C69BE2-.-&mimeType=image/png&sessId=.-.5C0E2F6B486305400FC69BB6BD058

613CFA53C0385E61DE9B306B24610EE1F6606EBE26BF479A6626ACEE864300E8D55-.-'"
}
],
"certification_template":[
{
"displayName":"System Defined Template for Certifications",
"id":"crttp000000000000002"
},
{
"displayName":"System Defined Template for Recurring Courses",
"id":"crttp000000000000004"
}
],
"audienceType":[
{
"displayName":"subaud0021",
"id":"seatc000000000001122"
},
{
"displayName":"aud_1",
"id":"audie000000000001021"
}
],
"keyword":[
{
"displayName":"key1",
"id":"kywrd000000000200780"
},
REST API Reference | Learning | 1047

{
"displayName":"key3",
"id":"kywrd000000000200781"
}
],
"category":[
{
"displayName":"123_CAT_DI",
"id":"categ000000000001663"
},
{
"displayName":"Business Intelligence",
"id":"categ000000000001479"
}
]
},
"expiryType":"duration",
"isExpiresInMonths":false,
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"recertifyDays":0
}

FIND DETAILS OF CERTIFICATION/CURRICULUM (Using POST -


Range based search)

Overview
Returns the details of the Certification/Curriculum along with the ID, Name and the Deeplink
URL based on the provided search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/:componentName/searchQuery?f=(:display)&count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Learning | 1048

Calling Options
Table 306: Calling Options

Name Description Sample Value Data Type Required?

conditions The search condi- [{"name": string Yes


tions. "name","operat-
or": "==","value":
You can use any field
"Blendedcertver-
with "isSearchFilter":
en_US"}]
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
You can use search
operators such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=

componentName The name of the de- certification enumerated Yes


sired component.
[ "certification",
"curriculum" ]

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Returns the details of true boolean No


the Certification/Cur-
riculum in the search.
REST API Reference | Learning | 1049

Name Description Sample Value Data Type Required?

display Acceptable values are owners,certifica- string No


(case-sensitive): tion_tem-
plates,audience-
• owners
Types,keywords,cat-
• certification_tem- egories,evalu-
plates ations
• audienceTypes
• keywords
• categories
• evaluations
Note: A limit of 100
records per page will
be applied if you use
any of these display
parameter. Data will
be returned in case of
includeDetails=true as
well as includeDe-
tails=false.

Request Body

{
"conditions": [
{
"name": "category_name",
"operator": "==",
"value": "000001FeaturedCatenglish"
}]}

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"updated_on": "2016-02-02T00:00:00.000-0500",
"created_by": "superuser",
"updated_by": "UONE",
"created_on": "2014-10-27T05:06:41.000-0400",
"keywords": [
{
"id": "kywrd000000000006265",
"displayName": "skill"
},
{
"id": "kywrd000000000006263",
"displayName": "course_keyword"
},
{
"id": "kywrd000000000006264",
"displayName": "k100"
REST API Reference | Learning | 1050

},
{
"id": "kywrd000000000006266",
"displayName": "java"
}
],
"reAssignedTargetDays": 0,
"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/ATHDB1/common/learningeventdetail/crtfy000000000004464"

],
"past_credit_days": null,
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"parent": null,
"description": "description updateddasdas",
"name": "!000111cert_content",
"paths": [
{
"learningModules": [
{
"is_reqd": true,
"learningInterventions": [
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000017197",
"displayName": "course_con1"
},
"is_waiver": false,
"sequence": 1,
"id": "edupl000000000006512"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000017198",
"displayName": "course_con2"
},
"is_waiver": false,
"sequence": 2,
"id": "edupl000000000006513"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000037404",
"displayName": "Test for eq"
},
"is_waiver": false,
"sequence": 3,
"id": "edupl000000000011680"
}
],
"notes": null,
"reqd_no_of_items": 2,
"is_waiver": true,
"track_id": null,
"sequence": 1,
REST API Reference | Learning | 1051

"name": "!000111cert_content_p1_m1",
"id": "cegrp000000000004930"
}
],
"isrecertification_track": false,
"is_default_path": true,
"is_path_recalculation_done": false,
"name": "!000111cert_content_p123",
"id": "track000000000004850"
}
],
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"featured": false,
"valid_till": null,
"notify_before": null,
"vendor_id": null,
"avl_from": "2014-10-27T00:00:00.000-0400",
"disc_from": null,
"createGroupPolicyVal": true,
"target_days": 0,
"learningevent_id": "00012706",
"version": null,
"group": {
"id": "teams000000000010877",
"displayName": "!000111cert_content"
},
"status": "INEFFECT",
"customValues": {
"custom9": null,
"ExCustom4": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000059758",
"displayName": "Domain_IndiaQE"
},
"id": "crtfy000000000004464",
"expiryType": "duration",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"recertifyDays": 0
}
],
"hasMoreResults": true,
"itemsPerPage": 1,
"totalResults": 1569,
"OneClickRegistration": false,
"auto_launch": false
}

Note: The following attributes are only available when the value of 'expiryType' is 'dayOfMonth'.
This is only available for certification:
REST API Reference | Learning | 1052

• expiresOnDay
• expiresOnMonth
• expiresOnFrequency
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth

Return Values (using display fields)

{
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null
},
"learningevent_id":"200073",
"vendor_id":null,
"notify_before":null,
"valid_till":null,
"createGroupPolicyVal":false,
"paths":[
{
"learningModules":[
{
"track_id":"track000000000200200",
"learningInterventions":[
{
"owner_id":null,
"is_reqd":false,
"sequence":1,
"is_waiver":false,
"part_id":{
"id":"cours000000000200000",
"displayName":"Downloadable Product 1"
},
"id":"edupl000000000201162"
}
],
"name":"module1",
"is_reqd":true,
"notes":null,
"sequence":1,
"is_waiver":true,
"reqd_no_of_items":1,
"id":"cegrp000000000200200"
}
],
"name":"path1",
"disc_from":null,
"is_path_recalculation_done":false,
"isrecertification_track":false,
REST API Reference | Learning | 1053

"is_default_path":true,
"id":"track000000000200200"
}
],
"deepLinkUrls":[

"http://localhost/Saba/Web_spf/Social/common/learningeventdetail/crtfy000000000200180"

],
"keywords":[
{
"id":"kywrd000000000200780",
"displayName":"key1"
},
{
"id":"kywrd000000000200781",
"displayName":"key3"
}
],
"parent":null,
"history_lookup_policy":"CheckHistoryUptoExpiredRevoked",
"past_credit_days":null,
"name":"abc",
"description":"",
"version":null,
"group":null,
"status":"INEFFECT",
"avl_from":"2009-07-10T00:00:00.000+0530",
"featured":false,
"disc_from":null,
"target_days":0,
"id":"crtfy000000000200180",
"created_on":"2009-07-10T03:05:52.000+0530",
"updated_on":"2021-05-20T16:50:01.000+0530",
"created_by":"uone",
"updated_by":"uone",
"grace_period":null,
"reAssignedTargetDays":null,
"OneClickRegistration":false,
"enforce_module_seq":false,
"self_register":true,
"disp_callcenter":true,
"disp_learner":true,
"enforce_target_date":false,
"auto_launch":false,
"enforce_required_course_reg":false,
"associations":{
"owner":[
{
"displayName":"Two User",
"id":"emplo000000000001001"
},
{
"displayName":"Two1 User1",
"id":"emplo000000000001031"
}
],
"evaluation":[

],
"attachment":[
{
REST API Reference | Learning | 1054

"private":false,
"attachmentType":"file",
"name":"certification",
"id":"notdc000000000234615",
"doc_type":"JPEG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/jpeg",
"url":null,
"content":"'/Saba/api/component?ssp=pageIsIgnored&doIt
=showAttachment&showbinary=true&attachId=.-.217C2F34FA8A26FD1613
26986B437788555739A9A40D1A11A542DBF9956BC1EF-.-&mimeType=image/
jpeg&sessId=.-.5C0E2F6B486305400FC69BB6BD058613CFA53C0385E61DE9B306B24

610EE1F6606EBE26BF479A6626ACEE864300E8D55-.-'"
},
{
"private":false,
"attachmentType":"file",
"name":"certificationCUSTOM_RES_280p140",
"id":"notdc000000000234616",
"doc_type":"PNG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/png",
"url":null,
"content":"'/Saba/api/component?ssp=pageIsIgnored&doIt
=showAttachment&showbinary=true&attachId=.-.217C2F34FA8A26FD16

1326986B4377889BD93C0A12DA81228A775FE420C69BE2-.-&mimeType=image/png&sessId=.-

.5C0E2F6B486305400FC69BB6BD058613CFA53C0385E61DE9B306B24610EE1F6606EBE26BF479A6

626ACEE864300E8D55-.-'"
}
],
"certification_template":[
{
"displayName":"System Defined Template for Certifications",
"id":"crttp000000000000002"
},
{
"displayName":"System Defined Template for Recurring Courses",
"id":"crttp000000000000004"
}
],
"audienceType":[
{
"displayName":"subaud0021",
"id":"seatc000000000001122"
},
{
"displayName":"aud_1",
"id":"audie000000000001021"
}
],
"keyword":[
REST API Reference | Learning | 1055

{
"displayName":"key1",
"id":"kywrd000000000200780"
},
{
"displayName":"key3",
"id":"kywrd000000000200781"
}
],
"category":[
{
"displayName":"123_CAT_DI",
"id":"categ000000000001663"
},
{
"displayName":"Business Intelligence",
"id":"categ000000000001479"
}
]
},
"expiryType":"duration",
"isExpiresInMonths":false,
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"recertifyDays":0
}

CREATE A NEW CERTIFICATION

Overview
Creates a new certification.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/certification

Calling Options
Table 307: Calling Options

Name Description Sample Value Data Type Required?

name Name of the certifica- cert1011 string Yes


tion
REST API Reference | Learning | 1056

Name Description Sample Value Data Type Required?

description Description of the desc string No


certification

past_credit_days Past credit days 100 integer No

history_look- History lookup policy CheckHistoryUp- string No


up_policy of the certification toExpiredRe-
voked

avl_from Certification Available 2002-05- string Yes


from 01T00:00:00.000+0530

disc_from Certification Discontin- 2003-05- string No


ued from 01T00:00:00.000+0530

version Version of the certific- 1.2 string No


ation

status Status of the certifica- INEFFECT string Yes


tion

target_days Target days 123 integer No

notify_before Notify before 30 integer No

featured Whether the certifica- true string No


tion is featured

valid_till Certification Valid till 365 integer No

parent Parent object Yes


Supports lookup (Cer-
tification).

learningevent_id Learning Event's ID string No

vendor_id Vendor's ID object No


Supports lookup (Per-
son Ex).

securityDomain The domain for the object Yes


certification {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

paths Paths string Yes


• Path4-BB
• Path4-1

customValues Custom Values string No


REST API Reference | Learning | 1057

Name Description Sample Value Data Type Required?

part_id ID of the part object No

group Group string No

OneClickRegistra- A flag to indicate the false string No


tion one click registration.
accepts true/false

auto_launch A flag to indicate auto false string No


launch. accepts
true/false

enforce_mod- Enforce Module Se- false string No


ule_seq quencing

enforce_tar- Enforce Target Date false string No


get_date

grace_period Grace Period window 90 string No

recertification- Indicates the recerti- integer No


Window fication starts on date
for the certificate

reAssignedTar- Reassignment Target 90 string No


getDays Days

associations Association data string No

recertifyDays Retake this certifica- true integer No


tion after X days.
Default value: Null.
API returns 0, if null
Note: Only supported
when the Recertifica-
tion setting is enabled
under the Certifica-
tion service.

isExpiresIn- Is valid_till attribute true string No


Months value is in month or
not.
Default value: false
Note: Only supported
when the Advanced
Compliance function-
ality is enabled.
REST API Reference | Learning | 1058

Name Description Sample Value Data Type Required?

disp_learner Display for learner. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

disp_callcenter Display for call center. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.
REST API Reference | Learning | 1059

Name Description Sample Value Data Type Required?

self_register Allow self-registra- true string No


tion.
Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

expiryType Expiration type. Pos- duration string No


sible values are dura-
tion and dayOfMonth.
Default value: dura-
tion
Note: Expiry type
dayOfMonth is suppor-
ted only when the Ad-
vanced Compliance
functionality is en-
abled.

expiresOnDay Expires on day value. 10 string No


Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnMonth Expires on month 05 string No


value.
Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.
REST API Reference | Learning | 1060

Name Description Sample Value Data Type Required?

nextExpiryS- 02 string No
Default value: 01
tartsOnDay
Note: Supported Only
when expiryType is
dayOfMonth.

nextExpiryS- 02 string No
Default value: 01
tartsOnMonth
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnFre- The number of years 02 integer No


quency after which the expiry
cycle repeats.
Default value: 1
Note: Supported Only
when expiryType is
dayOfMonth.

marked_for_com- Mark learning item for false boolean No


pliance compliance

Note: If the Advanced Compliance functionality is enabled and:


• "expiryType=duration" and "isExpiresInMonths=false" then expiration and recertification
would be set in days
• "expiryType=duration" and "isExpiresInMonths=true" then expiration and recertification
would be set in months
If the Advanced Compliance functionality is disabled:
• Expiration and recertification would be in days irrespective of the value passed for
expiryType

More details on the expiration date


When you set expiryType=dayOfMonth in the Request Body then the expiration date gets
set based on the value passed in:
• expiresOnDay
• expiresOnMonth
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth
• expiresOnFrequency
If certifications are acquired after the day (nextExpiryStartsOnDay) of month
(nextExpiryStartsOnMonth) specified in these fields, then the new expiry cycle for those
certifications is calculated as one year after the expiration date calculated using Expires On
and Frequency values.
For example, if expiresOnDay = 1, expiresOnMonth = 12, nextExpiryStartsOnDay = 1,
nextExpiryStartsOnMonth = 7, expiresOnFrequency = 2 then:
REST API Reference | Learning | 1061

Expires On: Dec 01st, Frequency (Years): 2 and New Expiry Cycle Starts On: July 1st
Here are a few more examples:
• Learner acquires the certification for the first time, and if the Acquired On date is May 01,
2019, then the expiration date is calculated as Dec 01, 2020
• Learner acquires the certification for the first time, and if the Acquired On date is August
01, 2019, then the expiration date is calculated as Dec 01, 2020 + 1 year = Dec 01, 2021
• Learner acquires the certification from Acquired-Recertification Needed state, and the
current expiration date is Dec 01, 2020, then the new expiration date is calculated as Dec
01, 2020 + 2 years = Dec 01, 2022

Association data
You can set the following association attributes using the associations attribute.
Note: The action attribute is optional and add is the default action (except for Attachment).
Add Owner
Note: Lookup is supported for person username, if id is not passed.

[
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427",
"action": "add"
}
]

Remove Owner
Note: Lookup is supported for person username, if id is not passed.

[
{
"displayName": "csindhav1",
"id": "",
"action": "delete"
}
]

Add Audience Type


Note: Lookup is supported for person audience type, if id is not passed.

{
"audienceType": [
{
"displayName": "Aud1",
"id": "audie000000000003624",
"action": "add"
}
]
}

Remove Audience Type


Note: Lookup is supported for person audience type, if id is not passed.

{
"audienceType": [
{
REST API Reference | Learning | 1062

"displayName": "aud1",
"id": "audie000000000003624",
"action": "delete"
}
]
}

Add Evaluation
The attribute id contains the id of the content inventory which is marked as evaluation.
The value of the attribute expiresIn can be: noExpiration or expiresInXDays. If the value is
expiresInXDays,then the expiresInXDays attribute must be passed with the number of days
for the evaluation expiration.

{
"evaluation": [
{
"expiresIn": "noExpiration",
"expiresInXDays": 0,
"id": "cninv000000000001501"
}
]
}

Disable Evaluation
The attribute id contains the id of the content inventory which is marked as evaluation.

{
"evaluation": [
{
"id": "cocnt000000000023190",
"action": "disable"
}
]
}

Remove Evaluation
The attribute id contains the id of the content inventory which is marked as evaluation.

{
"evaluation": [
{
"id": "cocnt000000000023188",
"action": "delete"
}
]
}

Add Attachment

{
"attachment": [
{
"private": true,
"attachmentType": "url",
"name": "attachment2",
"locale": {
"id": "local000000000000001",
"displayName": "English"
REST API Reference | Learning | 1063

},
"category": "Syllabus",
"url": "https://dqlearningv2.sabacloud.com"
}
]
}

Update Attachment
Note: The attribute attachmentType is a required attribute, other attributes are optional.

{
"attachment": [
{
"private": false,
"attachmentType": "url",
"name": "attachment2 Update",
"id": "notdc000000000345596",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://dqlearningv2-urlUpdate.sabacloud.com",
"action": "partialUpdate"
}
]
}

Remove Attachment

{
"attachment": [
{
"id": "notdc000000000345595",
"action": "delete"
}
]
}

Add Category
Note:
Lookup is supported for category name. For child category, a complete path must be passed
separated by '\\'. For example parentCategory1\\ParentCategory_Child1

{
"category": [
{
"id": " categ000000000003560",
"displayName": "OpenSesame",
"action": "add"
}
]
}

Remove Category
Note:
REST API Reference | Learning | 1064

Lookup is supported for category name. For child category, a complete path must be passed
separated by '\\'. For example parentCategory1\\ParentCategory_Child1

{
"category": [
{
"id": "",
"displayName": "parentCategory1\\ParentCategory_Child1",
"action": "delete"
}
]
}

Add Keyword
Note:
Lookup is supported for keyword name.

{
"keyword": [
{
"displayName": "keyword1",
"id": "kywrd000000000201560",
"action": "add"
}
]
}

Remove Keyword
Note:
Lookup is supported for keyword name.

{
"keyword": [
{
"id": "kywrd000000000201560",
"displayName": "keyword1",
"action": "delete"
}
]
}

Add Certification Template


Note:
Lookup is supported for certification template name.

{
"certification_template": [
{
"displayName": "CertTemplateTest",
"id": "crttp000000000001180",
"action": "add"
}
]
}

Remove Certification Template


Note:
REST API Reference | Learning | 1065

Lookup is supported for certification template name.

{
"certification_template": [
{
"displayName": "CertTemplateTest",
"id": "crttp000000000001180",
"action": "delete"
}
]
}

Request Body

{
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"name": "UI Design REST Test 113",
"description": "UI Design",
"avl_from": "2001-08-01T00:00:00.000+0530",
"disc_from": "2001-09-24T00:00:00.000+0530",
"paths": [
{
"name": "Path1",
"certification_id": null,
"isrecertification_track": false,
"learningModules": [
{
"name": "Module B",
"sequence": 1,
"is_reqd": true,
"reqd_no_of_items": 1,
"notes": null,
"learningInterventions": [
{
"sequence": 1,
"is_reqd": false,
"part_id": {
"id": "cours000000000200002",
"displayName": "Downloadable Product 3"
},
"is_waiver": false,
"owner_id": null,
"id": "edupl000000000200081"
}
],
"is_waiver": true,
"id": "cegrp000000000200049"
}
],
"is_default_path": true,
"id": "track000000000200021"
}
],
"version": null,
"group": null,
"status": "INEFFECT",
"target_days": 0,
"learningevent_id": "200045",
"notify_before": 30,
"featured": false,
"valid_till": 365,
REST API Reference | Learning | 1066

"vendor_id": null,
"publish_to_catalog": true,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"OneClickRegistration": false,
"auto_launch": false,
"recertificationWindow": 90,
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"expiryType": "duration",
"expiresOnDay": "01",
"expiresOnMonth": "01",
"expiresOnFrequency": 2,
"nextExpiryStartsOnDay": "02",
"nextExpiryStartsOnMonth": "02",
"isExpiresInMonths": false,
"associations": {
"owner": [
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427"
}
],
"evaluation": [
{
"evaluation": [
{
"expiresIn": "noExpiration",
"expiresInXDays": 0,
"id": "cninv000000000001501"
}
]
}
],
"attachment": [
{
"attachment": [
{
"private": true,
"attachmentType": "url",
"name": "attachment2",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://dqlearningv2.sabacloud.com"
REST API Reference | Learning | 1067

}
]
}
],
"certification_template": [
{
"displayName": "Certification of Completion For Courses",
"id": "crttp000000000001340"
}
],
"audienceType": [
{
"displayName": "Guest",
"id": "audie000000000000003"
}
],
"keyword": [
{
"displayName": "keyword2",
"id": "kywrd000000000201664"
}
],
"marked_for_compliance":true,
"category": [
{
"displayName": "Devices",
"id": "categ000000000004381"
}
]
}
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

parent Certification Certification

Return Values

{
"id": "crtfy000000000200844",
"displayName": "UI Design REST Test 113",
"href": "https://<hostname-api.sabacloud.com>/v1/certification/crtfy000000000200844"
}

UPDATE DETAILS OF A CERTIFICATION

Overview
Update the details of a certification based on the Certification's ID.
REST API Reference | Learning | 1068

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/certification/:id

Calling Options
Table 308: Calling Options

Name Description Sample Value Data Type Required?

id Certification's ID string Yes

name Name of the certifica- cert1011 string Yes


tion

description Description of the desc string No


certification

past_credit_days Past credit days 100 string No

history_look- History lookup policy CheckHistoryUp- string No


up_policy of the certification toExpiredRe-
voked

avl_from Certification Available 2002-05- string Yes


from 01T00:00:00.000+0530

disc_from Certification Discontin- 2003-05- string No


ued from 01T00:00:00.000+0530

version Version of the certific- 1.2 string No


ation

status Status of the certifica- INEFFECT string Yes


tion

target_days Target days 123 string No

notify_before Notify before 30 string No

featured Whether the certifica- true string No


tion is featured

learningevent_id Learning Event's ID string No

valid_till Certification Valid till 365 string No

customValues Custom Values string No


REST API Reference | Learning | 1069

Name Description Sample Value Data Type Required?

securityDomain The domain for the object Yes


certification {"id": "dom►
in000000000000001",
Supports lookup (Do- "name":
main). "world"}

parent Parent object Yes


Supports lookup (Cer-
tification).

vendor_id Vendor's ID object No


Supports lookup (Per-
son Ex).

part_id ID of the part object No

group Group string No

OneClickRegistra- A flag to indicate the false string No


tion one click registration.
accepts true/false

auto_launch A flag to indicate auto false string No


launch. accepts
true/false

enforce_mod- Enforce Module Se- false string No


ule_seq quencing

enforce_tar- Enforce Target Date false string No


get_date

grace_period Grace Period window 90 string No

reAssignedTar- Reassignment Target 90 string No


getDays Days

associations Association data string No

recertifyDays Retake this certifica- true integer No


tion after X days.
Default value: Null.
API returns 0, if null
Note: Only supported
when the Recertifica-
tion setting is enabled
under the Certifica-
tion service.
REST API Reference | Learning | 1070

Name Description Sample Value Data Type Required?

isExpiresIn- Is valid_till attribute true string No


Months value is in month or
not.
Default value: false
Note: Only supported
when the Advanced
Compliance function-
ality is enabled.

disp_learner Display for learner. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

disp_callcenter Display for call center. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.
REST API Reference | Learning | 1071

Name Description Sample Value Data Type Required?

self_register Allow self-registra- true string No


tion.
Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

expiryType Expiration type. Pos- duration string No


sible values are dura-
tion and dayOfMonth.
Default value: dura-
tion
Note: Expiry type
dayOfMonth is suppor-
ted only when the Ad-
vanced Compliance
functionality is en-
abled.

expiresOnDay Expires on day value. 10 string No


Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnMonth Expires on month 05 string No


value.
Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.
REST API Reference | Learning | 1072

Name Description Sample Value Data Type Required?

nextExpiryS- 02 string No
Default value: 01
tartsOnDay
Note: Supported Only
when expiryType is
dayOfMonth.

nextExpiryS- 02 string No
Default value: 01
tartsOnMonth
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnFre- The number of years 02 integer No


quency after which the expiry
cycle repeats.
Default value: 1
Note: Supported Only
when expiryType is
dayOfMonth.

marked_for_com- Mark learning item for false boolean No


pliance compliance

Note: If the Advanced Compliance functionality is enabled and:


• "expiryType=duration" and "isExpiresInMonths=false" then expiration and recertification
would be set in days
• "expiryType=duration" and "isExpiresInMonths=true" then expiration and recertification
would be set in months
If the Advanced Compliance functionality is disabled:
• Expiration and recertification would be in days irrespective of the value passed for
expiryType

More details on the expiration date


When you set expiryType=dayOfMonth in the Request Body then the expiration date gets
set based on the value passed in:
• expiresOnDay
• expiresOnMonth
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth
• expiresOnFrequency
If certifications are acquired after the day (nextExpiryStartsOnDay) of month
(nextExpiryStartsOnMonth) specified in these fields, then the new expiry cycle for those
certifications is calculated as one year after the expiration date calculated using Expires On
and Frequency values.
For example, if expiresOnDay = 1, expiresOnMonth = 12, nextExpiryStartsOnDay = 1,
nextExpiryStartsOnMonth = 7, expiresOnFrequency = 2 then:
REST API Reference | Learning | 1073

Expires On: Dec 01st, Frequency (Years): 2 and New Expiry Cycle Starts On: July 1st
Here are a few more examples:
• Learner acquires the certification for the first time, and if the Acquired On date is May 01,
2019, then the expiration date is calculated as Dec 01, 2020
• Learner acquires the certification for the first time, and if the Acquired On date is August
01, 2019, then the expiration date is calculated as Dec 01, 2020 + 1 year = Dec 01, 2021
• Learner acquires the certification from Acquired-Recertification Needed state, and the
current expiration date is Dec 01, 2020, then the new expiration date is calculated as Dec
01, 2020 + 2 years = Dec 01, 2022

Request Body

{
"past_credit_days": "100",
"history_lookup_policy": "CheckHistoryUptoExpiredRevoked",
"name": "UI Design REST Test 106 modified",
"description": "UI Design",
"avl_from": "2002-05-01T00:00:00.000+0530",
"disc_from": null,
"version": "1.2",
"status": "INEFFECT",
"target_days": 123,
"notify_before": 30,
"featured": true,
"valid_till": 365,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"OneClickRegistration": false,
"auto_launch": false,
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"expiresOnFrequency": 2,
"associations": {
"owner": [
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427"
}
],
"evaluation": [
{
"evaluation": [
{
"expiresIn": "noExpiration",
"expiresInXDays": 0,
REST API Reference | Learning | 1074

"id": "cninv000000000001501"
}
]
}
],
"attachment": [
{
"attachment": [
{
"private": true,
"attachmentType": "url",
"name": "attachment2",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://dqlearningv2.sabacloud.com"
}
]
}
],
"certification_template": [
{
"displayName": "Certification of Completion For Courses",
"id": "crttp000000000001340"
}
],
"audienceType": [
{
"displayName": "Guest",
"id": "audie000000000000003"
}
],
"keyword": [
{
"displayName": "keyword2",
"id": "kywrd000000000201664"
}
],
"marked_for_compliance":true,
"category": [
{
"displayName": "Devices",
"id": "categ000000000004381"
}
]
}
}

Note: Only URL type attachments are supported.


The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

parent Certification Certification


REST API Reference | Learning | 1075

UPDATE LOCALE-SPECIFIC DETAILS OF CERTIFICATION

Overview
Update locale-specific attributes of certification.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example:
https://<hostname-api.sabacloud.com>/v1/certification/crtfy000000000200020/locale

Calling Options
Table 309: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- certification string Yes


dated

instanceId Instance id of compon- crt- string Yes


ent fy000000000200020

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
"de_DE"}

name Name of certification name string No

description Certification descrip- description string No


tion
REST API Reference | Learning | 1076

Name Description Default Value Data Type Required?

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"name":"cert1",
"description":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"
}
}
]}

Course
REST endpoints for the learning data.
The deeplinks that the web services return will be based on the URL of the default (SabaCloud)
microsite. For example:

https://<hostname.sabacloud.com>/Saba/Web_spf/Learning/common/ledetail/cours000000000035964
REST API Reference | Learning | 1077

GET ALL COURSES

Overview
Returns all Courses for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/course
Note: To enable Audience Type check as part of the course search, add at_check%3D%3Dtrue
in the q param list. This means if a learner searches the catalog, then this API will return only
those courses whose Audience Type aligns with Audience Type of the learner:

https://<hostname-api.sabacloud.com>/v1/course?q=(at_check%3D%3Dtrue)

Do not include this query parameter, if you do need filtering based on the Audience Type.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"title": "@@@@@@@@@ ##### $$$123 @@@@@@@@@ ##### $$$123@@@@@@@@@
##### $$$123 @@@@@@@@@ ##### $$$123 @@@@@@@@@ ##### $$$123
@@@@@@@@@ ##### $$$123 @@@@@@@@@ ##### $$$123 dshsdkljfkdshf",
"id": "cours000000000002857",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000002857"
},
{
"title": "@$# $ 8-updated name_00000000000000",
"id": "cours000000000041480",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000041480"
},
{
"title": "@$# $ 8-updated name_3",
"id": "cours000000000037600",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000037600"
},
{
"title": "@$# $ 8-updated name_3",
"id": "cours000000000002860",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000002860"
},
{
"title": "@$# $ 8-updated name_3_Test",
"id": "cours000000000040627",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000040627"
},
REST API Reference | Learning | 1078

{
"title": "@$# $ 8-updated name_3_Test",
"id": "cours000000000040619",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000040619"
},
{
"title": "@$# $ 8-updated name_3_Test1",
"id": "cours000000000040628",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000040628"
},
{
"title": "@$# $ 8-updated name_3_Testingw",
"id": "cours000000000040633",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000040633"
},
{
"title": "@$# $ 8-updated name_3_Testingw1",
"id": "cours000000000040636",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000040636"
},
{
"title": "!@#$%^*&()???°??ïéê\"",
"id": "cours000000000006559",
"href": "https://dqathdb1-api.sabacloud.com/v1/course/cours000000000006559"
}
],
"hasMoreResults": true,
"itemsPerPage": 10,
"totalResults": 30451
}

FIND DETAILS OF COURSES

Overview
Returns the details of the Courses along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/course?q=(:criteria)&count=:count&startPage=:startPage
REST API Reference | Learning | 1079

Calling Options
Table 310: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. up- string Yes


the criteria field name dated_on%3Dge%3D2011-
with search value. 01-29 01:29:32
AM,up-
You can use any field
dated_on%3Dle%3D2012-
with "isSearchFilter":
01-29 01:29:32 AM
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"title": "8th oct",
"id": "cours000000000202788",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202788"
},
{
"title": "8th oct",
"id": "cours000000000202791",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202791"
},
{
"title": "8thOct2",
"id": "cours000000000202792",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202792"
},
{
"title": "8thOct2",
"id": "cours000000000202793",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202793"
},
{
"title": "New_sept15",
"id": "cours000000000202648",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202648"
},
{
REST API Reference | Learning | 1080

"title": "New_sept15",
"id": "cours000000000202649",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202649"
},
{
"title": "New_sept15",
"id": "cours000000000202650",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202650"
},
{
"title": "New_sept15",
"id": "cours000000000202651",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202651"
},
{
"title": "New_sept15",
"id": "cours000000000202652",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202652"
},
{
"title": "New_sept15",
"id": "cours000000000202654",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202654"
}
],
"facets": [],
"hasMoreResults": true,
"totalResults": 191,
"itemsPerPage": 10,
"startIndex": 1
}

Example (Courses that have changed between two timestamps)


To find out all the courses that have changed between two timestamps (for example based
on created_on):
https://<hostname-api.sabacloud.com>/v1/course?q=(created_on%3Dge%3D2010-01-29
01:29:32 AM,created_on%3Dle%3D2012-01-29 01:29:32 AM)
Return Values:

{
"results": [
{
"title": "course_with_locale",
"id": "cours000000000202086",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202086"
}
],
"facets": [],
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

To find out all the courses that have changed between two timestamps (for example based
on updated_on):
https://<hostname-api.sabacloud.com>/v1/course?q=(updated_on%3Dge%3D2010-01-29
01:29:32 AM,updated_on%3Dle%3D2012-01-29 01:29:32 AM)
REST API Reference | Learning | 1081

Return Values:

{
"results": [
{
"title": "course_with_locale",
"id": "cours000000000202086",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202086"
}
],
"facets": [],
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

FIND DETAILS OF COURSE (Using POST - Range based search)

Overview
Returns the details of the course along with the ID, Name and the Deeplink URL based on the
provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/course/searchQuery?count=:count&startPage=:startPage
REST API Reference | Learning | 1082

Calling Options
Table 311: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search condi- [{\"name\": \"up- string Yes


name tions. dated_on\",\"oper-
ator\":
You can use any field
\"=gt=\",\"value\":
with "isSearchFilter":
\"2010-01-29
true.
01:29:32
Note: To find out the AM\"},{\"name\":
fields that have "is- \"up-
SearchFilter": true, in- dated_on\",\"oper-
voke the "Get the ator\":
Meta details" REST \"=lt=\",\"value\":
APIs. \"2012-01-29
01:29:32 AM\"}]
You can use search
operators such as:
• =gt= - Greater than
• =ge= - Greater or
Equal
• =lt= - Less than
• =le= - Less or Equal
• == - Equal
• != - Not Equal
• ; - AND
• , - OR

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions": [
{
"name": "created_on",
"operator": "=gt=",
"value": "2010-01-29 01:29:32 AM"
},
{
"name": "created_on",
"operator": "=lt=",
"value": "2012-01-29 01:29:32 AM"
}

]
}
REST API Reference | Learning | 1083

Return Values

{
"results": [
{
"title": "8th oct",
"id": "cours000000000202788",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202788"
},
{
"title": "8th oct",
"id": "cours000000000202791",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202791"
},
{
"title": "8thOct2",
"id": "cours000000000202792",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202792"
},
{
"title": "8thOct2",
"id": "cours000000000202793",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202793"
},
{
"title": "New_sept15",
"id": "cours000000000202648",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202648"
},
{
"title": "New_sept15",
"id": "cours000000000202649",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202649"
},
{
"title": "New_sept15",
"id": "cours000000000202650",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202650"
},
{
"title": "New_sept15",
"id": "cours000000000202651",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202651"
},
{
"title": "New_sept15",
"id": "cours000000000202652",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202652"
},
{
"title": "New_sept15",
"id": "cours000000000202654",
"href": "http://<hostname-api.sabacloud.com>/v1/course/cours000000000202654"
}
],
"facets": [],
"hasMoreResults": true,
"totalResults": 191,
"itemsPerPage": 10,
"startIndex": 1
}
REST API Reference | Learning | 1084

Example: Use the course_id condition with an IN operator and provide multiple internal IDs
of courses.

URL
https://<hostname-api.sabacloud.com>/v1/course/searchQuery?f=(custom1)

Request Body
{
"conditions":[
{
"name":"course_id",
"operator":"IN",
"value":[
"cours000000000204579",
"cours000000000204688",
"cours000000000204666"
]
}
]
}

Return Values
{
"totalResults":3,
"hasMoreResults":false,
"startIndex":1,
"itemsPerPage":10,
"results":[
{
"customValues":{
"custom1":null
},
"id":"cours000000000204666",
"href":"https://<hostname-api.sabacloud.com>/v1/course/cours000000000204666"
},
{
"customValues":{
"custom1":"crs_cust1"
},
"id":"cours000000000204579",
"href":"https://<hostname-api.sabacloud.com>/v1/course/cours000000000204579"
},
{
"customValues":{
"custom1":"crs_ cust1 value"
},
"id":"cours000000000204688",
"href":"https://<hostname-api.sabacloud.com>/v1/course/cours000000000204688"
}
],
"facets":[

]
}
REST API Reference | Learning | 1085

GET DETAILS OF A PARTICULAR COURSE

Overview
Returns complete information about a course based on the course's ID that is passed as a
parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/course/:id?includeassociation=true
Note: Use includeassociation=true as a query param to get a list of objects associated with
an object.

Calling Options
Table 312: Calling Options

Name Description Sample Value Data Type Required?

id Course's ID cours000000000202106 string Yes

Return Values

[
{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom10": null,
"custom11": null,
"custom12": null,
"custom13": null,
"custom14": null,
"excustom1": null,
"excustom2": null
},
REST API Reference | Learning | 1086

"avail_from": "2022-05-19T00:00:00.000+0530",
"vendor_id": null,
"notify_before": null,
"valid_till": null,
"createGroupPolicyVal": false,
"image": "http://localhost/production/course/notdc000000000215208_course.JPEG",
"vendorImageURL":
"https/:/s3a
. mazonawsc
. om/exce-lprodp
. ubc
ilb
. ucket/42fe43d7-d254-4545-99e0-72db65c96500/V1_AMDL_ModernSa
l very_Safetrac_200603_coursem
I age_modern_sa
l veryp
j. g",

"refreshImageFromVendorImageURL": false,
"ignoreImageUploadExceptions": true,
"video": null,
"category": [
{
"createdId": "emplo000000000001000",
"name": "Compliance",
"flag": "0000000000",
"description": null,
"owner_id": null,
"visibility": null,
"recommendable": false,
"state": null,
"language_id": null,
"supported_types": null,
"featured": false,
"context_id": null,
"context_type": null,
"parent_id": null,
"id": "categ000000000001180"
}
],
"owner": [
{
"parent": {
"id": "cours000000000202286",
"displayName": "Liderar inovações"
},
"type": "100",
"owner": {
"id": "emplo000000000001000",
"displayName": "User One"
},
"ownerType": "100",
"sequence": 1,
"hasEdit": false,
"hasView": false,
"id": "gvern000000000001181"
}
],
"audienceType": [],
"language": [
{
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"str1": "1000000000",
"id": "g12rc000000000202066"
}
],
"required_prerequisites": [],
"recommended_prerequisites": [],
REST API Reference | Learning | 1087

"tags": [
{
"description": null,
"color": null,
"id": "sbtag000000000001060",
"name": "Compliance"
}
],
"type": 0,
"hide_classmates": true,
"is_sensitive": false,
"suppress_score": false,
"showRegCustom": true,
"showDropCustom": true,
"show_web2_0_actions": true,
"can_waive": false,
"field_of_study": [],
"created_on": "2022-05-19T18:45:56.000+0530",
"updated_on": "2023-04-28T18:03:04.000+0530",
"created_by": "admin",
"updated_by": "uone",
"created_id": "emplo000000000000001",
"allPrices": [],
"deepLinkUrls": [
"http://localhost/Saba/Web_spf/Social/common/ledetail/cours000000000202286",
"http://localhost/Saba/Web_spf/Social/common/ledetail/698879970"
],
"consider_completion_outside_recert_window": false,
"parent_id": null,
"version": null,
"recertwindow_unit": 0,
"abstrac": "",
"title": "Liderar inovações",
"published": true,
"reAssignedTargetDays": null,
"course_no": "698879970",
"avail_web": false,
"validtill_type": 0,
"avail_call_center": true,
"validtill_unit": 0,
"disc_from": "2022-05-19T00:00:00.000+0530",
"training_units": 0,
"csr_id": null,
"validtill_frequency": null,
"validtill_daymonth": null,
"validtill_start_daymonth": null,
"consume_within_cert": false,
"subscribed": false,
"gamified": false,
"test": false,
"max_ct": null,
"disc_from_ts": "2022-05-19T00:00:00.000000+00:00",
"min_ct": null,
"waitlist_max": null,
"description": "Modern slavery refers to institutional slavery that continues to exist in
present day society. There will be new compliance and reporting obligations for large
corporations and other entities operating in Australia. This will help companies evaluate
their supply chains and ensure that no slavery has been used in producing the products
they sell. Safetrac’s ‘Modern Slavery’ course assists staff to understand what modern
slavery is, the current legislation, the impact to the business and its customers, and what
action they can take.",
"status": "INEFFECT",
REST API Reference | Learning | 1088

"target_days": 0,
"featured": false,
"recert_window": null,
"id": "cours000000000202286",
"grace_period": null,
"lr_manager_id": null,
"is_compliance_course": false
},
"Close"
]

GET META DETAILS OF COURSE

Overview
Returns the meta details of the course.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/course/meta

Return Values

{
"sampleData": {
"avail_from": "2017-12-11T11:11:38.082+0000",
"disc_from": null,
"created_id": null,
"subscribed": false,
"audienceType": null,
"validtill_type": 0,
"validtill_frequency": null,
"validtill_daymonth": null,
"validtill_start_daymonth": null,
"is_sensitive": true,
"avail_web": true,
"avail_call_center": true,
"published": false,
"validtill_unit": 0,
"allPrices": null,
"csr_id": null,
"lr_manager_id": null,
"course_no": "00046377",
"title": "",
"hide_classmates": true,
"training_units": 0,
"suppress_score": false,
"grace_period": null,
"reAssignedTargetDays": null,
"test": false,
REST API Reference | Learning | 1089

"field_of_study": null,
"recommended_prerequisites": null,
"required_prerequisites": null,
"showRegCustom": true,
"consume_within_cert": true,
"show_web2_0_actions": false,
"can_waive": false,
"image": null,
"max_ct": null,
"min_ct": null,
"waitlist_max": null,
"showDropCustom": true,
"consider_completion_outside_recert_window": false,
"deepLinkUrls": null,
"recertwindow_unit": 0,
"language": null,
"parent_id": null,
"type": 0,
"owner": [
{
"hasEdit": false,
"hasView": false,
"parent": null,
"type": "100",
"owner": {
"id": "emplo000000000001041",
"displayName": "Super User"
},
"ownerType": "100",
"sequence": 0,
"id": null
}
],
"version": "",
"created_by": null,
"updated_on": null,
"updated_by": null,
"created_on": null,
"category": null,
"abstrac": "",
"tags": null,
"vendor_id": null,
"featured": true,
"valid_till": null,
"notify_before": null,
"recert_window": null,
"createGroupPolicyVal": false,
"target_days": 0,
"description": "",
"status": "INEFFECT",
"customValues": {
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href": "https://dqlearning-api.sabacloud.com/v1/course/cours000000000000001"
},
"name": "Offering Template",
"displayName": "Course",
REST API Reference | Learning | 1090

"attributes": [
{
"name": "abstrac",
"displayName": "Abstract",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 1000,
"maximumLength": 1000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "allPrices",
"displayName": "All prices",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Price List Entry",
"displayName": "Price List Entry",
"attributes": [
{
"name": "amount",
"displayName": "Amount",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "charge_type",
"displayName": "Charge Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "curr_id",
"displayName": "Currency Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Learning | 1091

"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "displayValue",
"displayName": "Display Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_base",
"displayName": "Base",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_overridden",
"displayName": "Overridden",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "part_id",
"displayName": "Part Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
REST API Reference | Learning | 1092

"isSearchFilter": false
},
{
"name": "price_list_id",
"displayName": "Price List ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price_type",
"displayName": "Price Type",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "audienceType",
"displayName": "Audience Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "OfferingTemplateAudienceType",
"displayName": "Course Audience Type",
"attributes": [
{
"name": "audience_type_id",
"displayName": "Audience Type",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "AudienceType ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 1093

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "inherit",
"displayName": "Inherit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "inherited_from",
"displayName": "Inherited From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "offering_temp_id",
"displayName": "Course",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "avail_call_center",
"displayName": "Display for Call Center",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "avail_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Learning | 1094

"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "avail_web",
"displayName": "Display for Learner",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "can_waive",
"displayName": "Can Waive",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "category",
"displayName": "Category",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Category",
"displayName": "Category",
"attributes": [
{
"name": "context_id",
"displayName": "Context",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "context_type",
"displayName": "Context Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 1095

"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "createdId",
"displayName": "CreatedId",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 1000,
"maximumLength": 1000,
"isSearchFilter": true
},
{
"name": "featured",
"displayName": "Featured",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "flag",
"displayName": "Flag",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 1096

"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "language_id",
"displayName": "Language",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"component": {
"componentName": "Language",
"href": "https://dqlearning-api.sabacloud.com/v1/Language/meta",
"description": "Language"
}
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "owner_id",
"displayName": "Owner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "parent_id",
"displayName": "Parent",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "recommendable",
REST API Reference | Learning | 1097

"displayName": "Recommendable",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Split",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"component": {
"componentName": "Domain",
"href": "https://dqlearning-api.sabacloud.com/v1/domain/meta",
"description": "Domain table"
}
},
{
"name": "state",
"displayName": "State",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "supported_types",
"displayName": "Supported Types",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "visibility",
"displayName": "Visibility",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Learning | 1098

"isProtected": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
}
]
}
},
{
"name": "competency_name",
"displayName": "Competency Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "consider_completion_outside_recert_window",
"displayName": "Consider completion of Recurring course outside re-acquisition
window",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "consume_within_cert",
"displayName": "Consumable only within Certification/Curriculum_Master",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "course_no",
"displayName": "Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_by",
REST API Reference | Learning | 1099

"displayName": "Created By ",


"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "createGroupPolicyVal",
"displayName": "Create Group",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "csr_id",
"displayName": "Customer Service Representative",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "deepLinkUrls",
REST API Reference | Learning | 1100

"displayName": "Deelink Urls",


"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2000,
"maximumLength": 5000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "disc_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "featured",
"displayName": "Featured",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "field_of_study",
"displayName": "Field of Study",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 1101

"name": "grace_period",
"displayName": "Grace Period",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "hide_classmates",
"displayName": "Hide Classmates",
"description": "If true, then classmates portlet and course statistics portlet will be
hidden on end user detail pages.",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "image",
"displayName": "Image",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_sensitive",
"displayName": "Is Sensitive",
"description": "If true,the course can be consumed by a learner but the registration
and completion is not visible to non qualified persons.",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 1102

"name": "keywordName",
"displayName": "Keyword Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "language",
"displayName": "Language",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Languages for a Course",
"displayName": "Languages for a Course",
"attributes": [
{
"name": "course_id",
"displayName": "Course",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "language_id",
"displayName": "Language",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 1103

"name": "str1",
"displayName": "Flags",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "str2",
"displayName": "Course Title",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}
},
{
"name": "lr_manager_id",
"displayName": "Learning Request Manager",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "max_ct",
"displayName": "Max Count",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "min_ct",
"displayName": "Min Count",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
REST API Reference | Learning | 1104

"isReference": false,
"isProtected": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "notify_before",
"displayName": "Notify Before (Days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner",
"displayName": "Owner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Governance",
"displayName": "Owner",
"attributes": [
{
"name": "hasEdit",
"displayName": "Edit",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "hasView",
"displayName": "View",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
REST API Reference | Learning | 1105

"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "owner",
"displayName": "Owner",
"description": "The owner for e.g. either a person or a organization.",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "ownerType",
"displayName": "Owner Type",
"description": "Type of the owner who is associated i.e. either a person is
associated or organization.",
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "parent",
"displayName": "Parent",
"description": "The parent of the association, a component which is being
governed.",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": "Sequence of the owner with respect to other owner s in a
governance.",
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "type",
"displayName": "Type",
"description": "Type of governance.",
"isRequired": true,
REST API Reference | Learning | 1106

"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
}
]
}
},
{
"name": "parent_id",
"displayName": "Parent",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "priceband_id",
"displayName": "Price Band Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "priceband_unit",
"displayName": "Price Band Unit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "published",
"displayName": "Is Published",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "reAssignedTargetDays",
"displayName": "Reassignment Target Days",
"description": "Number of days after which the recurring course should be reacquired
REST API Reference | Learning | 1107

by the learner on Reassignment. If the recurring course is not reacquired, its status moves
to overdue.",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "recert_window",
"displayName": "Re-acquisition Window",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "recertwindow_unit",
"displayName": "Recertification Window Unit",
"description": "Recertification window Unit",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://dqlearning-api.sabacloud.com/v1/list/sysli000000000004072/values"

},
"display": true,
"isSearchFilter": false
},
{
"name": "recommended_prerequisites",
"displayName": "Recommended Prerequisites",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "required_prerequisites",
"displayName": "Required Prerequisites",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Learning | 1108

{
"name": "showDropCustom",
"displayName": "Show custom fields during cancellation",
"description": "If true,then the custom fields on the cancellation will be shown ,
provided the BR is also on for the same",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "showRegCustom",
"displayName": "Show custom fields during registration",
"description": "If true,then the custom fields on the registration will be shown ,
provided the BR is also on for the same",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "show_web2_0_actions",
"displayName": "Show Web 2.0 functions",
"description": "If true,the web 2.0 functions will be shown",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"choices": {
"href": "https://dqlearning-api.sabacloud.com/v1/list/sysli000000000000182/values"
REST API Reference | Learning | 1109

},
"display": true,
"isSearchFilter": false
},
{
"name": "subscribed",
"displayName": "Subscribed",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "suppress_score",
"displayName": "Hide Score",
"description": "If true,the transcript score will not be visible from anywhere to
learners,managers,admins",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "tags",
"displayName": "Tags",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Tag",
"displayName": "Tag",
"attributes": [
{
"name": "color",
"displayName": "Color",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 1110

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
}
]
}
},
{
"name": "target_days",
"displayName": "Target Days",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "test",
"displayName": "Test",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "title",
"displayName": "Title",
"description": null,
REST API Reference | Learning | 1111

"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "type",
"displayName": "Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 1112

"name": "valid_till",
"displayName": "Expires In (Days)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_daymonth",
"displayName": "Expires On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_frequency",
"displayName": "Frequency (Yearly)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_start_daymonth",
"displayName": "New Expiry Cycle Starts On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_type",
"displayName": "Expiry Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validtill_unit",
"displayName": "Valid Till Unit",
REST API Reference | Learning | 1113

"description": "Valid Till Unit",


"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://dqlearning-api.sabacloud.com/v1/list/sysli000000000004072/values"

},
"display": true,
"isSearchFilter": false
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "version",
"displayName": "Version",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "waitlist_max",
"displayName": "Waitlist Max",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Course String",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": true,
"display": true,
REST API Reference | Learning | 1114

"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Course Integer",
"description": "custom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Course Real2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Course Boolean",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Course Date",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Course Time",
"description": "custom5",
REST API Reference | Learning | 1115

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Course String LOV",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Course String_Protected",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Course String22",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Course String LOV",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
REST API Reference | Learning | 1116

"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom10",
"displayName": "Course Integer",
"description": "custom10",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom11",
"displayName": "Course Real",
"description": "custom11",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom12",
"displayName": "Course String Protected",
"description": "custom12",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom13",
"displayName": "Course Boolean",
"description": "custom13",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom14",
REST API Reference | Learning | 1117

"displayName": "Course Time 22",


"description": "custom14",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": "VK-Additional Course Details",
"description": "ExCustom1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom2",
"displayName": "ExCustom2",
"description": "ExCustom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom3",
"displayName": "Additional Course Details",
"description": "ExCustom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom4",
"displayName": "ExCustom4 Protected",
"description": "ExCustom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Learning | 1118

"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom5",
"displayName": "ExCustom5",
"description": "ExCustom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom6",
"displayName": "ExCustom6",
"description": "ExCustom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom7",
"displayName": "ExCustom7",
"description": "ExCustom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom8",
"displayName": "ExCustom8",
"description": "ExCustom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
REST API Reference | Learning | 1119

{
"name": "ExCustom9",
"displayName": "ExCustom9",
"description": "ExCustom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom10",
"displayName": "ExCustom10",
"description": "ExCustom10",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom11",
"displayName": "ExCustom11_Test",
"description": "ExCustom11",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom12",
"displayName": "ExCustom12",
"description": "ExCustom12",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom13",
"displayName": "ExCustom13",
"description": "ExCustom13",
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 1120

"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom14",
"displayName": "ExCustom14",
"description": "ExCustom14",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom15",
"displayName": "ExCustom15",
"description": "ExCustom15",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom16",
"displayName": "ExCustom16",
"description": "ExCustom16",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom17",
"displayName": "ExCustom17",
"description": "ExCustom17",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
REST API Reference | Learning | 1121

"isSearchFilter": false
},
{
"name": "ExCustom18",
"displayName": "ExCustom18",
"description": "ExCustom18",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom19",
"displayName": "ExCustom19",
"description": "ExCustom19",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom20",
"displayName": "ExCustom20",
"description": "ExCustom20",
"isRequired": false,
"isAutoGenerated": false,
"type": "richtext",
"isReference": false,
"isProtected": false,
"display": false,
"isSearchFilter": false
},
{
"name": "ExCustom21",
"displayName": "ExCustom21",
"description": "ExCustom21",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom22",
"displayName": "ExCustom22",
"description": "ExCustom22",
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 1122

"type": "time",
"isReference": false,
"isProtected": false,
"display": false,
"isSearchFilter": false
},
{
"name": "ExCustom23",
"displayName": "ExCustom23",
"description": "ExCustom23",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom24",
"displayName": "ExCustom24",
"description": "ExCustom24",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "ExCustom25",
"displayName": "ExCustom25",
"description": "ExCustom25",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

CREATE A NEW COURSE

Overview
Creates a new course

Requires OAuth
No
REST API Reference | Learning | 1123

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/course

Calling Options
Table 313: Calling Options

Name Description Sample Value Data Type Required?

featured Whether featured? false boolean No

validTill Valid till 0 integer No

type Type 0 integer No

description Description TestCourse12 string Yes

avail_web Available for web? true boolean No

training_units Training Units 0 real No

notifyBefore Notify Before 1 integer No

avail_call_center Available for Call Cen- true boolean No


ter?

price Price "null" string No

avail_from Available From 2013-11- date Yes


12T00:00:00

disc_from Discontinued from 2017-11- date No


12T00:00:00

min_ct Min Count 0 integer No

version Version string No

title Title tets string Yes

max_ct Max Count 0 integer No

abstrac Abstract "null" string No


REST API Reference | Learning | 1124

Name Description Sample Value Data Type Required?

audienceType Audience Type array No


{
"audience►
Type": [
{
"audi►
ence_type_id":
{
"id":
"audie000000000001147",

"dis►
playName":
"Delhi"

},
"ap►
ply_to_course_only":
true
},
{
"audi►
ence_type_id":
{
"id":
"audie000000000001142",

"dis►
playName":"At►
Story101"

},
"ap►
ply_to_course_only":
false
}
]
}

target_days Target Days As Int 0 integer No

course_no Course No 00006713 string Yes

discontinued Discontinued false string No

displayName Display Name "null" string No


REST API Reference | Learning | 1125

Name Description Sample Value Data Type Required?

domain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

field_of_study Field of study object No


{
"fosId": {
"id":
"fldst000000000001001"

},
"credits":
"2"
}

required_pre- Required prerequis- object No


requisites ites {
"courseId":
{
"id":
"cours000000000202785"
}

recommen- Recommended pre- object No


ded_prerequis- requisites {
ites "courseId":
{
"id":
"cours000000000202785"
}

customValues Custom fields "custom0": "1" string No

csr_id Customer Service { "id": "em- object No


Representative plo000000000533317",
"displayName":
"user one" }

training_units Training Units 0 real No

notifyBefore Notify Before 1 integer No

showRegCustom Allows you to determ- false boolean No


ine if custom fields
must be displayed to
users during registra-
tion of a particular
course. Accepts
true/false.
REST API Reference | Learning | 1126

Name Description Sample Value Data Type Required?

showDropCus- Allows you to determ- false boolean No


tom ine if custom fields
must be displayed to
users during cancella-
tion of a particular
course. Accepts
true/false.

language Allows adding associ- "language": [{ array No


ated languages. "language_id": {
"id":
"lange000000000000029",
"displayName":
"Arabic" }, "str1":
"0000000000"}, {
"language_id": {
"id":
"lange000000000000001",
"displayName":
"English" }, "str1":
"1000000000"}]

lr_manager_id ID of the Learning re- object No


quest manager

vendorImageURL The image URL for the string No


course. If the URL is ht►
not provided then the tps://www.<host►
course will be created name>.com/com►
with the default image mons/c/ca/sample-
image.png
of the course.

refreshImage- It is used to refresh true boolean No


FromVendorIm- the course image
ageURL from the URL
provided in vendorIm-
ageURL at the time of
course update. At the
time of course cre-
ation the default value
will be true while at
time of update default
value will be false. Ac-
cepts true or false.
REST API Reference | Learning | 1127

Name Description Sample Value Data Type Required?

ignoreImageUp- It is used to avoid or false boolean No


loadExceptions expose exceptions
raised during the im-
age upload process of
the course. The de-
fault value is set to
true, just to make sure
that the course cre-
ation process will not
fail due to an invalid
image URL passed or
any other image up-
load process failure.
Accepts true or false.

associations Association data string No

multicur- 1 integer No
Indicates the multicur-
rency_pref
rency preference. The
default value is 1
which means only
in the selected cur-
rency.
It can accept:
• 1 - selected cur-
rency
• 2 - selected cur-
rency and default
currency
• 3 - all currency

currency The currency object {"id": object No


associated to the "crncy000000000001005"}
course.

course_price The price associated 95.0 integer No


to the course.

discontinue- string No
This value is set only {
Option
when the
"remove-
"disc_from" field is not FromPlan":true,
null.
"dropRegistra-
tions":true,
"cancelOffer-
ings":true
}
REST API Reference | Learning | 1128

Enabling fields on registration and cancellation and making them required is only supported,
if a default value is present in the field.
Note: Enabling required fields on courses that previously did not require additional information
will result in errors when dropping classes registered for prior to enablement.

Association data
You can set the following association attributes using the associations attribute.
Note: discontinueOption is supported only for update and the value is set only when disc_from
is not null. The action attribute is optional and add is the default action.
keywords

"keywords": [
{
"id": "kywrd000000000200382",
"displayName": "abc",
"action":null

},
{
"id": "kywrd000000000200383",
"displayName": "pqr",
"action":null
}
]

equivalents

"equivalents": [
{
"id": "cours000000000200811",
"displayName": "abc",
"version":1.0,
"action":null
}
]

skills

"skills":[
{
"proficiencyLevel":{
"id":"cplvl000000000001181",
"displayName":""
},
"displayName":"Automation Testing",
"id":"compt000000000001141",
"action":null
}]

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
REST API Reference | Learning | 1129

"custom0": null
},
"avail_from": "2009-07-10T00:00:00.000+0530",
"vendor_id": null,
"notify_before": null,
"valid_till": null,
"createGroupPolicyVal": false,
"image":
"http://localhost/assets/spf/skin/wireframe/media/images/CourseClassRoomImage.png",

"vendorImageURL": null,
"refreshImageFromVendorImageURL": false,
"ignoreImageUploadExceptions": true,
"video": null,
"category": [],
"owner": [],
"audienceType": [
{
"audience_type_id": {
"id": "audie000000000001147",
"displayName": "Delhi"

},
"apply_to_course_only": true
},
{
"audience_type_id": {
"id": "audie000000000001142",
"displayName": "AtStory101"

},
"apply_to_course_only": false
}
],
"language": [
{
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"str1": "0000000000",
"id": "g12rc000000000200775"
}
],
"required_prerequisites": [],
"recommended_prerequisites": [],
"tags": [],
"type": 0,
"hide_classmates": false,
"is_sensitive": false,
"suppress_score": false,
"showRegCustom": true,
"showDropCustom": true,
"show_web2_0_actions": true,
"can_waive": false,
"field_of_study": [
{
"fosId": {
"id": "fldst000000000000001",
"displayName": "Default Field of Study"
},
"credits": "40",
REST API Reference | Learning | 1130

"defaultCredits": false
},
{
"fosId": {
"id": "fldst000000000000001",
"displayName": "Default Field of Study"
},
"credits": "30",
"defaultCredits": true
}
],
"currency": {
"id": "crncy000000000000001"
},
"course_price": 100,
"multicurrency_pref":"3",
"created_on": "2009-07-10T04:03:49.000+0530",
"updated_on": "2020-03-16T10:28:14.000+0530",
"created_by": "uone",
"updated_by": "cone",
"created_id": "emplo000000000001000",
"deepLinkUrls": [
"http://localhost/Saba/Web_spf/Social/common/ledetail/cours000000000200815",
"http://localhost/Saba/Web_spf/Social/common/ledetail/INDEX10"
],
"consider_completion_outside_recert_window": false,
"parent_id": null,
"version": null,
"abstrac": "abs",

"avail_web": true,
"published": true,
"validtill_type": 0,
"validtill_unit": 0,
"disc_from": null,
"training_units": 0,
"csr_id": {
"id": "emplo000000000200831",
"displayName": "alt_althone alt_althone"
},
"reAssignedTargetDays": null,
"test": true,
"consume_within_cert": false,
"avail_call_center": true,
"subscribed": true,
"validtill_daymonth": null,
"recertwindow_unit": 0,
"validtill_frequency": null,
"validtill_start_daymonth": null,
"max_ct": null,
"waitlist_max": null,
"min_ct": null,
"description": "desc",
"status": "INEFFECT",
"target_days": 0,
"featured": false,
"recert_window": null,
"grace_period": null,
"lr_manager_id": null,
"title": "CourseAsso3",
"course_no": "CourseAsso3",
"associations": {
REST API Reference | Learning | 1131

"keywords": [
{
"id": "kywrd000000000200382",
"displayName": "abc",
"action":null

},
{
"id": "kywrd000000000200383",
"displayName": "pqr",
"action":null
}
],
"equivalents": [
{
"id": "cours000000000200811",
"displayName": "abc",
"version":1.0,
"action":null
}
],
"skills":[
{
"proficiencyLevel":{
"id":"cplvl000000000001181",
"displayName":""
},
"displayName":"Automation Testing",
"id":"compt000000000001141",
"action":null
}]
}
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Field_of_study Field Of Study FieldOfStudy

required_prerequisites Catalog Prerequisites Course

Csr_id Customer Service Represent- Person, Internal


ative

Recommended_prerequisites Catalog Prerequisites Course

audienceType Audience Type / Audience Sub Audience Type


Type

language_id Language Language


REST API Reference | Learning | 1132

Return Values

{
"tags": [],
"abstrac": "",
"category": [],
"avail_from": "2016-03-21T00:00:00.000-0400",
"title": "dfgfdgdf",
"validtill_type": 0,
"validtill_frequency": null,
"validtill_daymonth": null,
"validtill_start_daymonth": null,
"avail_web": true,
"avail_call_center": false,
"published": true,
"course_no": "DDDDSDAS",
"validtill_unit": 0,
"vendor_id": null,
"csr_id": {
"id": "emplo000000000533317",
"displayName": "user one"
},
"subscribed": false,
"audienceType": [],
"updated_on": "2016-03-21T06:38:30.000-0400",
"created_by": "uone",
"updated_by": "uone",
"created_on": "2016-03-21T06:38:30.000-0400",
"created_id": "emplo000000000533317",
"training_units": 0,
"test": false,
"field_of_study": [],
"recommended_prerequisites": [],
"required_prerequisites": [],
"allPrices": [
{
"amount": 0,
"displayValue": "0 USD",
"curr_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"id": "plent000000000069938"
}
],
"image":
"https://static-<hostname>/assets/s/1jydso303bos4/spf/skin/wireframe/media/images/CoursesEcommerce.png",

"consume_within_cert": false,
"show_web2_0_actions": true,
"max_ct": null,
"min_ct": null,
"waitlist_max": null,
"recertwindow_unit": 0,
"deepLinkUrls": [
"https://<hostname>/Saba/Web_spf/ATHDB1/common/ledetail/cours000000000040770",

"https://<hostname>/Saba/Web_spf/ATHDB1/common/ledetail/DDDDSDAS"
],
"version": null,
"language": [{
"language_id": {
"id": "lange000000000000029", "displayName": "Arabic"
REST API Reference | Learning | 1133

}, "str1": "0000000000"},
{
"language_id": {
"id": "lange000000000000001", "displayName": "English"
}, "str1": "1000000000"}],
"parent_id": null,
"type": 0,
"owner": [],
"valid_till": null,
"notify_before": null,
"recert_window": null,
"featured": false,
"createGroupPolicyVal": false,
"target_days": 0,
"description": "TestCourse12",
"status": "INEFFECT",
"customValues": {
"ExCustom4": null,
"ExCustom5": null,
"custom0": null,
"ExCustom8": null,
"ExCustom9": null,
"custom1": null,
"ExCustom3": null,
"ExCustom1": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world,domain"
},
"showRegCustom": "false",
"showDropCustom": "false",
"id": "cours000000000040770",
"href": "https://<hostname-api.sabacloud.com>/v1/course/cours000000000040770"
}

UPDATE DETAILS OF A COURSE

Overview
Update a course

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/course/:courseid
REST API Reference | Learning | 1134

Calling Options
Table 314: Calling Options

Name Description Sample Value Data Type Required?

courseid Course's ID cours000000000202108 string Yes

featured Whether featured? false boolean No

validTill Valid till 0 integer No

type Type 0 integer No

description Description TestCourse12 string Yes

avail_web Available for web? true boolean No

training_units Training Units 0 real No

notifyBefore Notify Before 1 integer No

avail_call_center Available for Call Cen- true boolean No


ter?

price Price "null" string No

avail_from Available From 2013-11- date Yes


12T00:00:00

disc_from Discontinued from 2017-11- date No


12T00:00:00

min_ct Min Count 0 integer No

version Version string No

title Title tets string Yes

max_ct Max Count 0 integer No

abstrac Abstract "null" string No


REST API Reference | Learning | 1135

Name Description Sample Value Data Type Required?

audienceType Audience Type array No


{
"audience►
Type": [
{
"audi►
ence_type_id":
{
"id":
"audie000000000001147",

"dis►
playName":
"Delhi"

},
"ap►
ply_to_course_only":
true
},
{
"audi►
ence_type_id":
{
"id":
"audie000000000001142",

"dis►
playName":"At►
Story101"

},
"ap►
ply_to_course_only":
false
}
]
}

target_days Target Days As Int 0 integer No

course_no Course No 00006713 string Yes

discontinued Discontinued? false boolean No

displayName Display Name "null" string No


REST API Reference | Learning | 1136

Name Description Sample Value Data Type Required?

domain Security Domain object Yes


{
"id": "dom►
in000000000000001",
"name": "world"
}

field_of_study Field of study object No


{
"fosId": {
"id":
"fldst000000000001001"

},
"credits":
"2"
}

required_pre- Required prerequis- object No


requisites ites {
"courseId":
{
"id":
"cours000000000202785"
}

recommen- Recommended pre- object No


ded_prerequis- requisites {
ites "courseId":
{
"id":
"cours000000000202785"
}

customValues Custom fields "custom0": "1" string No

csr_id Customer Service { "id": "em- object No


Representative plo000000000533317",
"displayName":
"user one" }

showRegCustom Allows you to determ- false boolean No


ine if custom fields
must be displayed to
users during registra-
tion of a particular
course. Accepts
true/false.
REST API Reference | Learning | 1137

Name Description Sample Value Data Type Required?

showDropCus- Allows you to determ- false boolean No


tom ine if custom fields
must be displayed to
users during cancella-
tion of a particular
course. Accepts
true/false.

language Allows adding associ- "language": [{ array No


ated languages. "language_id": {
"id":
"lange000000000000029",
"displayName":
"Arabic" }, "str1":
"0000000000"}, {
"language_id": {
"id":
"lange000000000000001",
"displayName":
"English" }, "str1":
"1000000000"}]

lr_manager_id ID of the Learning re- object No


quest manager

vendorImageURL The image URL for the string No


course. If the URL is ht►
not provided then the tps://www.<host►
course will be created name>.com/com►
with the default image mons/c/ca/sample-
image.png
of the course.

refreshImage- It is used to refresh true boolean No


FromVendorIm- the course image
ageURL from the URL
provided in vendorIm-
ageURL at the time of
course update. At the
time of course cre-
ation the default value
will be true while at
time of update default
value will be false. Ac-
cepts true or false.
REST API Reference | Learning | 1138

Name Description Sample Value Data Type Required?

ignoreImageUp- It is used to avoid or false boolean No


loadExceptions expose exceptions
raised during the im-
age upload process of
the course. The de-
fault value is set to
true, just to make sure
that the course cre-
ation process will not
fail due to an invalid
image URL passed or
any other image up-
load process failure.
Accepts true or false.

associations Association data string No

multicur- 1 integer No
Indicates the multicur-
rency_pref
rency preference. The
default value is 1
which means only
in the selected cur-
rency.
It can accept:
• 1 - selected cur-
rency
• 2 - selected cur-
rency and default
currency
• 3 - all currency

currency The currency object {"id": object No


associated to the "crncy000000000001005"}
course.

course_price The price associated 95.0 integer No


to the course.

Enabling fields on registration and cancellation and making them required is only supported,
if a default value is present in the field.
Note: Enabling required fields on courses that previously did not require additional information
will result in errors when dropping classes registered for prior to enablement.

Association data
You can set the following association attributes using the associations attribute.
Note: discontinueOption is supported only for update and the value is set only when disc_from
is not null.
REST API Reference | Learning | 1139

Only the delete action is supported. The action attribute is optional and add is the default
action.
keywords

"keywords": [
{
"id": "kywrd000000000200382",
"displayName": "abc",
"action":"delete"

}
]

equivalents

"equivalents": [
{
"id": "cours000000000200811",
"displayName": "abc",
"version":1.0,
"action":"delete"
}
]

skills

"skills":[
{
"proficiencyLevel":{
"id":"cplvl000000000001181",
"displayName":""
},
"displayName":"Automation Testing",
"id":"compt000000000001141",
"action":"delete"
}
]

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null
},
"avail_from": "2009-07-10T00:00:00.000+0530",
"vendor_id": null,
"notify_before": null,
"valid_till": null,
"createGroupPolicyVal": false,
"image":
"http://localhost/assets/spf/skin/wireframe/media/images/CourseClassRoomImage.png",

"vendorImageURL": null,
"refreshImageFromVendorImageURL": false,
"ignoreImageUploadExceptions": true,
"video": null,
REST API Reference | Learning | 1140

"category": [],
"owner": [],
"audienceType": [
{
"audience_type_id": {
"id": "audie000000000001147",
"displayName": "Delhi"

},
"apply_to_course_only": true
},
{
"audience_type_id": {
"id": "audie000000000001142",
"displayName": "AtStory101"

},
"apply_to_course_only": false
}
],
"language": [
{
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"str1": "0000000000",
"id": "g12rc000000000200775"
}
],
"required_prerequisites": [],
"recommended_prerequisites": [],
"tags": [],
"type": 0,
"hide_classmates": false,
"is_sensitive": false,
"suppress_score": false,
"showRegCustom": true,
"showDropCustom": true,
"show_web2_0_actions": true,
"can_waive": false,
"field_of_study": [
{
"fosId": {
"id": "fldst000000000000001",
"displayName": "Default Field of Study"
},
"credits": "40",
"defaultCredits": false
},
{
"fosId": {
"id": "fldst000000000000001",
"displayName": "Default Field of Study"
},
"credits": "30",
"defaultCredits": true
}
],
"currency": {
"id": "crncy000000000000001"
},
REST API Reference | Learning | 1141

"course_price": 100,
"multicurrency_pref":"3",
"created_on": "2009-07-10T04:03:49.000+0530",
"updated_on": "2020-03-16T10:28:14.000+0530",
"created_by": "uone",
"updated_by": "cone",
"created_id": "emplo000000000001000",
"deepLinkUrls": [
"http://localhost/Saba/Web_spf/Social/common/ledetail/cours000000000200815",
"http://localhost/Saba/Web_spf/Social/common/ledetail/INDEX10"
],
"consider_completion_outside_recert_window": false,
"parent_id": null,
"version": null,
"abstrac": "abs",

"avail_web": true,
"published": true,
"validtill_type": 0,
"validtill_unit": 0,
"disc_from": "2009-07-10T04:03:49.000+0530",
"discontinueOption":{
"removeFromPlan":true,
"dropRegistrations":true,
"cancelOfferings":true
},
"training_units": 0,
"csr_id": {
"id": "emplo000000000200831",
"displayName": "alt_althone alt_althone"
},
"reAssignedTargetDays": null,
"test": true,
"consume_within_cert": false,
"avail_call_center": true,
"subscribed": true,
"validtill_daymonth": null,
"recertwindow_unit": 0,
"validtill_frequency": null,
"validtill_start_daymonth": null,
"max_ct": null,
"waitlist_max": null,
"min_ct": null,
"description": "desc",
"status": "INEFFECT",
"target_days": 0,
"featured": false,
"recert_window": null,
"grace_period": null,
"lr_manager_id": null,
"title": "CourseAsso3",
"course_no": "CourseAsso3",
"associations": {
"keywords": [
{
"id": "kywrd000000000200382",
"displayName": "abc",
"action":"delete"

}
],
"equivalents": [
REST API Reference | Learning | 1142

{
"id": "cours000000000200811",
"displayName": "abc",
"version":1.0,
"action":"delete"
}
],
"skills":[
{
"proficiencyLevel":{
"id":"cplvl000000000001181",
"displayName":""
},
"displayName":"Automation Testing",
"id":"compt000000000001141",
"action":"delete"
}
]
}
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

Field_of_study Field Of Study FieldOfStudy

required_prerequisites Catalog Prerequisites Course

Csr_id Customer Service Represent- Person, Internal


ative

Recommended_prerequisites Catalog Prerequisites Course

audienceType Audience Type / Audience Sub Audience Type


Type

language_id Language Language

Note: Even if the suppress_score field is passed as part of the Request Body, it will not be
updated. This also does not raise any exception.

UPDATE LOCALE-SPECIFIC DETAILS OF COURSE

Overview
Update locale-specific attributes of course.

Requires OAuth
No
REST API Reference | Learning | 1143

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example: https://<hostname-api.sabacloud.com>/v1/course/cours000000000200185/locale

Calling Options
Table 315: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- course string Yes


dated

instanceId Instance id of compon- cours000000000200185 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
"de_DE"}

name name of course name string No

description Course description description string No

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

abstract Course abstract value abstract value string No


REST API Reference | Learning | 1144

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"title":"course1",
"description":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"
},
"abstrac":"abstract data"
}
]}

Recurring Course Completions


REST endpoints for the learning data.

FIND DETAILS OF RECURRING COURSE COMPLETIONS

Overview
Returns the details of the recurring course completions along with the ID, Name and the
Deeplink URL based on the provided search criteria.
Note: When a recurring course is assigned to a user, the corresponding enrollment entry is
not created. Only when the course is completed, the transcript entry is created, due to this
the API will not return detail URL as href for in-complete course in output JSON.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/recurringcompletions
?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage&f=(:csvAttributesValue)&includeDetails=:includeDetails
REST API Reference | Learning | 1145

Calling Options
Table 316: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria person_id No


e.g. person Id.

field_value The search value for string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

csvAttributes- Search for attributes string No


Value also

includeDetails Returns the details of false boolean No


the recurring course
completions in the
search

The following are the supported search criteria and display attributes:

Field Field description Example


name

person_id Will return all recurring course comple- Person_id%3D%3Dem-


tions of a specified person. plo000000000001000

per- When person_domain_bind is true the person_domain_bind%3D%3Dtrue


son_do- recurring completions are fetched for
main_bind the same domain users as of the People
Admin. When person_domain_bind is
false then recurringcompletions are
fetched for the domain of users where
People Admin has access

Per- This search criteria will return all recur- person_no%3D%3D001000


son_no ring course completions of given person.

Per- This search criteria will return all recur- Person_username%3D%3Duone


son_user- ring course completions of given person.
name
REST API Reference | Learning | 1146

Field Field description Example


name

status This will return all recurring course status%3D%3D400


completions of a specified status.
Below are the possible status values:
For Recurring Completions (Com-
pleted):
• 100 - Not evaluated
• 200 - Successful
• 300 - Suspended
• 400 - Unsuccessful
• 600 - Pending Registration
• 700 - Pending Approval

up- This will return result based on updated updated_on%3Dge%3D2010-01-29


dated_on date of a recurring course completion. 01:29:32

as- This search criteria will return all recur- assigned_on%3Dge%3D2010-01-29


signed_on ring course completions based on its 01:29:32
assigned date value.

course_no This search criteria will return recurring course_no%3D%3d00201084


course completion of a given course.

Course_id This search criteria will return recurring Course_id%3D%3D


course completion of a given course. cours000000000203226

com- This search criteria will return all recur- completed_on%3Dge%3D2010-01-29


pleted_on ring course completions based on its 01:29:32
comepleted date value.

due_date This search criteria will return all recur- due_date%3Dge%3D2010-01-29 01:29:32
ring course completions based on its
due date value.

expira- This search criteria will return all recur- expiration_date%3Dge%3D2010-01-29


tion_date ring course completions based on its 01:29:32
expiration date value.
REST API Reference | Learning | 1147

Field Field description Example


name

assigned- This search criteria will return all recur-


Status ring course completions based on its
assigned status.
Below are the possible status values:
For Recurring Completions (Not Com-
pleted):
• 100 - Completed
• 200 - In progress
• 300 - Expired
• 400 - Assigned
• 600 - Pending Registration
• 700 - Pending Approval

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: person_id, person_no, person_username_list, Person_username
Catalog conditions: course_no, Course_id
The output for not-yet-completed recurring courses will be very different from the output
of completed recurring courses.

Return Values (Completed recurring courses using includeDetails=false)

{
"status_description":"Not Evaluated",
"person":{
"id":"emplo000000000019079",
"username":"UONE"
},
"course":{
"id":"cours000000000036549",
"course_no":"00016460",
"title":"test-recurring1",
"version":null
},
"id":"ofapr000000000121389",
"status":"100",
"href":"https://dqlearning-api.sabacloud.com/v1/transcripts/ofapr000000000121389"
}

Return Values (Not-yet-completed recurring courses using includeDetails=false)

{
"assignedStatusDescription":"Assigned",
REST API Reference | Learning | 1148

"person":{
"id":"emplo000000000019079",
"username":"UONE"
},
"course":{
"id":"cours000000000013889",
"course_no":"00010274",
"title":"RecurCoursePR",
"version":"12345"
},
"assignedStatus":"400"
}

Note: assignedStatus / assignedStatusDescription either of these fields in the output JSON


indicate a Not-yet-completed recurring course.

Return Values (Completed recurring courses using includeDetails=true)

{
"facets":[

],
"startIndex":1,
"results":[
{
"assignedBy":"User One",
"assigned_on":"2016-07-22T04:39:41UTC",
"assignedStatusDescription":"Assigned",
"completed_on":null,
"person":{ F1
"id":"emplo000000000019079",
"username":"UONE"
},
"due_date":"2016-07-23T04:39:41UTC",
"course":{
"id":"cours000000000002152",
"course_no":"00002104",
"title":"9/20/2013 recurring course1",
"version":null
},
"expiration_date":"2016-12-09T18:30:00UTC",
"assignedStatus":"400",
"is_reassigned":300,
"prev_expired_on":"2017-04-09T18:30:00UTC"
},
{
"created_by":"uone",
"start_date":"2016-07-29T04:14:13.000+0000",
"time_interval":0,
"end_date":"2016-10-20T05:54:13.000+0000",
"updated_on":"2016-10-20T05:54:17.000+0000",
"updated_by":"uone",
"created_on":"2016-07-29T04:14:14.000+0000",
"score":null,
"target_date":"2016-07-29T06:14:13.000+0000",
"delivery_type":"eqcat000000000000005",
"offering_temp_id":{
"displayName":"test-recurring1",
"id":"cours000000000203226",
"course_no":"00201084",
"version":null
REST API Reference | Learning | 1149

},
"delivery":{
"id":"eqcat000000000000005",
"displayName":"Web-Based"
},
"delivered_by":"emplo000000000019079",
"deliveredby_no":"001000",
"deliveredby_name":"User One",
"assigned_on":"2016-08-24 17:58:06",
"assignedBy":null,
"due_date":null,
"recert_window":null,
"duration":0,
"completionMode":0,
"completedByContent":0,
"expiration_date":"2016-12-09T18:30:00UTC",
"action_no":"00105488",
"completion_date":"2016-10-20T05:54:13.000+0000",
"action_status":"200",
"grade":"",
"learner_id":null,
"flags":1,
"registration":null,
"added_to_profile_on":"2016-07-29T04:14:13.000+0000",
"offrng_start_date":null,
"archived":0,
"credits":null,
"location":null,
"party_id":{
"id":"emplo000000000019079",
"displayName":"User One"
},
"start_time":null,
"end_time":null,
"status":200,
"id":"ofapr000000000121389",
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null
},
"is_reassigned":0,
"prev_expired_on":null
}
],
"totalResults":2,
"hasMoreResults":true,
"itemsPerPage":10
}

Return Values (Not-yet-completed recurring courses using includeDetails=true)

{
"facets":[

],
"startIndex":1,
"results":[
{
"assignedBy":"User One",
"assigned_on":"2016-07-22T04:39:41UTC",
REST API Reference | Learning | 1150

"assignedStatusDescription":"Assigned",
"completed_on":null,
"person":{ F1
"id":"emplo000000000019079",
"username":"UONE"
},
"due_date":"2016-07-23T04:39:41UTC",
"course":{
"id":"cours000000000002152",
"course_no":"00002104",
"title":"9/20/2013 recurring course1",
"version":null
},
"expiration_date":"2016-12-09T18:30:00UTC",
"assignedStatus":"400",
"is_reassigned":300,
"prev_expired_on":"2017-04-09T18:30:00UTC"
},
{
"created_by":"uone",
"start_date":"2016-07-29T04:14:13.000+0000",
"time_interval":0,
"end_date":"2016-10-20T05:54:13.000+0000",
"updated_on":"2016-10-20T05:54:17.000+0000",
"updated_by":"uone",
"created_on":"2016-07-29T04:14:14.000+0000",
"score":null,
"target_date":"2016-07-29T06:14:13.000+0000",
"delivery_type":"eqcat000000000000005",
"offering_temp_id":{
"displayName":"test-recurring1",
"id":"cours000000000203226",
"course_no":"00201084",
"version":null
},
"delivery":{
"id":"eqcat000000000000005",
"displayName":"Web-Based"
},
"delivered_by":"emplo000000000019079",
"deliveredby_no":"001000",
"deliveredby_name":"User One",
"assigned_on":"2016-08-24 17:58:06",
"assignedBy":null,
"due_date":null,
"recert_window":null,
"duration":0,
"completionMode":0,
"completedByContent":0,
"expiration_date":"2016-12-09T18:30:00UTC",
"action_no":"00105488",
"completion_date":"2016-10-20T05:54:13.000+0000",
"action_status":"200",
"grade":"",
"learner_id":null,
"flags":1,
"registration":null,
"added_to_profile_on":"2016-07-29T04:14:13.000+0000",
"offrng_start_date":null,
"archived":0,
"credits":null,
"location":null,
REST API Reference | Learning | 1151

"party_id":{
"id":"emplo000000000019079",
"displayName":"User One"
},
"start_time":null,
"end_time":null,
"status":200,
"id":"ofapr000000000121389",
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null
},
"is_reassigned":0,
"prev_expired_on":null
}
],
"totalResults":2,
"hasMoreResults":true,
"itemsPerPage":10
}

Note: assignedStatus / assignedStatusDescription either of these fields in the output JSON


indicate a Not-yet-completed recurring course.

FIND DETAILS OF RECURRING COURSE COMPLETIONS (Using


POST - Range based search)

Overview
Returns the details of the recurring course completions along with the ID, Name and the
Deeplink URL based on the provided range based search criteria.
To get data for all team members:
A manager/admin can use the IN operator to specify a list of team members as the search
criteria. If the logged in person is a manager, then the API returns the data for all team
members specified using the IN operator. If the logged in person is not the learning admin
or a manager of the people included in the search condition then the API returns a blank
output.
Note: Only 5 team members are supported in the IN operator.
The following attributes support using the IN operator:
Recurring Completions
• person_id
• person_no
• person_username_list
Note: When a recurring course is assigned to a user, the corresponding enrollment entry is
not created. Only when the course is completed, the transcript entry is created, due to this
the API will not return detail URL as href for in-complete course in output JSON.

Requires OAuth
No
REST API Reference | Learning | 1152

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/recurringcompletions/searchQuery?count=:count&startPage=:startPage
&f=(:csvAttributesValue)&includeDetails=:includeDetails

Calling Options
Table 317: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search condi- [{"name": "per- string Yes


name tions. son_id", "operat-
or": "==", "value":
You can use search
"em-
operators such as:
plo000000000001000"}]
• =gt= - Greater than
• =ge= - Greater or
Equal
• =lt= - Less than
• =le= - Less or Equal
• == - Equal
• != - Not Equal
• ; - AND
• , - OR

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

csvAttributes- Search for attributes string No


Value also

includeDetails Returns the details of false boolean No


the recurring course
completions in the
search

The following are the supported search criteria and display attributes:

Field Field description Example


name

person_id Will return all recurring course comple- Person_id%3D%3Dem-


tions of a specified person. plo000000000001000
REST API Reference | Learning | 1153

Field Field description Example


name

per- When person_domain_bind is true the person_domain_bind%3D%3Dtrue


son_do- recurring completions are fetched for
main_bind the same domain users as of the People
Admin. When person_domain_bind is
false then recurringcompletions are
fetched for the domain of users where
People Admin has access

Per- This search criteria will return all recur- person_no%3D%3D001000


son_no ring course completions of given person.

Per- This search criteria will return all recur- Person_username%3D%3Duone


son_user- ring course completions of given person.
name

status This will return all recurring course status%3D%3D400


completions of a specified status.
Below are the possible status values:
For Recurring Completions (Com-
pleted):
• 100 - Not evaluated
• 200 - Successful
• 300 - Suspended
• 400 - Unsuccessful
• 600 - Pending Registration
• 700 - Pending Approval

up- This will return result based on updated updated_on%3Dge%3D2010-01-29


dated_on date of a recurring course completion. 01:29:32

as- This search criteria will return all recur- assigned_on%3Dge%3D2010-01-29


signed_on ring course completions based on its 01:29:32
assigned date value.

course_no This search criteria will return recurring course_no%3D%3d00201084


course completion of a given course.

Course_id This search criteria will return recurring Course_id%3D%3D


course completion of a given course. cours000000000203226

com- This search criteria will return all recur- completed_on%3Dge%3D2010-01-29


pleted_on ring course completions based on its 01:29:32
comepleted date value.

due_date This search criteria will return all recur- due_date%3Dge%3D2010-01-29 01:29:32
ring course completions based on its
due date value.

expira- This search criteria will return all recur- expiration_date%3Dge%3D2010-01-29


tion_date ring course completions based on its 01:29:32
expiration date value.
REST API Reference | Learning | 1154

Field Field description Example


name

assigned- This search criteria will return all recur-


Status ring course completions based on its
assigned status.
Below are the possible status values:
For Recurring Completions (Not Com-
pleted):
• 100 - Completed
• 200 - In progress
• 300 - Expired
• 400 - Assigned
• 600 - Pending Registration
• 700 - Pending Approval

per- The usernames of the persons as a list


son_user- "name":"person_username_list",
name_list
"operator":"IN",
"value":[
"KCHOUDHARY",
"SCHAUDHARY",
"TESTRCALLENSQUESTIONS"

]
}
]

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: person_id, person_no, person_username_list, Person_username
Catalog conditions: course_no, Course_id

Request Body

{
"conditions" :[
{
"name": "person_id",
"operator": "==",
"value": "emplo000000000001000"
}
]
}
REST API Reference | Learning | 1155

The output for not-yet-completed recurring courses will be very different from the output
of completed recurring courses.

Return Values (Completed recurring courses using includeDetails=false)

{
"status_description":"Not Evaluated",
"person":{
"id":"emplo000000000019079",
"username":"UONE"
},
"course":{
"id":"cours000000000036549",
"course_no":"00016460",
"title":"test-recurring1",
"version":null
},
"id":"ofapr000000000121389",
"status":"100",
"href":"https://dqlearning-api.sabacloud.com/v1/transcripts/ofapr000000000121389"
}

Return Values (Not-yet-completed recurring courses using includeDetails=false)

{
"assignedStatusDescription":"Assigned",
"person":{
"id":"emplo000000000019079",
"username":"UONE"
},
"course":{
"id":"cours000000000013889",
"course_no":"00010274",
"title":"RecurCoursePR",
"version":"12345"
},
"assignedStatus":"400"
}

Note: assignedStatus / assignedStatusDescription either of these fields in the output JSON


indicate a Not-yet-completed recurring course.

Return Values (Completed recurring courses using includeDetails=true)

{
"facets":[

],
"startIndex":1,
"results":[
{
"assignedBy":"User One",
"assigned_on":"2016-07-22T04:39:41UTC",
"assignedStatusDescription":"Assigned",
"completed_on":null,
"person":{ F1
"id":"emplo000000000019079",
"username":"UONE"
},
"due_date":"2016-07-23T04:39:41UTC",
REST API Reference | Learning | 1156

"course":{
"id":"cours000000000002152",
"course_no":"00002104",
"title":"9/20/2013 recurring course1",
"version":null
},
"expiration_date":"2016-12-09T18:30:00UTC",
"assignedStatus":"400",
"is_reassigned":300,
"prev_expired_on":"2017-04-09T18:30:00UTC"
},
{
"created_by":"uone",
"start_date":"2016-07-29T04:14:13.000+0000",
"time_interval":0,
"end_date":"2016-10-20T05:54:13.000+0000",
"updated_on":"2016-10-20T05:54:17.000+0000",
"updated_by":"uone",
"created_on":"2016-07-29T04:14:14.000+0000",
"score":null,
"target_date":"2016-07-29T06:14:13.000+0000",
"delivery_type":"eqcat000000000000005",
"offering_temp_id":{
"displayName":"test-recurring1",
"id":"cours000000000203226",
"course_no":"00201084",
"version":null
},
"delivery":{
"id":"eqcat000000000000005",
"displayName":"Web-Based"
},
"delivered_by":"emplo000000000019079",
"deliveredby_no":"001000",
"deliveredby_name":"User One",
"assigned_on":"2016-08-24 17:58:06",
"assignedBy":null,
"due_date":null,
"recert_window":null,
"duration":0,
"completionMode":0,
"completedByContent":0,
"expiration_date":"2016-12-09T18:30:00UTC",
"action_no":"00105488",
"completion_date":"2016-10-20T05:54:13.000+0000",
"action_status":"200",
"grade":"",
"learner_id":null,
"flags":1,
"registration":null,
"added_to_profile_on":"2016-07-29T04:14:13.000+0000",
"offrng_start_date":null,
"archived":0,
"credits":null,
"location":null,
"party_id":{
"id":"emplo000000000019079",
"displayName":"User One"
},
"start_time":null,
"end_time":null,
"status":200,
REST API Reference | Learning | 1157

"id":"ofapr000000000121389",
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null
},
"is_reassigned":0,
"prev_expired_on":null
}
],
"totalResults":2,
"hasMoreResults":true,
"itemsPerPage":10
}

Return Values (Not-yet-completed recurring courses using includeDetails=true)

{
"facets":[

],
"startIndex":1,
"results":[
{
"assignedBy":"User One",
"assigned_on":"2016-07-22T04:39:41UTC",
"assignedStatusDescription":"Assigned",
"completed_on":null,
"person":{ F1
"id":"emplo000000000019079",
"username":"UONE"
},
"due_date":"2016-07-23T04:39:41UTC",
"course":{
"id":"cours000000000002152",
"course_no":"00002104",
"title":"9/20/2013 recurring course1",
"version":null
},
"expiration_date":"2016-12-09T18:30:00UTC",
"assignedStatus":"400",
"is_reassigned":300,
"prev_expired_on":"2017-04-09T18:30:00UTC"
},
{
"created_by":"uone",
"start_date":"2016-07-29T04:14:13.000+0000",
"time_interval":0,
"end_date":"2016-10-20T05:54:13.000+0000",
"updated_on":"2016-10-20T05:54:17.000+0000",
"updated_by":"uone",
"created_on":"2016-07-29T04:14:14.000+0000",
"score":null,
"target_date":"2016-07-29T06:14:13.000+0000",
"delivery_type":"eqcat000000000000005",
"offering_temp_id":{
"displayName":"test-recurring1",
"id":"cours000000000203226",
"course_no":"00201084",
"version":null
},
REST API Reference | Learning | 1158

"delivery":{
"id":"eqcat000000000000005",
"displayName":"Web-Based"
},
"delivered_by":"emplo000000000019079",
"deliveredby_no":"001000",
"deliveredby_name":"User One",
"assigned_on":"2016-08-24 17:58:06",
"assignedBy":null,
"due_date":null,
"recert_window":null,
"duration":0,
"completionMode":0,
"completedByContent":0,
"expiration_date":"2016-12-09T18:30:00UTC",
"action_no":"00105488",
"completion_date":"2016-10-20T05:54:13.000+0000",
"action_status":"200",
"grade":"",
"learner_id":null,
"flags":1,
"registration":null,
"added_to_profile_on":"2016-07-29T04:14:13.000+0000",
"offrng_start_date":null,
"archived":0,
"credits":null,
"location":null,
"party_id":{
"id":"emplo000000000019079",
"displayName":"User One"
},
"start_time":null,
"end_time":null,
"status":200,
"id":"ofapr000000000121389",
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null
},
"is_reassigned":0,
"prev_expired_on":null
}
],
"totalResults":2,
"hasMoreResults":true,
"itemsPerPage":10
}

Note: assignedStatus / assignedStatusDescription either of these fields in the output JSON


indicate a Not-yet-completed recurring course.

Categories
REST endpoints for the learning data.
REST API Reference | Learning | 1159

GET ALL CATEGORIES

Overview
Returns all categories in the system.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/category?count=:count&startPage=:startPage
Note: To retrieve only the parent categories use the following query parameter:

https://<hostname-api.sabacloud.com>/v1/learning/category?q=(parent_id%3D%3Dnull)

Calling Options
Table 318: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

[
{
"id": "categ000000000001042",
"displayName": "RJSampleCategory10",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001042"
},
{
"id": "categ000000000001041",
"displayName": "RJSampleCategory7",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001041"
},
{
"id": "categ000000000001040",
"displayName": "RJSampleCategory8",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001040"
REST API Reference | Learning | 1160

}
]

GET DETAILS OF A PARTICULAR CATEGORY

Overview
Returns complete information about a category based on the category's ID that is passed
as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/category/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Category's
ID.
https://<hostname-api.sabacloud.com>/v1/learning/category/name%3D<CategoryName>

Calling Options
Table 319: Calling Options

Name Description Sample Value Data Type Required?

id Category's ID categ000000000001042 string Yes

Return Values

{
"name": "RJSampleCategoryInsertwithTag11",
"language": {
"name": "English",
"id": "lange000000000000001",
"type": null
},
"context": null,
"id": "categ000000000001005",
"state": null,
"owner": {
"name": "User One112qj",
"id": "emplo000000000001000",
"type": null
},
"timestamp": null,
"description": "This is RJSampleCategory5",
REST API Reference | Learning | 1161

"roles": [
{
"name": "a1 one1",
"id": "persn000000000200148",
"type": "Viewer"
},
{
"name": "User One112qj",
"id": "emplo000000000001000",
"type": "Owner"
}
],
"forExternal": false,
"parentCategory": {
"name": "RJSampleCategoryInsert",
"id": "categ000000000001003",
"type": null
},
"tags": [
{
"name": "Tag5",
"tagId": "sbtag000000000001041",
"createdOn": "2015-07-14T14:55:33.000+0530",
"weight": 2
},
{
"name": "Tag6",
"tagId": "sbtag000000000001042",
"createdOn": "2015-07-14T15:04:12.000+0530",
"weight": 1
}
],
"flags": "0000000000",
"atList": [
{
"name": "rs",
"id": "audie000000000001141",
"type": null
}
],
"visibility": null,
"supportedTypes": null,
"createdOn": "2015-07-14T15:21:34.386+0530",
"updatedBy": "uone",
"updatedOn": "2015-07-14T15:21:34.386+0530",
"createdBy": "uone",
"createdId": "emplo000000000001000",
"split": {
"name": "world",
"id": "domin000000000000001",
"type": null
},
"recommendable": false,
"featured": true,
"totalItemCountInHierarchy": 0,
"totalSubListCount": 0,
"totalItemCount": 0
}
REST API Reference | Learning | 1162

GET DETAILS OF A PARTICULAR CATEGORY ALONG WITH ITS


HIERARCHY (SUB-CATEGORIES)

Overview
Returns complete information about a category along with its hierarchy (sub-categories)
based on the category's ID that is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/category/:id?hierarchy=true

Calling Options
Table 320: Calling Options

Name Description Sample Value Data Type Required?

id Category's ID categ000000000001042 string Yes

Return Values

[
{
"name": "RJSampleCategory10",
"language": {
"name": "English",
"id": "lange000000000000001",
"type": null
},
"context": null,
"id": "categ000000000001042",
"state": null,
"owner": {
"name": "User One",
"id": "emplo000000000001000",
"type": null
},
"timestamp": null,
"description": "This is RJSampleCategory5",
"roles": [
{
"name": "a1 one1",
"id": "persn000000000200148",
"type": "Viewer"
},
{
"name": "User One",
REST API Reference | Learning | 1163

"id": "emplo000000000001000",
"type": "Owner"
}
],
"forExternal": false,
"createdOn": "2015-04-01T12:17:59.882+0530",
"updatedBy": "uone",
"updatedOn": "2015-04-01T12:17:59.882+0530",
"createdBy": "uone",
"createdId": "emplo000000000001000",
"split": {
"name": null,
"id": "domin000000000000001",
"type": null
},
"recommendable": false,
"flags": "0000000000",
"atList": [
{
"name": "RJTestAudType",
"id": "audie000000000001141",
"type": null
}
],
"totalItemCountInHierarchy": 0,
"totalSubListCount": 0,
"totalItemCount": 0,
"featured": false,
"supportedTypes": null,
"parentCategory": null,
"visibility": null
},
{
"name": "RJSampleSubCategory10",
"language": {
"name": "English",
"id": "lange000000000000001",
"type": null
},
"context": null,
"id": "categ000000000001043",
"state": null,
"owner": {
"name": "User One",
"id": "emplo000000000001000",
"type": null
},
"timestamp": null,
"description": "This is RJSampleCategory5",
"roles": [
{
"name": "User One",
"id": "emplo000000000001000",
"type": "Owner"
},
{
"name": "a1 one1",
"id": "persn000000000200148",
"type": "Viewer"
}
],
"forExternal": false,
REST API Reference | Learning | 1164

"createdOn": "2015-04-01T12:18:00.679+0530",
"updatedBy": "uone",
"updatedOn": "2015-04-01T12:18:00.679+0530",
"createdBy": "uone",
"createdId": "emplo000000000001000",
"split": {
"name": null,
"id": "domin000000000000001",
"type": null
},
"recommendable": false,
"flags": "0000000000",
"atList": [
{
"name": "RJTestAudType",
"id": "audie000000000001141",
"type": null
}
],
"totalItemCountInHierarchy": 0,
"totalSubListCount": 0,
"totalItemCount": 0,
"featured": false,
"supportedTypes": null,
"parentCategory": {
"name": "RJSampleCategory10",
"id": "categ000000000001042",
"type": null
},
"visibility": null
}
]

REMOVE A CATEGORY

Overview
Removes a category.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/learning/category/:categoryid?cascade=true
Note: cascade=true will remove all the sub-categories as well.

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Category's
ID.
https://<hostname-api.sabacloud.com>/v1/learning/category/name%3D<CategoryName>?cascade=true
REST API Reference | Learning | 1165

Note: cascade=true will remove all the sub-categories as well.

Calling Options
Table 321: Calling Options

Name Description Sample Value Data Type Required?

categoryid Category's ID categ000000000001039 string Yes

cascade Cascade Delete string No

ADD CATEGORIES TO A COURSE

Overview
Adds categories to a course and returns a reference to the course to which the Categories
were added.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/category/course/:courseid

Calling Options
Table 322: Calling Options

Name Description Sample Value Data Type Required?

courseid Course's ID cours000000000202106 string Yes

Request Body

[
"java.util.List",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "categ000000000001042",
displayName": "RJSampleCategory10"
},
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "categ000000000001041",
"displayName": "RJSampleCategory7"
}
REST API Reference | Learning | 1166

]
]

Return Values

{
"id": "cours000000000202106",
"displayName": "",
"href": "http://<hostname-api.sabacloud.com>/v1/Course/cours000000000202106"
}

ADD CATEGORIES TO A COURSE (LOOKUP BASED)

Overview
Adds categories to a course and returns a reference to the course to which the Categories
were added.
Note: Using this API you can list the categories simply by using lookup i.e. "displayName" and
"id" is not required.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/category/course/:courseid

Calling Options
Table 323: Calling Options

Name Description Sample Value Data Type Required?

courseid Course's ID cours000000000202106 string Yes

Request Body

[
"java.util.List",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "RJSampleCategory10"
},
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"displayName": "RJSampleCategory7"
}
REST API Reference | Learning | 1167

]
]

Return Values

{
"id": "cours000000000202106",
"displayName": "",
"href": "http://<hostname-api.sabacloud.com>/v1/Course/cours000000000202106"
}

REMOVE CATEGORY FROM A COURSE

Overview
Removes category from a course.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/learning/category/:categoryid/course/:courseid

Calling Options
Table 324: Calling Options

Name Description Sample Value Data Type Required?

categoryid Category's ID string Yes


categ000000000002464

courseid Course's ID cours000000000202106 string Yes

CREATE A NEW CATEGORY

Overview
Creates a new Category

Requires OAuth
No
REST API Reference | Learning | 1168

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/category/

Calling Options
Table 325: Calling Options

Name Description Sample Value Data Type Required?

@type Category DTO com.saba.rest.busi- string Yes


nesscompon-
ent.impl.Cat-
egoryRESTDTO

name Category Name Sample Category string Yes

language Category Language {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\a
"lnge000000000000001\",name\":
\"English\"}

owner Category Owner {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\"em-
po
l 000000000001000\"\,"name\":
\"User One\"}

parentCategory Category Parent {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\c
"ateg000000000001042\,"name\:"
\"Parent Cat-
egory\"}

roles Category Roles List No

description Category Description string No

split Category Domain {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\"dom-
n
i 000000000000001\"\,"name\":
\"world\"}
REST API Reference | Learning | 1169

Name Description Sample Value Data Type Required?

recommendable Is Category Recom- true String No


mendable

featured Is Category Featured true String No

forExternal Is Category For Extern- false String No


al Person

atList Audience Types asso- [\"java.util.ArrayL- object No


ciated with Category ist\",[{\"@type\":
\"com.saba.so-
cial.service.Sim-
pleDetail\", \"id\":
\"audei 00000000000141\\","name\":
\"RJTestAud-
Type\"},{\"@type\":
\"com.saba.so-
cial.service.Sim-
pleDetail\", \"id\":
\a
"udei000000000200000\,"name\:"
\"RJ\"}]]

tags Tags associated with [\"java.util.ArrayL- object No


Category ist\",[{\"@type\":
\"com.saba.so-
cial.service.Tag-
Detail\",\"name\":
\"Tag5\"}]]

Request Body

{
"@type":"com.saba.rest.businesscomponent.impl.CategoryRESTDTO",
"name": "RJSampleCategoryInsertwithTag1",
"language": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "English",
"id": "lange000000000000001"
},
"owner": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "User One",
"id": "emplo000000000001000"
},
"parentCategory": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "RJSampleCategory10",
"id": "categ000000000001003"
},
"roles":
[
"java.util.ArrayList",
[
{
"@type": "com.saba.social.service.SimpleDetail",
REST API Reference | Learning | 1170

"name": "a1 one1",


"id": "persn000000000200148",
"type": "Viewer"
}]
],
"description": "This is RJSampleCategory5",
"split": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "world",
"id": "domin000000000000001"
},
"recommendable": true,
"flags": "0000000000",
"featured": true,
"forExternal": false,
"totalItemCountInHierarchy": 0,
"totalSubListCount": 0,
"totalItemCount": 0,
"atList": [
"java.util.ArrayList",
[{
"@type": "com.saba.social.service.SimpleDetail",
"name": "RJTestAudType",
"id": "audie000000000001141"
}]
],
"tags": [
"java.util.ArrayList",
[
{
"@type": "com.saba.social.service.TagDetail",
"name": "Tag5"
},
{
"@type": "com.saba.social.service.TagDetail",
"name": "Tag6"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

language Language Language

parentCategory Category Name Category

Owner Username of Person Person, Internal/ Person, Ex-


ternal

split Domain name Domain

atList Audience Type Name Audience Type


REST API Reference | Learning | 1171

roles Share with Person / Team


Note:
Lookup will be performed in
following priority:
1. Person
2. Team

Return Values

{
"id": "categ000000000001005",
"displayName": "RJSampleCategoryInsertwithTag1",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001005"
}

UPDATE CATEGORY

Overview
Updates a Category

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/category

Calling Options
Table 326: Calling Options

Name Description Sample Value Data Type Required?

@type Category DTO com.saba.rest.busi- string Yes


nesscompon-
ent.impl.Cat-
egoryRESTDTO

id Category ID categ000000000001005 string Yes

name Category Name Sample Category string Yes


REST API Reference | Learning | 1172

Name Description Sample Value Data Type Required?

language Category Language {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\a
"lnge000000000000001\",name\":
\"English\"}

owner Category Owner {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\"em-
po
l 000000000001000\"\,"name\":
\"User One\"}

parentCategory Category Parent {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\c
"ateg000000000001042\,"name\:"
\"Parent Cat-
egory\"}

roles Category Roles List No

description Category Description string No

split Category Domain {\"@type\": object No


\"com.saba.so-
cial.service.Sim-
pleDetail\",\"id\":
\"dom-
n
i 000000000000001\"\,"name\":
\"world\"}

recommendable Is Category Recom- true string No


mendable

featured Is Category Featured true string No

forExternal Is Category For Extern- false string No


al Person
REST API Reference | Learning | 1173

Name Description Sample Value Data Type Required?

atList Audience Types asso- [\"java.util.ArrayL- object No


ciated with Category ist\",[{\"@type\":
\"com.saba.so-
cial.service.Sim-
pleDetail\", \"id\":
\"audei 00000000000141\\","name\":
\"RJTestAud-
Type\"},{\"@type\":
\"com.saba.so-
cial.service.Sim-
pleDetail\", \"id\":
\a
"udei000000000200000\,"name\:"
\"RJ\"}]]

tags Tags associated with [\"java.util.ArrayL- object No


Category ist\",[{\"@type\":
\"com.saba.so-
cial.service.Tag-
Detail\",\"name\":
\"Tag5\"}]]

Request Body

{
"@type":"com.saba.rest.businesscomponent.impl.CategoryRESTDTO",
"id":"categ000000000001005",
"name": "RJSampleCategoryInsertwithTag11",
"language": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "English",
"id": "lange000000000000001"
},
"owner": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "User One",
"id": "emplo000000000001000"
},
"parentCategory": {
"@type": "com.saba.social.service.SimpleDetail",
"name": "RJSampleCategory10",
"id": "categ000000000001003"
},
"roles":
[
"java.util.ArrayList",
[
{
"@type": "com.saba.social.service.SimpleDetail",
"name": "a1 one1",
"id": "persn000000000200148",
"type": "Viewer"
}]
],
"description": "This is RJSampleCategory5",
"split": {
"@type": "com.saba.social.service.SimpleDetail",
REST API Reference | Learning | 1174

"name": "world",
"id": "domin000000000000001"
},
"recommendable": true,
"flags": "0000000000",
"featured": true,
"forExternal": false,
"totalItemCountInHierarchy": 0,
"totalSubListCount": 0,
"totalItemCount": 0,
"atList": [
"java.util.ArrayList",
[{
"@type": "com.saba.social.service.SimpleDetail",
"name": "RJTestAudType",
"id": "audie000000000001141"
}]
],
"tags": [
"java.util.ArrayList",
[
{
"@type": "com.saba.social.service.TagDetail",
"name": "Tag5"
},
{
"@type": "com.saba.social.service.TagDetail",
"name": "Tag7"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

language Language Language

id Category Category

parentCategory Category Name Category

Owner Username of Person Person, Internal/ Person, Ex-


ternal

split Domain name Domain

atList Audience Type Name Audience Type

roles Share with Person / Team


Note:
Lookup will be performed in
following priority:
1. Person
2. Team
REST API Reference | Learning | 1175

Return Values

204 - No Content

FIND DETAILS OF CATEGORIES

Overview
Returns the details of the Categories along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(:criteria)&count=:count&startPage=:startPage
Examples:
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(ci_name%3D%3D333)
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(id%3D%3Dcateg000000000001021)
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(owner_id%3D%3Dpersn000000000001006)
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(flags%3D%3D0000000000)
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(for_external%3D%3Dtrue)
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(featured%3D%3Dtrue)
http://<hostname-api.sabacloud.com>/v1/learning/category?q=(parent_id%3D%3Dcateg000000000001021)

Calling Options
Table 327: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. tag- string Yes


the criteria field name Name%3D%3DTag5
with search value.
The list of search cri-
teria supported are
listed below with ex-
amples.

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1176

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Table 328: Criteria fields

Field name Field description Possible values Example

ci_name If this field is passed, ci_name%3D%3Dtest


category matching
that name will only re-
turned

created_on Date condition on cre-


creation time ated_on%3Dle%3D2016-
02-02

updated_on Date condition on up- up-


date time dated_on%3Dge%3D2016-
02-01

createdBy Username of creator createdBy%3D%3Dad-


min

updatedBy Username of updater updatedBy%3D%3Dad-


min

flags If flags is passed, cat- Flags%3D%3D


egories matching that 0000000000
flag will be returned.

visibility If visibility is passed as PRIVATE or PUBLIC Visibility%3D%3D


search criteria, cat-
egories having that
visibility will be re-
turned.

owner_id If owner_id (owner of


owner_id%3D%3D em-
the list) is passed as a plo000000000001001
search criteria, all
categories for that
owner will be re-
turned.

state If state is passed as a ACTIVE EXPIRED State%3D%3DACTIVE


search criteria, all
categories having
that state will be re-
turned.
REST API Reference | Learning | 1177

Field name Field description Possible values Example

supported_types If supported types is


passed as a search
criteria, all categories
matching that type
will be returned.

context_id If context_id is passed context_id%3D%3D


as a search criteria, dummy000000000000002
all categories having
that context id will be
returned.

context_type If context_type is con-


passed as a search text_type%3D%3DSYS-
context, all categories TEM
having that con-
text_type will be re-
turned.

parent_id If parent_id is passed parent_id%3D%3D


as a search context, categ000000000001080
all categories having
given id as a parent
category id will be re-
turned.

featured If featured is passed True False Featured%3D%3D true


as a search criteria, it
will return all categor-
ies having that fea-
tured value.

Return Values

{
"startIndex": 1,
"facets": [],
"totalResults": 3,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"id": "categ000000000001000",
"displayName": "test",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001000"
},
{
"id": "categ000000000001004",
"displayName": "RJSampleCategoryInsertwithTag",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001004"
},
{
REST API Reference | Learning | 1178

"id": "categ000000000001005",
"displayName": "RJSampleCategoryInsertwithTag11",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001005"
}
]
}

ADD TAGS TO CATEGORY

Overview
Adds tags to the Category.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/category/:id/tags

Calling Options
Table 329: Calling Options

Name Description Sample Value Data Type Required?

@type Category DTO com.saba.rest.busi- string Yes


nesscompon-
ent.impl.Cat-
egoryRESTDTO

id Category ID string Yes

tags Tags associated with [\"java.util.ArrayL- object No


Category ist\",[{\"@type\":
\"com.saba.so-
cial.service.Tag-
Detail\",\"name\":
\"Tag5\"}]]

Request Body

{
"@type": "com.saba.rest.businesscomponent.impl.CategoryRESTDTO",
"tags": [
"java.util.ArrayList",
[
{
REST API Reference | Learning | 1179

"@type": "com.saba.social.service.TagDetail",
"name": "Tagadd"
}
]
]
}

Return Values

{
"id": "categ000000000001000",
"displayName": "test",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001000"
}

REMOVE TAGS FROM CATEGORY

Overview
Removes tags from a Category.

Requires OAuth
No

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/learning/category/:categoryId/tags/:tagId

Calling Options
Table 330: Calling Options

Name Description Sample Value Data Type Required?

categoryId Category ID string Yes

tagId Tag ID string Yes

Return Values

{
"id": "categ000000000001000",
"displayName": "test",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/category/categ000000000001000"
}
REST API Reference | Learning | 1180

Catalog
REST endpoints for the learning data.

GET ALL DETAILS OF POLICIES ON COURSE, DELIVERY MODE OR


OFFERING

Overview
Returns all details of policies on course, delivery mode or offering.
Note: This API fetches effective policy values for the owner. The appliedFrom attribute
indicates the hierarchy policy from which the values are inherited.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/catalog/policy/{ownerId}

URL (User-friendly)
You can use a user-friendly URL which accepts a valid Course No / Class No / Delivery Mode
No and type (course, deliverymode or the delivery type name such as Web-Based /
Virtual%20Classroom / Blended) instead of the internal ID.
https://<hostname-api.sabacloud.com>/v1/catalog/policy/:uniqueNo?type=:type

Calling Options
Table 331: Calling Options

Name Description Sample Value Data Type Required?

ownerId Any valid Course, string No


Class or Delivery
Mode ID

Return Values

{
"policyInfo": [
{
"approvalChain": {
"nodes": [
{
REST API Reference | Learning | 1181

"subNodes": [
{
"approvalType": "manager"
}
],
"key": "1_3"
},
{
"subNodes": [
{
"approvalType": "alternateManager"
}
],
"key": "1_4"
}
],
"links": [
{
"from": "START",
"to": "1_3"
},
{
"from": "START",
"to": "1_4"
},
{
"from": "1_3",
"to": "END"
},
{
"from": "1_4",
"to": "END"
}
]
},
"policyValue": "approvalRequired",
"appliedFrom": "offering",
"policyName": "approvalPolicy"
},
{
"learnerCanMarkComplete": false,
"showBestAttemptScorePolicy": true,
"policyValue": "doNotOverrideSetting",
"daysAfterOrder": 12,
"appliedFrom": "domain",
"policyName": "overrideCompletionPolicy",
"isAutoComplete": true,
"managerCanMarkComplete": true,
"offeringCompletionRule": "autoCompleteWhenAllActivitiesCompleted",
"completionStatus": "unsuccessful",
"onlyScoreDefineCompletion": false,
"minimumAttendanceInPercentage": 98
}
]
}
REST API Reference | Learning | 1182

GET DETAILS OF (SPECIFIC) POLICIES ON COURSE, DELIVERY


MODE OR OFFERING

Overview
Returns details of specific policies on course, delivery mode or offering.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/catalog/policy/{ownerId}?policyName={policyName}

Calling Options
Table 332: Calling Options

Name Description Sample Value Data Type Required?

ownerId Any valid Course, string No


Class or Delivery
Mode ID

policyNames Value needs to be a string No


comma separated list
of valid policies for
that owner.
Policy names can be
overrideCompletion-
Policy, approvalPolicy,
recurringRegistration-
Policy, certificationOf-
Completion.

Return Values

{
"policyInfo": [
{
"learnerCanMarkComplete": false,
"showBestAttemptScorePolicy": true,
"policyValue": "doNotOverrideSetting",
"daysAfterOrder": 12,
"appliedFrom": "domain",
"policyName": "overrideCompletionPolicy",
"isAutoComplete": true,
"managerCanMarkComplete": true,
REST API Reference | Learning | 1183

"offeringCompletionRule": "autoCompleteWhenAllActivitiesCompleted",
"completionStatus": "unsuccessful",
"onlyScoreDefineCompletion": false,
"minimumAttendanceInPercentage": 98
}
]
}

UPDATE DETAILS OF POLICIES ON COURSE, DELIVERY MODE OR


OFFERING

Overview
Allows updating details of policies on course, delivery mode or offering.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/catalog/policy/{ownerId}

URL (User-friendly)
You can use a user-friendly URL which accepts a valid Course No / Class No / Delivery Mode
No and type (course, deliverymode or the delivery type name such as Web-Based /
Virtual%20Classroom / Blended) instead of the internal ID.
https://<hostname-api.sabacloud.com>/v1/catalog/policy/:uniqueNo?type=:type

Calling Options
Table 333: Calling Options

Name Description Sample Value Data Type Required?

ownerId Any valid Course, string Yes


Class or Delivery
Mode ID

policyInfo Policy details string Yes

Request Body

{
"policyInfo": [
{
"approvalChain": {
"nodes": [
{
REST API Reference | Learning | 1184

"subNodes": [
{
"approvalType": "manager"
}
],
"key": "1_3"
},
{
"subNodes": [
{
"approvalType": "alternateManager"
}
],
"key": "1_4"
}
],
"links": [
{
"from": "START",
"to": "1_3"
},
{
"from": "START",
"to": "1_4"
},
{
"from": "1_3",
"to": "END"
},
{
"from": "1_4",
"to": "END"
}
]
},
"policyValue": "approvalRequired",
"policyName": "approvalPolicy"
},
{
"learnerCanMarkComplete": false,
"showBestAttemptScorePolicy": true,
"policyValue": "doNotOverrideSetting",
"daysAfterOrder": 12,
"policyName": "overrideCompletionPolicy",
"isAutoComplete": true,
"managerCanMarkComplete": true,
"offeringCompletionRule": "autoCompleteWhenAllActivitiesCompleted",
"completionStatus": "unsuccessful",
"onlyScoreDefineCompletion": false,
"minimumAttendanceInPercentage": 98
}
]
}
REST API Reference | Learning | 1185

Table 334: List of policies

Policy Name Value

Recurring Registration recurringRegistrationPolicy


Here are valid policy values:
This policy is valid for Course
• doNotOverrideSetting (De-
and Non-Recurring WBT
fault Value)
Class.
• allowRecurringRegistration
• allowRecurringRegistration-
ForInProgressOrSuccessful-
Completed
• allowRecurringRegistration-
ForInProgressOrCompleted
• allowRecurringRegistration-
ForInProgress

Completion Policy overrideCompletionPolicy


Here are valid policy values:
This policy is valid for Course,
• doNotOverrideSetting (De-
Class and Delivery Mode.
fault Value)
• overrideSetting
Note: If set to overrideSet-
ting, additional settings can
be set as mentioned below.

Certification of Completion certificationOfCompletion


Here are valid policy values:
This policy is valid for Course
• true
only if the Certification of
Completion microsite prop- • false (Default Value)
erty is enabled.

Approval Required to Re- approvalPolicy


Here are valid policy values:
gister
• doNotOverrideSetting (De-
This policy is valid for Course
fault Value)
and Class.
• approvalNotRequired
• approvalRequired

Completion Policy - additional settings


With this policy there are following additional settings:
• learnerCanMarkComplete
This is available to Course, Class and Delivery Mode.
Value: true or false (Default Value
• managerCanMarkComplete
This is available to Course, Class and Delivery Mode.
Value: true or false (Default Value)
REST API Reference | Learning | 1186

• showBestAttemptScorePolicy
This is available to Course and Class.
Value: true or false (Default Value)
• daysAfterOrder, completionStatus
This is available to Course, Class and Delivery Mode. Both of these values must be set
together.
Value:
• daysAfterOrder: 0 or more days
• completionStatus: successful, unsuccessful, cancelWithCharge, cancelWithoutCharge
• Default Value: nul
• offeringCompletionRule
This is available to only class.
Value:
• autoCompleteWhenAllActivitiesCompleted (Default Value)
• autoCompleteWhenAllActivitiesCompletedOrNoAttemptAvailable
• mustBeMarkedManually
• onlyScoreDefineCompletion
This is available only to blended and virtual class offering.
Value: true or false (Default Value)
• minimumAttendanceInPercentage
This is available only to blended and virtual classroom.
Value: 0 to 100
Default Value: null

Approval Required to Register - additional details


If the policyValue is approvalRequired, and approvalChain is not provided, it will not modify
default / existing approval chain.
If approvalChain is provided,approvalChainType can be provided with following values to
build simple approval chain:
onlyManager Only Manager Approval required

managerOrAlternateManager Manager OR Alternate Manager Approval


Required

onlyProfileAdditionalApprover Only Profile Additional Approver's Approval is


Required.

managerOrProfileAdditionalApprover Manager OR Profile Additional Approver's


Approval is Required

managerAndProfileAdditionalApprover Manager AND Profile Additional Approver's


Approval is Required
REST API Reference | Learning | 1187

managerAndThen2ndLevelManager Approval Chain -> Manager at level 1 and "2nd


Level Manager" at Level 2

onlyOrganizationManager Only Organization Manager Approval required

If approvalChainType is not provided, the user can build custom approval chain with Node
and links json like below:
Request Body:

{
"policyInfo": [

{
"approvalChain": {
"nodes": [
{
"subNodes": [
{
"approvalType": "manager"
}
],
"key": "manager"
}
],
"links": [
{
"from": "START",
"to": "manager"
},
{
"from": "manager",
"to": "END"
}
]
},
"policyValue": "approvalRequired",
"policyName": "approvalPolicy"
},
]}

Note:
• For sequential or alternate(OR) approval chain, make proper entries in links from and to
with node key.
• For parallel approval chain (AND), add multiple sub nodes.

For exmaple:
"nodes": [
{
"subNodes": [
{
"approvalType": "manager"
},
{
"approvalType": " individualPerson",
"personId": " emplo000000000001001",
"username": " uone"
}
REST API Reference | Learning | 1188

],
"key": "manager"
}
],

Here, valid approval types:


• manager
• alternateManager
• profileAdditionalApprover
• secondLevelManager
• thirdLevelManager
• organizationManager
• individualPerson (additional attribute personId or username is required)

Curriculum
REST endpoints for the learning data.
The deeplinks that the web services return will be based on the URL of the default (SabaCloud)
microsite. For example:

https://<hostname>.sabacloud.com/Saba/Web_spf/ATHDB1/common/learningeventdetail/curra000000000200180

GET DETAILS OF A CURRICULUM

Overview
Returns the details of a curriculum.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/curriculum/:currId

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Curriculum's
ID.
https://<hostname-api.sabacloud.com>/v1/curriculum/name%3D<CurriculumName>
Note: If there are multiple records for the name, the following error message will indicate
the same:
REST API Reference | Learning | 1189

(120592) More than 1 record found for provided value 'SomeCurriculum'

Calling Options
Table 335: Calling Options

Name Description Sample Value Data Type Required?

currId Curriculum's ID curra000000000005646 string Yes

Note: Use includeassociation=true as a query param to get a list of objects associated with
an object.

Return Values

{
"keywords": [],
"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/ATHDB1/common/learningeventdetail/curra000000000005646"

],
"description": "Test_Curriculum_123",
"name": "Test_Curriculum_123",
"paths": [
{
"learningModules": [
{
"is_reqd": true,
"learningInterventions": [
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000040633",
"displayName": "@$# $ 8-updated name_3_Testingw"
},
"is_waiver": false,
"sequence": 1,
"id": "edupl000000000015055"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000040636",
"displayName": "@$# $ 8-updated name_3_Testingw1"
},
"is_waiver": false,
"sequence": 2,
"id": "edupl000000000015056"
},
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000006559",
"displayName": "!@#$%^*&()äẰóñïéê\""
},
"is_waiver": false,
REST API Reference | Learning | 1190

"sequence": 3,
"id": "edupl000000000015057"
}
],
"notes": "Module_12",
"reqd_no_of_items": 2,
"is_waiver": true,
"track_id": null,
"sequence": 1,
"name": "Module_12",
"id": "cegrp000000000010789"
}
],
"isrecertification_track": false,
"is_default_path": true,
"is_path_recalculation_done": false,
"name": "Test_Path_1",
"id": "track000000000010510"
}
],
"disp_learner": false,
"disp_callcenter": false,
"self_register": true,
"featured": false,
"vendor_id": null,
"avl_from": "2016-08-24T00:00:00.000-0400",
"disc_from": null,
"createGroupPolicyVal": false,
"target_days": 12,
"learningevent_id": "00046170",
"version": null,
"group": null,
"status": "INEFFECT",
"customValues": {
"ExCustom6": null,
"ExCustom5": null,
"custom0": null,
"ExCustom8": null,
"ExCustom9": null,
"custom9": null,
"custom3": false,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"ExCustom2": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "curra000000000005646",
"updated_on": "2016-08-24T02:45:55.000-0400",
"created_on": "2016-08-24T02:45:48.000-0400",
"updated_by": "superuser",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
REST API Reference | Learning | 1191

"created_by": "superuser",
"OneClickRegistration": false,
"auto_launch": false,
"associations": {
"owner": [
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427"
}
],
"evaluation": [
{
"expiresIn": "No Expiration",
"evaluationType": "Learner",
"evaluationSchedule": "Immediately on completion",
"expiresInXDays": 0,
"activEvaluation": "Yes",
"id": "cocnt000000000024958",
"evaluationStatusValue": 0,
"evaluationStatus": "Published",
"evaluationVersion": "1"
}
],
"attachment": [
{
"private": false,
"attachmentType": "url",
"name": "Attachment1",
"id": "notdc000000000765283",
"doc_type": ".url",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://www.saba.com",
"content": "'https://www.saba.com'"
}
],
"certification_template": [
{
"displayName": "Certification of Completion For Courses",
"id": "crttp000000000001340"
}
],
"audienceType": [
{
"displayName": "Guest",
"id": "audie000000000000003"
}
],
"keyword": [
{
"displayName": "keyword2",
"id": "kywrd000000000201664"
}
],
"category": [
{
"displayName": "Devices",
"id": "categ000000000004381"
}
REST API Reference | Learning | 1192

]
}
}

FIND DETAILS OF CERTIFICATION/CURRICULUM

Overview
Returns the details of the Certification/Curriculum along with the ID, Name and the Deeplink
URL based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/:componentName?f=(:display)&q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 336: Calling Options

Name Description Sample Value Data Type Required?

componentName The name of the de- curriculum enumerated Yes


sired component
(certification or cur-
riculum).

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1193

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

display Acceptable values are owners,certifica- string No


(case-sensitive): tion_tem-
plates,audience-
• owners
Types,keywords,cat-
• certification_tem- egories,evalu-
plates ations
• audienceTypes
• keywords
• categories
• evaluations
Note: A limit of 100
records per page will
be applied if you use
any of these display
parameter. Data will
be returned in case of
includeDetails=true as
well as includeDe-
tails=false.

Fields covered under search criteria (criteria_field)

Field name Field description Possible values Example

certi_name Name of the certifica- certi_name%3D%3Dabc


tion.

certi_target_days Target days of the certi_tar-


certification. get_days%3D%3D

certi_valid_till Valid till value of the certi_val-


certification. id_till%3D%3d100

certi_disc_from Discountinuation date certi_disc_from


of the certification.

certi_avl_from Certification available certi_avl_from


from date.

certi_notify_before Notify before of the certi_notify_be-


certification. fore%3d%3d130

certi_custom0 Custom 0 field of the certi_cus-


certification. tom0%3D%3D
This%20is%20cus-
tom0
REST API Reference | Learning | 1194

Field name Field description Possible values Example

certi_custom1 Custom 1 field of the certi_custom1%3D%3D


certification. This%20is%20custom1

certi_custom2 Custom 2 field of the certi_cus-


certification. tom2%3D%3D
This%20is%20custom2

certi_custom3 Custom 3 field of the certi_cus-


certification. tom3%3D%3D
This%20is%20custom3

certi_custom4 Custom 4 field of the certi_cus-


certification. tom4%3D%3D
This%20is%20custom4

certi_created_by Created by field of the certi_cre-


certification. ated_by%3D%3Duone

certi_created_on Created on field of the certi_cre-


certification. ated_on%3D%3D
5/8/2002

certi_updated_by Updated by field of certi_up-


the certification. dated_by%3D%3Duone

certi_updated_on Updated on field of certi_up-


the certification. dated_on%3D%3D
5/8/2002

certi_status Status of the certifica- certi_status%3D%3D100


tion.

certi_description Description of the certi_descrip-


certification. tion%3D%3D
descr000000000103641

base_type Distinguishes whether 0 - Certification base_type%3D%3D0


its certification.
1- Curriculum

audience_type_id Associated Audience audi-


type id of the certific- ence_type_id%3D%3D
ation. audie000000000001021

aud_type_out- Returns all those certi- aud_type_out-


er_search fication which has er_search%3D%3D
audience type as a audie000000000001021
given value or null.

gov_owner Owner id of compon- gov_owner%3D%3De-


ent. m-
plo000000000200100

learningevent_id Id(not internal id) of learningevent_id%3D%3D


certification. 200056
REST API Reference | Learning | 1195

Field name Field description Possible values Example

name Name of the certifica- Name%3D%3Dabc


tion.

hide_discontin- Returns all certifica- hide_discontin-


ued_event tion except those ued_event%3D%3D
which are discontin- 5/8/2002
ued.

category_comppicker Parent or own cat- category_comppick-


egory id associated er%3D%3D
with the certification ddcls000000000001480

category_hierarchy Returns full hierarchy 0->No full hierarchy 1- category_hier-


of category associ- >Full hierarchy archy%3D%3D cat-
ated with the certific- egory_hierarchy
ation.

csvinput Name of the certifica-


tion.

category_id If this field is passed category_id%3D%3D


all those certification categ000000000001125
will be returned which
has category with giv-
en category id.

category_name If this field is passed category_id%3D%3D


all those certification A10008
will be returned which
has category with giv-
en category name.

at_check Adding this condition true or false at_check%3D%3Dtrue


peforms an Audience
Type check and only
the certifications /
curricula matching
the Audience Type of
the learner will be re-
turned.
Note: Irrespective of
the value of the
at_check query para-
meter, the Audience
Type check will be
done if it is added in
search query.
REST API Reference | Learning | 1196

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"keywords": [],
"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/ATHDB1/common/learningeventdetail/curra000000000005247"

],
"description": "",
"name": "001",
"paths": [
{
"learningModules": [
{
"is_reqd": true,
"learningInterventions": [
{
"is_reqd": false,
"owner_id": null,
"part_id": {
"id": "cours000000000040747",
"displayName": "Test1"
},
"is_waiver": false,
"sequence": 1,
"id": "edupl000000000013629"
}
],
"notes": null,
"reqd_no_of_items": 1,
"is_waiver": true,
"track_id": null,
"sequence": 1,
"name": "001Module",
"id": "cegrp000000000009647"
}
],
"isrecertification_track": false,
"is_default_path": true,
"is_path_recalculation_done": false,
"name": "001Module",
"id": "track000000000009288"
}
],
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"featured": false,
"vendor_id": null,
"avl_from": "2016-03-21T00:00:00.000-0400",
"disc_from": null,
"createGroupPolicyVal": false,
"target_days": 0,
"learningevent_id": "00032318",
"version": null,
"group": null,
"status": "DRAFT",
"customValues": {
REST API Reference | Learning | 1197

"ExCustom6": null,
"ExCustom5": null,
"custom0": null,
"ExCustom8": null,
"ExCustom9": null,
"custom9": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"ExCustom2": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "curra000000000005247",
"updated_on": "2016-03-21T02:28:42.000-0400",
"created_on": "2016-03-21T02:23:51.000-0400",
"updated_by": "uone",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"created_by": "uone"
}
],
"hasMoreResults": true,
"itemsPerPage": 1,
"totalResults": 478,
"OneClickRegistration": false,
"auto_launch": false
}

Return Values (using display fields)

{
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null
},
"learningevent_id":"200073",
"vendor_id":null,
"notify_before":null,
"valid_till":null,
REST API Reference | Learning | 1198

"createGroupPolicyVal":false,
"paths":[
{
"learningModules":[
{
"track_id":"track000000000200200",
"learningInterventions":[
{
"owner_id":null,
"is_reqd":false,
"sequence":1,
"is_waiver":false,
"part_id":{
"id":"cours000000000200000",
"displayName":"Downloadable Product 1"
},
"id":"edupl000000000201162"
}
],
"name":"module1",
"is_reqd":true,
"notes":null,
"sequence":1,
"is_waiver":true,
"reqd_no_of_items":1,
"id":"cegrp000000000200200"
}
],
"name":"path1",
"disc_from":null,
"is_path_recalculation_done":false,
"isrecertification_track":false,
"is_default_path":true,
"id":"track000000000200200"
}
],
"deepLinkUrls":[

"http://localhost/Saba/Web_spf/Social/common/learningeventdetail/crtfy000000000200180"

],
"keywords":[
{
"id":"kywrd000000000200780",
"displayName":"key1"
},
{
"id":"kywrd000000000200781",
"displayName":"key3"
}
],
"parent":null,
"history_lookup_policy":"CheckHistoryUptoExpiredRevoked",
"past_credit_days":null,
"name":"abc",
"description":"",
"version":null,
"group":null,
"status":"INEFFECT",
"avl_from":"2009-07-10T00:00:00.000+0530",
"featured":false,
"disc_from":null,
REST API Reference | Learning | 1199

"target_days":0,
"id":"crtfy000000000200180",
"created_on":"2009-07-10T03:05:52.000+0530",
"updated_on":"2021-05-20T16:50:01.000+0530",
"created_by":"uone",
"updated_by":"uone",
"grace_period":null,
"reAssignedTargetDays":null,
"OneClickRegistration":false,
"enforce_module_seq":false,
"self_register":true,
"disp_callcenter":true,
"disp_learner":true,
"enforce_target_date":false,
"auto_launch":false,
"enforce_required_course_reg":false,
"associations":{
"owner":[
{
"displayName":"Two User",
"id":"emplo000000000001001"
},
{
"displayName":"Two1 User1",
"id":"emplo000000000001031"
}
],
"evaluation":[

],
"attachment":[
{
"private":false,
"attachmentType":"file",
"name":"certification",
"id":"notdc000000000234615",
"doc_type":"JPEG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/jpeg",
"url":null,

c
"o
S
/n
a
'e
tb
"n
:a
"ta
/p
c
/o
imponen?
tssp=pag
g
e
sInored&do
=tsh
IowAa
tchmen&
tshowb
niary=rtue&aa
tc
2
h
7
d
1C
.-I=.2F34FA8A26FD
6
13
126986B43788555739A9A40D
A
1A
1542DBF9956BC
E
1&
-F.-m
mi eType
m
=iagp
ej/eg&se
5
s
d
C
s
.-I=.0E2F6B486305400FC69BB6BD0586
3
1CFA53C0385E6
D
1E9B306B246
0
1EE
F
16606EBE26BF479A6626ACEE864300E8D
"5'-5.-

},
{
"private":false,
"attachmentType":"file",
"name":"certificationCUSTOM_RES_280p140",
"id":"notdc000000000234616",
"doc_type":"PNG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/png",
"url":null,

c"o
S
/n
a
'e
tb
"n
:a
"ta
/p
c
/o
imponen?
tssp=pag
g
e
sInored&do
=tsh
IowAa
tchmen&
tshowb
niary=rtue&aa
tc
2
7
h
d
1C
.-I=.2F34FA8A26FD
6
13
126986B437889BD93C0A
2
1DA8
2
128A75FE420C69BE&
-2.-m
mi eType
m
=iagep
/ng&se
5
s
d
C
.-sI=.0E2F6B486305400FC69BB6BD0586
3
1CFA53C0385E6
D
1E9B306B246
0
1EE
F
16606EBE26BF479A6626ACEE864300E8D
"5'-5.-
REST API Reference | Learning | 1200

}
],
"certification_template":[
{
"displayName":"System Defined Template for Certifications",
"id":"crttp000000000000002"
},
{
"displayName":"System Defined Template for Recurring Courses",
"id":"crttp000000000000004"
}
],
"audienceType":[
{
"displayName":"subaud0021",
"id":"seatc000000000001122"
},
{
"displayName":"aud_1",
"id":"audie000000000001021"
}
],
"keyword":[
{
"displayName":"key1",
"id":"kywrd000000000200780"
},
{
"displayName":"key3",
"id":"kywrd000000000200781"
}
],
"category":[
{
"displayName":"123_CAT_DI",
"id":"categ000000000001663"
},
{
"displayName":"Business Intelligence",
"id":"categ000000000001479"
}
]
},
"expiryType":"duration",
"isExpiresInMonths":false,
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"recertifyDays":0
}

FIND DETAILS OF CERTIFICATION/CURRICULUM (Using POST -


Range based search)

Overview
Returns the details of the Certification/Curriculum along with the ID, Name and the Deeplink
URL based on the provided search criteria.
REST API Reference | Learning | 1201

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/:componentName/searchQuery?f=(:display)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 337: Calling Options

Name Description Sample Value Data Type Required?

conditions The search condi- [{"name": string Yes


tions. "name","operat-
or": "==","value":
You can use any field
"Blendedcertver-
with "isSearchFilter":
en_US"}]
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
You can use search
operators such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=

componentName The name of the de- certification enumerated Yes


sired component.
[ "certification",
"curriculum" ]

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Returns the details of true boolean No


the Certification/Cur-
riculum in the search.
REST API Reference | Learning | 1202

Name Description Sample Value Data Type Required?

display Acceptable values are owners,certifica- string No


(case-sensitive): tion_tem-
plates,audience-
• owners
Types,keywords,cat-
• certification_tem- egories,evalu-
plates ations
• audienceTypes
• keywords
• categories
• evaluations
Note: A limit of 100
records per page will
be applied if you use
any of these display
parameter. Data will
be returned in case of
includeDetails=true as
well as includeDe-
tails=false.

Request Body

{
"conditions": [
{
"name": "category_name",
"operator": "==",
"value": "000001FeaturedCatenglish"
}]}

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"keywords": [],
"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/ATHDB1/common/learningeventdetail/curra000000000005247"

],
"description": "",
"name": "001",
"paths": [
{
"learningModules": [
{
"is_reqd": true,
"learningInterventions": [
{
"is_reqd": false,
REST API Reference | Learning | 1203

"owner_id": null,
"part_id": {
"id": "cours000000000040747",
"displayName": "Test1"
},
"is_waiver": false,
"sequence": 1,
"id": "edupl000000000013629"
}
],
"notes": null,
"reqd_no_of_items": 1,
"is_waiver": true,
"track_id": null,
"sequence": 1,
"name": "001Module",
"id": "cegrp000000000009647"
}
],
"isrecertification_track": false,
"is_default_path": true,
"is_path_recalculation_done": false,
"name": "001Module",
"id": "track000000000009288"
}
],
"disp_learner": true,
"disp_callcenter": true,
"self_register": true,
"featured": false,
"vendor_id": null,
"avl_from": "2016-03-21T00:00:00.000-0400",
"disc_from": null,
"createGroupPolicyVal": false,
"target_days": 0,
"learningevent_id": "00032318",
"version": null,
"group": null,
"status": "DRAFT",
"customValues": {
"ExCustom6": null,
"ExCustom5": null,
"custom0": null,
"ExCustom8": null,
"ExCustom9": null,
"custom9": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"ExCustom2": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "curra000000000005247",
"updated_on": "2016-03-21T02:28:42.000-0400",
REST API Reference | Learning | 1204

"created_on": "2016-03-21T02:23:51.000-0400",
"updated_by": "uone",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"created_by": "uone"
}
],
"hasMoreResults": true,
"itemsPerPage": 1,
"totalResults": 478,
"OneClickRegistration": false,
"auto_launch": false
}

Return Values (using display fields)

{
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null
},
"learningevent_id":"200073",
"vendor_id":null,
"notify_before":null,
"valid_till":null,
"createGroupPolicyVal":false,
"paths":[
{
"learningModules":[
{
"track_id":"track000000000200200",
"learningInterventions":[
{
"owner_id":null,
"is_reqd":false,
"sequence":1,
"is_waiver":false,
"part_id":{
"id":"cours000000000200000",
"displayName":"Downloadable Product 1"
},
"id":"edupl000000000201162"
}
],
"name":"module1",
"is_reqd":true,
"notes":null,
REST API Reference | Learning | 1205

"sequence":1,
"is_waiver":true,
"reqd_no_of_items":1,
"id":"cegrp000000000200200"
}
],
"name":"path1",
"disc_from":null,
"is_path_recalculation_done":false,
"isrecertification_track":false,
"is_default_path":true,
"id":"track000000000200200"
}
],
"deepLinkUrls":[

"http://localhost/Saba/Web_spf/Social/common/learningeventdetail/crtfy000000000200180"

],
"keywords":[
{
"id":"kywrd000000000200780",
"displayName":"key1"
},
{
"id":"kywrd000000000200781",
"displayName":"key3"
}
],
"parent":null,
"history_lookup_policy":"CheckHistoryUptoExpiredRevoked",
"past_credit_days":null,
"name":"abc",
"description":"",
"version":null,
"group":null,
"status":"INEFFECT",
"avl_from":"2009-07-10T00:00:00.000+0530",
"featured":false,
"disc_from":null,
"target_days":0,
"id":"crtfy000000000200180",
"created_on":"2009-07-10T03:05:52.000+0530",
"updated_on":"2021-05-20T16:50:01.000+0530",
"created_by":"uone",
"updated_by":"uone",
"grace_period":null,
"reAssignedTargetDays":null,
"OneClickRegistration":false,
"enforce_module_seq":false,
"self_register":true,
"disp_callcenter":true,
"disp_learner":true,
"enforce_target_date":false,
"auto_launch":false,
"enforce_required_course_reg":false,
"associations":{
"owner":[
{
"displayName":"Two User",
"id":"emplo000000000001001"
},
REST API Reference | Learning | 1206

{
"displayName":"Two1 User1",
"id":"emplo000000000001031"
}
],
"evaluation":[

],
"attachment":[
{
"private":false,
"attachmentType":"file",
"name":"certification",
"id":"notdc000000000234615",
"doc_type":"JPEG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/jpeg",
"url":null,

c
"o
S
/n
a
'e
tb
"n
:a
"ta
/p
c
/o
imponen?
tssp=pag
g
e
sInored&do
=tsh
IowAa
tchmen&
tshowb
niary=rtue&aa
tc
2
h
7
d
1C
.-I=.2F34FA8A26FD
6
13
126986B43788555739A9A40D
A
1A
1542DBF9956BC
E
1&
-F.-m
mi eType
m
=iagp
ej/eg&se
5
s
d
C
s
.-I=.0E2F6B486305400FC69BB6BD0586
3
1CFA53C0385E6
D
1E9B306B246
0
1EE
F
16606EBE26BF479A6626ACEE864300E8D
"5'-5.-

},
{
"private":false,
"attachmentType":"file",
"name":"certificationCUSTOM_RES_280p140",
"id":"notdc000000000234616",
"doc_type":"PNG",
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"category":"image/png",
"url":null,

c"o
S
/n
a
'e
tb
"n
:a
"ta
/p
c
/o
imponen?
tssp=pag
g
e
sInored&do
=tsh
IowAa
tchmen&
tshowb
niary=rtue&aa
tc
2
7
h
d
1C
.-I=.2F34FA8A26FD
6
13
126986B437889BD93C0A
2
1DA8
2
128A75FE420C69BE&
-2.-m
mi eType
m
=iagep
/ng&se
5
s
d
C
.-sI=.0E2F6B486305400FC69BB6BD0586
3
1CFA53C0385E6
D
1E9B306B246
0
1EE
F
16606EBE26BF479A6626ACEE864300E8D
"5'-5.-

}
],
"certification_template":[
{
"displayName":"System Defined Template for Certifications",
"id":"crttp000000000000002"
},
{
"displayName":"System Defined Template for Recurring Courses",
"id":"crttp000000000000004"
}
],
"audienceType":[
{
"displayName":"subaud0021",
"id":"seatc000000000001122"
},
{
"displayName":"aud_1",
"id":"audie000000000001021"
}
],
REST API Reference | Learning | 1207

"keyword":[
{
"displayName":"key1",
"id":"kywrd000000000200780"
},
{
"displayName":"key3",
"id":"kywrd000000000200781"
}
],
"category":[
{
"displayName":"123_CAT_DI",
"id":"categ000000000001663"
},
{
"displayName":"Business Intelligence",
"id":"categ000000000001479"
}
]
},
"expiryType":"duration",
"isExpiresInMonths":false,
"locale":{
"id":"local000000000000001",
"displayName":"English"
},
"recertifyDays":0
}

CREATE A NEW CURRICULUM

Overview
Creates a curriculum

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/curriculum

Calling Options
Table 338: Calling Options

Name Description Sample Value Data Type Required?

name Name of the cur- curra1011 string Yes


riculum
REST API Reference | Learning | 1208

Name Description Sample Value Data Type Required?

description Description of the desc string No


curriculum

avl_from Curriculum Available 2002-05- string Yes


from 01T00:00:00.000+0530

disc_from Curriculum Discontin- 2003-05- string No


ued from 01T00:00:00.000+0530

version Version of the cur- 1.2 string No


riculum

status Status of the cur- INEFFECT string Yes


riculum

target_days Target days 123 string No

vendor_id Vendor's ID object No


Supports lookup (Per-
son Ex).

featured Whether the cur- true string No


riculum is featured

learningevent_id Learning Event's ID string No

securityDomain The domain for the object Yes


certification {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

paths Paths string No


• Path4-BB
• Path4-1

customValues Custom Values string No

part_id ID of the part object No

group Group string No

parent Parent object No


Supports lookup (Cur-
riculum).

OneClickRegistra- A flag to indicate the false string No


tion one click registration.
accepts true/false
REST API Reference | Learning | 1209

Name Description Sample Value Data Type Required?

auto_launch A flag to indicate auto false string No


launch. accepts
true/false

enforce_mod- Enforce Module Se- false string No


ule_seq quencing

enforce_tar- Enforce Target Date false string No


get_date

associations Association data string No

recertifyDays Retake this certifica- true integer No


tion after X days.
Default value: Null.
API returns 0, if null
Note: Only supported
when the Recertifica-
tion setting is enabled
under the Certifica-
tion service.

isExpiresIn- Is valid_till attribute true string No


Months value is in month or
not.
Default value: false
Note: Only supported
when the Advanced
Compliance function-
ality is enabled.

disp_learner Display for learner. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.
REST API Reference | Learning | 1210

Name Description Sample Value Data Type Required?

disp_callcenter Display for call center. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

self_register Allow self-registra- true string No


tion.
Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

expiryType Expiration type. Pos- duration string No


sible values are dura-
tion and dayOfMonth.
Default value: dura-
tion
Note: Expiry type
dayOfMonth is suppor-
ted only when the Ad-
vanced Compliance
functionality is en-
abled.
REST API Reference | Learning | 1211

Name Description Sample Value Data Type Required?

expiresOnDay Expires on day value. 10 string No


Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnMonth Expires on month 05 string No


value.
Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.

nextExpiryS- 02 string No
Default value: 01
tartsOnDay
Note: Supported Only
when expiryType is
dayOfMonth.

nextExpiryS- 02 string No
Default value: 01
tartsOnMonth
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnFre- The number of years 02 integer No


quency after which the expiry
cycle repeats.
Default value: 1
Note: Supported Only
when expiryType is
dayOfMonth.

marked_for_com- Mark learning item for false boolean No


pliance compliance

Note: If the Advanced Compliance functionality is enabled and:


• "expiryType=duration" and "isExpiresInMonths=false" then expiration and recertification
would be set in days
• "expiryType=duration" and "isExpiresInMonths=true" then expiration and recertification
would be set in months
If the Advanced Compliance functionality is disabled:
• Expiration and recertification would be in days irrespective of the value passed for
expiryType
REST API Reference | Learning | 1212

More details on the expiration date


When you set expiryType=dayOfMonth in the Request Body then the expiration date gets
set based on the value passed in:
• expiresOnDay
• expiresOnMonth
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth
• expiresOnFrequency
If certifications are acquired after the day (nextExpiryStartsOnDay) of month
(nextExpiryStartsOnMonth) specified in these fields, then the new expiry cycle for those
certifications is calculated as one year after the expiration date calculated using Expires On
and Frequency values.
For example, if expiresOnDay = 1, expiresOnMonth = 12, nextExpiryStartsOnDay = 1,
nextExpiryStartsOnMonth = 7, expiresOnFrequency = 2 then:
Expires On: Dec 01st, Frequency (Years): 2 and New Expiry Cycle Starts On: July 1st
Here are a few more examples:
• Learner acquires the certification for the first time, and if the Acquired On date is May 01,
2019, then the expiration date is calculated as Dec 01, 2020
• Learner acquires the certification for the first time, and if the Acquired On date is August
01, 2019, then the expiration date is calculated as Dec 01, 2020 + 1 year = Dec 01, 2021
• Learner acquires the certification from Acquired-Recertification Needed state, and the
current expiration date is Dec 01, 2020, then the new expiration date is calculated as Dec
01, 2020 + 2 years = Dec 01, 2022

Request Body

{
"name": "Curriculum Rest Test 107",
"description": "\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t",
"version": null,
"group": null,
"status": "INEFFECT",
"featured": false,
"paths": [
{
"name": "Path4-BB",
"isrecertification_track": false,
"is_default_path": true,
"learningModules": [
{
"name": "Module4-1-1",
"sequence": 1,
"is_reqd": true,
"notes": null,
"learningInterventions": [
{
"sequence": 1,
"is_reqd": false,
"part_id": {
"id": "cours000000000001080",
"displayName": "Attendance Check"
},
"owner_id": null,
"is_waiver": false,
REST API Reference | Learning | 1213

"id": "edupl000000000200022"
}
],
"reqd_no_of_items": 1,
"is_waiver": true,
"id": "cegrp000000000200011"
}
]
},
{
"name": "Path4-1",
"isrecertification_track": false,
"is_default_path": true,
"learningModules": [
{
"name": "Module4-1-1",
"sequence": 1,
"is_reqd": true,
"notes": null,
"learningInterventions": [
{
"sequence": 1,
"is_reqd": false,
"part_id": {
"id": "cours000000000001080",
"displayName": "Attendance Check"
},
"owner_id": null,
"is_waiver": false,
"id": "edupl000000000200022"
}
],
"reqd_no_of_items": 1,
"is_waiver": true,
"id": "cegrp000000000200011"
}
]
}
],
"vendor_id": null,
"avl_from": "2001-08-01T00:00:00.000+0530",
"disc_from": "2001-09-24T00:00:00.000+0530",
"target_days": 0,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "curra000000000001003",
"OneClickRegistration": false,
"auto_launch": false,
REST API Reference | Learning | 1214

"associations": {
"owner": [
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427"
}
],
"evaluation": [
{
"evaluation": [
{
"expiresIn": "noExpiration",
"expiresInXDays": 0,
"id": "cninv000000000001501"
}
]
}
],
"attachment": [
{
"attachment": [
{
"private": true,
"attachmentType": "url",
"name": "attachment2",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://dqlearningv2.sabacloud.com"
}
]
}
],
"certification_template": [
{
"displayName": "Certification of Completion For Courses",
"id": "crttp000000000001340"
}
],
"audienceType": [
{
"displayName": "Guest",
"id": "audie000000000000003"
}
],
"keyword": [
{
"displayName": "keyword2",
"id": "kywrd000000000201664"
}
],
"marked_for_compliance":true,
"category": [
{
"displayName": "Devices",
"id": "categ000000000004381"
}
]
}
}
REST API Reference | Learning | 1215

Note: Only URL type attachments are supported.


The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

parent Certification Certification

UPDATE DETAILS OF A CURRICULUM

Overview
Updates the details of a curriculum based on the Curriculum's ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/curriculum/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Curriculum's
ID.
https://<hostname-api.sabacloud.com>/v1/curriculum/name%3D<CurriculumName>
Note: If there are multiple records for the name, the following error message will indicate
the same:
(120592) More than 1 record found for provided value 'SomeCurriculum'

Calling Options
Table 339: Calling Options

Name Description Sample Value Data Type Required?

id Curriculum's ID string Yes

name Name of the cur- cert1011 string Yes


riculum

description Description of the desc string No


curriculum
REST API Reference | Learning | 1216

Name Description Sample Value Data Type Required?

avl_from Curriculum Available 2002-05- string Yes


from 01T00:00:00.000+0530

disc_from Curriculum Discontin- 2003-05- string No


ued from 01T00:00:00.000+0530

version Version of the cur- 1.2 string No


riculum

status Status of the cur- INEFFECT string Yes


riculum

target_days Target days 123 string No

learningevent_id Learning Event's ID string No

featured Whether the cur- true string No


riculum is featured

securityDomain The domain for the object Yes


certification {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

customValues Custom Values string No

part_id ID of the part object No

vendor_id Vendor's ID object No


Supports lookup.
(Person Ex)

group Group string No

parent Parent object No


Supports lookup (Cur-
riculum).

OneClickRegistra- A flag to indicate the false string No


tion one click registration.
accepts true/false

auto_launch A flag to indicate auto false string No


launch. accepts
true/false

enforce_mod- Enforce Module Se- false string No


ule_seq quencing
REST API Reference | Learning | 1217

Name Description Sample Value Data Type Required?

enforce_tar- Enforce Target Date false string No


get_date

associations Association data string No

recertifyDays Retake this certifica- true integer No


tion after X days.
Default value: Null.
API returns 0, if null
Note: Only supported
when the Recertifica-
tion setting is enabled
under the Certifica-
tion service.

isExpiresIn- Is valid_till attribute true string No


Months value is in month or
not.
Default value: false
Note: Only supported
when the Advanced
Compliance function-
ality is enabled.

disp_learner Display for learner. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.
REST API Reference | Learning | 1218

Name Description Sample Value Data Type Required?

disp_callcenter Display for call center. true string No


Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

self_register Allow self-registra- true string No


tion.
Default value: false
Note: Only supported
when the Control Dis-
play and Registration
of Certification/Cur-
riculum for Learners
and Registrars set-
ting is enabled under
the Certification /
Curriculum service.
If this setting is dis-
abled, the default
value for display for
learner and display
for call center will be
true.

expiryType Expiration type. Pos- duration string No


sible values are dura-
tion and dayOfMonth.
Default value: dura-
tion
Note: Expiry type
dayOfMonth is suppor-
ted only when the Ad-
vanced Compliance
functionality is en-
abled.
REST API Reference | Learning | 1219

Name Description Sample Value Data Type Required?

expiresOnDay Expires on day value. 10 string No


Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnMonth Expires on month 05 string No


value.
Default value: 01
Note: Supported Only
when expiryType is
dayOfMonth.

nextExpiryS- 02 string No
Default value: 01
tartsOnDay
Note: Supported Only
when expiryType is
dayOfMonth.

nextExpiryS- 02 string No
Default value: 01
tartsOnMonth
Note: Supported Only
when expiryType is
dayOfMonth.

expiresOnFre- The number of years 02 integer No


quency after which the expiry
cycle repeats.
Default value: 1
Note: Supported Only
when expiryType is
dayOfMonth.

marked_for_com- Mark learning item for false boolean No


pliance compliance

Note: If the Advanced Compliance functionality is enabled and:


• "expiryType=duration" and "isExpiresInMonths=false" then expiration and recertification
would be set in days
• "expiryType=duration" and "isExpiresInMonths=true" then expiration and recertification
would be set in months
If the Advanced Compliance functionality is disabled:
• Expiration and recertification would be in days irrespective of the value passed for
expiryType
REST API Reference | Learning | 1220

More details on the expiration date


When you set expiryType=dayOfMonth in the Request Body then the expiration date gets
set based on the value passed in:
• expiresOnDay
• expiresOnMonth
• nextExpiryStartsOnDay
• nextExpiryStartsOnMonth
• expiresOnFrequency
If certifications are acquired after the day (nextExpiryStartsOnDay) of month
(nextExpiryStartsOnMonth) specified in these fields, then the new expiry cycle for those
certifications is calculated as one year after the expiration date calculated using Expires On
and Frequency values.
For example, if expiresOnDay = 1, expiresOnMonth = 12, nextExpiryStartsOnDay = 1,
nextExpiryStartsOnMonth = 7, expiresOnFrequency = 2 then:
Expires On: Dec 01st, Frequency (Years): 2 and New Expiry Cycle Starts On: July 1st
Here are a few more examples:
• Learner acquires the certification for the first time, and if the Acquired On date is May 01,
2019, then the expiration date is calculated as Dec 01, 2020
• Learner acquires the certification for the first time, and if the Acquired On date is August
01, 2019, then the expiration date is calculated as Dec 01, 2020 + 1 year = Dec 01, 2021
• Learner acquires the certification from Acquired-Recertification Needed state, and the
current expiration date is Dec 01, 2020, then the new expiration date is calculated as Dec
01, 2020 + 2 years = Dec 01, 2022

Request Body

{
"name": "Curriculum Rest Test 102 mmodified",
"description": "rggdgdgddd",
"version": "1.1",
"status": "OBSOLETE",
"avl_from": "2001-07-31T18:30:00.000+0530",
"disc_from": "2001-08-23T18:30:00.000+0530",
"featured": false,
"vendor_id": null,
"target_days": 0,
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000201404",
"displayName": "world"
},
"id": "curra000000000001307",
"OneClickRegistration": false,
REST API Reference | Learning | 1221

"auto_launch": false,
"associations": {
"owner": [
{
"displayName": "client1 sindhav1",
"id": "persn000000000203427"
}
],
"evaluation": [
{
"evaluation": [
{
"expiresIn": "noExpiration",
"expiresInXDays": 0,
"id": "cninv000000000001501"
}
]
}
],
"attachment": [
{
"attachment": [
{
"private": true,
"attachmentType": "url",
"name": "attachment2",
"locale": {
"id": "local000000000000001",
"displayName": "English"
},
"category": "Syllabus",
"url": "https://dqlearningv2.sabacloud.com"
}
]
}
],
"certification_template": [
{
"displayName": "Certification of Completion For Courses",
"id": "crttp000000000001340"
}
],
"audienceType": [
{
"displayName": "Guest",
"id": "audie000000000000003"
}
],
"keyword": [
{
"displayName": "keyword2",
"id": "kywrd000000000201664"
}
],
"marked_for_compliance":true,
"category": [
{
"displayName": "Devices",
"id": "categ000000000004381"
}
]
REST API Reference | Learning | 1222

}
}

Note: Only URL type attachments are supported.


The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External

parent Certification Certification

UPDATE LOCALE-SPECIFIC DETAILS OF CURRICULUM

Overview
Update locale-specific attributes of curriculum.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example:
https://<hostname-api.sabacloud.com>/v1/curriculum/curra000000000001000/locale
https://<hostname-api.sabacloud.com>/v1/curriculum/name%3D<CurriculumName>/locale

Calling Options
Table 340: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- curriculum string Yes


dated

instanceId Instance id of compon- curra000000000001000 string Yes


ent

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup.
"de_DE"}
(Locale)
REST API Reference | Learning | 1223

Name Description Default Value Data Type Required?

name Name of curriculum name string No

description Curriculum descrip- description string No


tion

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"name":"curr1",
"description":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"
}
}
]}

Delivery mode
REST endpoints for the learning data.
REST API Reference | Learning | 1224

GET META DETAILS OF DELIVERY MODE

Overview
Returns the meta details of the Delivery Mode.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode/meta:(:searchFields)

Calling Options
Table 341: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
"sampleData": {
"duration": 0,
"description": null,
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"offer_temp_id": null,
"discontinued_from": null,
"price": 0,
"acronym": null,
"delivery_id": null,
"vendor_id": null,
"available_from": null,
"csr_id": null,
"training_units": 0,
"disp_web": false,
"disp_call_center": false,
"customValues": {
"custom9": null,
"custom0": "default1",
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
REST API Reference | Learning | 1225

"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"id": null,
"href":
"http://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000000001"
},
"name": "Delivery Mode",
"displayName": "Delivery Mode",
"attributes": [
{
"name": "abstrac",
"displayName": "Abstract",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 1000,
"maximumLength": 1000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "acronym",
"displayName": "ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": true
},
{
"name": "available_from",
"displayName": "Available From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "close_enroll",
"displayName": "Close Enrollment",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 1226

"display": true,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "csr_id",
"displayName": "Customer Service Representative",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "delivery_id",
"displayName": "Delivery ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
REST API Reference | Learning | 1227

"display": true,
"isSearchFilter": true
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "discontinued_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_call_center",
"displayName": "Display for Call Center",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "disp_web",
"displayName": "Display for Learner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "duration",
"displayName": "Duration (HH:MM)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
REST API Reference | Learning | 1228

"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "Delivery Mode ID",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "is_chat_on",
"displayName": "Is Chat On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "is_discussion_on",
"displayName": "Is Discussion On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "max_ct",
"displayName": "Max Count",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "min_ct",
"displayName": "Min Count",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
REST API Reference | Learning | 1229

"display": true,
"minimumValue": 0,
"isSearchFilter": true
},
{
"name": "offer_temp_id",
"displayName": "Course",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll",
"displayName": "Open Enrollment",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "open_enroll_for_all",
"displayName": "Open Enrollment For All",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "price",
"displayName": "Price",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "priceband_id",
"displayName": "Price Band Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
REST API Reference | Learning | 1230

"isSearchFilter": false
},
{
"name": "priceband_unit",
"displayName": "Price Band Unit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
REST API Reference | Learning | 1231

"isSearchFilter": true
},
{
"name": "vendor_id",
"displayName": "Vendor",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "waitlist_max",
"displayName": "Waitlist Max",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"minimumValue": 0,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 1232

"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
REST API Reference | Learning | 1233

},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "ExCustom1",
"displayName": " ExCustom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}
REST API Reference | Learning | 1234

GET ALL DELIVERY MODE

Overview
Returns all Delivery Mode for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode?count=:count&startPage=:startPage

Calling Options
Table 342: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"startIndex": 1,
"hasMoreResults": true,
"totalResults": 288,
"itemsPerPage": 10,
"results": [
{
"id": "delmd000000000001028",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001028"
},
{
"id": "delmd000000000001029",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001029"
},
{
"id": "delmd000000000001030",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001030"
},
{
REST API Reference | Learning | 1235

"id": "delmd000000000001040",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001040"
},
{
"id": "delmd000000000001041",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001041"
},
{
"id": "delmd000000000001042",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001042"
},
{
"id": "delmd000000000001060",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001060"
},
{
"id": "delmd000000000001080",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001080"
},
{
"id": "delmd000000000001081",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001081"
},
{
"id": "delmd000000000001083",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001083"
}
]
}

GET DETAILS OF A PARTICULAR DELIVERY MODE

Overview
Returns complete information about a Delivery Mode based on the Delivery Mode's ID that
is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode/:id:(:searchFields)
REST API Reference | Learning | 1236

URL (User-friendly)
You can use a user-friendly URL which accepts the acronym instead of the internal Delivery
Mode's ID.
https://<hostname-api.sabacloud.com>/v1/deliverymode/acronym%3D<Acronym>

Calling Options
Table 343: Calling Options

Name Description Sample Value Data Type Required?

id Delivery Mode's ID string Yes

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
"duration": 0,
"description": "",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"offer_temp_id": {
"id": "cours000000000200029",
"displayName": "Brown Bag123"
},
"discontinued_from": null,
"price": 0,
"acronym": "BB",
"delivery_id": {
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"vendor_id": null,
"available_from": null,
"csr_id": null,
"training_units": 0,
"disp_web": true,
"disp_call_center": true,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"id": "delmd000000000001028"
}
REST API Reference | Learning | 1237

FIND DETAILS OF DELIVERY MODE

Overview
Returns the details of the Delivery Mode along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 344: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. status string Yes


the field name.

field_value The search value for 100 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"id": "delmd000000000001505",
"href":
"https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000001505"
}
REST API Reference | Learning | 1238

]
}

FIND DETAILS OF DELIVERY MODE (USING POST - RANGE BASED


SEARCH)

Overview
Returns the details of the Delivery Mode.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 345: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name":"descrip- string Yes


tion","operat-
or":"==","value":"De-
scription2"}]

count 10 integer No

startPage 1 integer No

includeDetails Returns the details of true boolean No


the Delivery Mode in
the search

Request Body

{
"conditions":[
{
"name":"duration",
"operator":"==",
"value":"240"
}
]
}
REST API Reference | Learning | 1239

Return Values

{
"facets": [],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"results": [
{
"duration": 240,
"description": "aaaa",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"offer_temp_id": {
"id": "cours000000000200486",
"displayName": "111"
},
"discontinued_from": null,
"price": 0,
"acronym": "ID111",
"delivery_id": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"vendor_id": null,
"available_from": "2007-10-11T00:00:00.000+0530",
"csr_id": {
"id": "emplo000000000200493",
"displayName": "Akhlesh Pandey"
},
"training_units": 0,
"disp_web": false,
"disp_call_center": false,
"customValues": {
"custom9": null,
"custom0": "default1",
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"id": "delmd000000000001505"
}
]
}

CREATE A NEW DELIVERY MODE

Overview
Creates a new Delivery Mode
REST API Reference | Learning | 1240

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode

Calling Options
Table 346: Calling Options

Name Description Sample Value Data Type Required?

description Description description string No

duration Duration 0 real No

securityDomain Security Domain object Yes


{"id": "dom-
in000000000000001",
"displayName":
"world"}

vendor_id Vender object No


{"id":
"cmpny000000000200005",
"displayName":
"Vendor1"}

available_from Available from date No

csr_id Customer Service object No


{"id": "em-
Representative
plo000000000200321",
"displayName":
"Akhlaque
Ahmed"}

training_units No of Training Units 2 integer No

delivery_id Delivery Type object Yes


{"id":
"eqcat000000000000014",
"displayName":
"Blended"}

acronym Delivery Mode No 123-sadfsa string Yes


REST API Reference | Learning | 1241

Name Description Sample Value Data Type Required?

offer_temp_id Course object Yes


{"id":
"cours000000000202186",
"displayName":
"Brown Bag"}

discontin- Discontinued from 2016-03- date No


ued_from 25T00:00:00.000+0530

disp_call_center Display for call center false boolean No

disp_web Display for web false boolean No

customValues custom Values 0 string No

Request Body

{
"description": "test",
"duration": 0,
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"vendor_id": {
"id": "cmpny000000000200005",
"displayName": "Vendor1"
},
"available_from": null,
"csr_id": {
"id": "emplo000000000200321",
"displayName": "Akhlaque Ahmed"
},
"training_units": 2,
"delivery_id": {
"id": "eqcat000000000000014",
"displayName": "Blended"
},
"acronym": "123-sadfsa",
"offer_temp_id": {
"id": "cours000000000202186",
"displayName": "Brown Bag"
},
"discontinued_from": "2016-03-25T00:00:00.000+0530",
"disp_call_center": true,
"disp_web": true,
"customValues": {
"custom9": "9",
"custom0": "0",
"custom3": "3",
"custom4": "4",
"custom1": "1",
"custom2": "2",
"custom7": "7",
"custom8": "8",
"custom5": "5",
REST API Reference | Learning | 1242

"custom6": "6"
}

The lookup support is available for this REST API.

JSON Attribute UI Attribute Component Data Type Required


Name

securityDomain Domain name Domain Object Yes

vendor_id Vendor Organization, Ex- Object No


ternal

Csr_id Customer Ser- Person, Internal Object No


vice Representat-
ive

Delivery_id Delivery Type Category Defini- Object Yes


tion

offer_temp_id Course Course Object Yes

Return Values

{
"id": "delmd000000000002287",
"displayName": "eqcat000000000000004",
"href": "https://<hostname-api.sabacloud.com>/v1/deliverymode/delmd000000000002287"
}

UPDATE DETAILS OF A DELIVERY MODE

Overview
Updates an existing Delivery Mode based on the Delivery Mode's ID that is passed as a
parameter value.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/deliverymode/:id
REST API Reference | Learning | 1243

Calling Options
Table 347: Calling Options

Name Description Sample Value Data Type Required?

id Id of Delivery Mode id string Yes

description Description description string No

duration Duration 0 integer No

securityDomain Security Domain object Yes


{"id": "dom-
in000000000000001",
"displayName":
"world"}

vendor_id Vender object No


{"id":
"cmpny000000000200005",
"displayName":
"Vendor1"}

available_from Available from date No

csr_id Customer Service object No


{"id": "em-
Representative
plo000000000200321",
"displayName":
"Akhlaque
Ahmed"}

training_units No of Training Units 2 integer No

discontin- Discontinued from 2016-03- date No


ued_from 25T00:00:00.000+0530

disp_call_center Display for call center false boolean No

disp_web Display for web false boolean No

customValues custom Values string No

Request Body

{
"description": "test",
"duration": 0,
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"vendor_id": {
"id": "cmpny000000000200005",
REST API Reference | Learning | 1244

"displayName": "Vendor1"
},
"available_from": null,
"csr_id": {
"id": "emplo000000000200321",
"displayName": "Akhlaque Ahmed"
},
"training_units": 2,

"discontinued_from": "2016-03-25T00:00:00.000+0530",
"disp_call_center": true,
"disp_web": true,
"customValues": {
"custom9": "9",
"custom0": "0",
"custom3": "3",
"custom4": "4",
"custom1": "1",
"custom2": "2",
"custom7": "7",
"custom8": "8",
"custom5": "5",
"custom6": "6"
}
}

The lookup support is available for this REST API.

JSON Attribute UI Attribute Component Data Type Required


Name

securityDomain Domain name Domain Object Yes

vendor_id Vendor Organization, Ex- Object No


ternal

Csr_id Customer Ser- Person, Internal Object No


vice Representat-
ive

Delivery_id Delivery Type Category Defini- Object Yes


tion

offer_temp_id Course Course Object Yes

Return Values

204 No Content

Held Checklist
REST endpoints for the learning data.
REST API Reference | Learning | 1245

GET META DETAILS OF HELD CHECKLIST

Overview
Returns the meta details of the held checklist.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist/meta:(:searchFields)

Calling Options
Table 348: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
"sampleData":{
"checklist":null,
"learner":null,
"status":null,
"rating":null,
"completedOn":null,
"assignedOn":null,
"dueDate":null,
"completedBy":null,
"assignee":null,
"percentComplete":null,
"locked_by":null,
"id":null,
"href":"https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000000001"

},
"name":"HeldChecklist",
"displayName":"Held Checklist",
"attributes":[
{
"name":"assignedOn",
"displayName":"Assigned On",
"description":"Denotes the date when the checklist was assigned",
"isRequired":false,
"isAutoGenerated":false,
REST API Reference | Learning | 1246

"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"assignee",
"displayName":"Assignee",
"description":"Denotes the assignee that was given to this checklist",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"checklist",
"displayName":"Checklist",
"description":"Denotes the checklsit Id(owner) of this held checklist",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"completedBy",
"displayName":"Completed By",
"description":"Denotes the Person who marked complete this checklist item",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"completedOn",
"displayName":"Completed On",
"description":"Denotes the date when the checklist was completed successfuly or
unsuccessfuly",
"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
REST API Reference | Learning | 1247

"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"created_id",
"displayName":"Created ID",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"dueDate",
"displayName":"Due Date",
"description":"Denotes the due date for this checklist",
"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"heldChecklistItems",
"displayName":"Held Checklist Items",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"array",
"isReference":false,
"isProtected":false,
"display":true,
"component":{
"name":"HeldChecklistItem",
"displayName":"Held Checklist Item",
"attributes":[
{
"name":"assignedOn",
"displayName":"Assigned On",
REST API Reference | Learning | 1248

"description":"Denotes the date when the checklist item was assigned",


"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"checklistItem",
"displayName":"Checklist Item",
"description":"Denotes the checklist Item associated with this held checklist item",

"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"completedBy",
"displayName":"Completed By",
"description":"Denotes the Person who marked complete this checklist item",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"completedOn",
"displayName":"Completed On",
"description":"Denotes the date when the checklist item was completed successfuly
or unsuccessfuly",
"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
REST API Reference | Learning | 1249

"name":"created_id",
"displayName":"Created ID",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"heldChecklist",
"displayName":"Held Checklist",
"description":"Denotes the held checklsit Id(owner) of this held checklist item",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"rating",
"displayName":"Rating",
"description":"Denotes the rating that was given to this checklist item",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
REST API Reference | Learning | 1250

},
{
"name":"section",
"displayName":"Section",
"description":"Denotes the sectionID to which the checklist item belongs",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"sequence",
"displayName":"Sequence",
"description":"Denotes the sequence of the checklist item ",
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"status",
"displayName":"Status",
"description":"Denotes the status of the checklist item. Current possible values:
100 - Not Evaluated, 200 - Unsuccessful, 300 - Successful ",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"choices":{
"href":"https://hostname-api.sabacloud.com/v1/list/sysli000000000003127/values"

},
"display":true,
"isSearchFilter":true
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
REST API Reference | Learning | 1251

"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
}
]
}
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"is_locked",
"displayName":"kI18nALHeldChecklist_is_locked(Missing resource)",
"description":"Indicates whether the held checklist is locked or not.",
"isRequired":false,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"learner",
"displayName":"Learner",
"description":"Denotes the learner Id who is associated to this Checklist",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"locked_by",
"displayName":"kI18nALHeldChecklist_locked_by(Missing resource)",
"description":"If held checklist is locked then has person id",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"percentComplete",
"displayName":"Percentage Completed",
REST API Reference | Learning | 1252

"description":"Denotes the percentage completed for this Checklist",


"isRequired":false,
"isAutoGenerated":false,
"type":"real",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"rating",
"displayName":"Rating",
"description":"Denotes the rating that was given to this checklist",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"status",
"displayName":"Status",
"description":"Denotes the status of the checklist item. Current possible values: 100 -
Not Evaluated, 200 - InProgress, 300 - UnSuccessful, 400 - Successful ",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"choices":{
"href":"https://hostname-api.sabacloud.com/v1/list/sysli000000000003126/values"
},
"display":true,
"isSearchFilter":true
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
REST API Reference | Learning | 1253

}
]
}

GET DETAILS OF A PARTICULAR HELD CHECKLIST

Overview
Returns complete information about a held checklist based on the Held Checklist's ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist/:id:(:searchFields)

Calling Options
Table 349: Calling Options

Name Description Sample Value Data Type Required?

id Held Checklist's ID string Yes

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
checklist:{
securityDomain:{
id:"domin000000000000001",
displayName:"world"
},
customValues:{
custom0:null,
custom1:null,
custom2:null,
custom3:null,
custom4:null,
custom5:null,
custom6:null,
custom7:null,
custom8:null,
custom9:null
},
REST API Reference | Learning | 1254

rating:null,
force_evaluation_comment:false,
name:"Test CheckList",
type:"GENERIC",
description:"",
instructions:"",
evaluator:[

],
allowItemLevelEvaluators:true,
id:"chklt000000000002000",
status:"200",
due_days:2
},
learner:{
id:"emplo000000000001001",
displayName:"User Two"
},
status:"400",
rating:null,
completedOn:"2018-11-23T15:23:39.000+0530",
assignedOn:"2018-11-20T07:22:13.000+0530",
dueDate:null,
completedBy:{
id:"emplo000000000001001",
displayName:"User Two"
},
assignee:null,
percentComplete:100,
locked_by:null,
id:"hlckl000000000002000",
evaluatorDetails:[
{
roles:[

],
requestedOn:null,
id:"emplo000000000001000",
userName:"UONE",
fullName:"User One",
evaluatorId:"aType000000000000002",
ownerVal:null,
ownerId:"chklt000000000002000",
email:"amasani@saba.com",
contextId:"hlckl000000000002000",
evaluatorType:"200"
},
{
roles:[

],
requestedOn:null,
id:"emplo000000000001001",
userName:"UTWO",
fullName:"User Two",
evaluatorId:"aType000000000000001",
ownerVal:null,
ownerId:"chklt000000000002000",
email:"utwo@exchtest.com",
contextId:"hlckl000000000002000",
evaluatorType:"200"
}
REST API Reference | Learning | 1255

],
comments:[
{
id:"bbmsg000000000001266",
item:null,
owner:{
id:"emplo000000000001001",
name:"User Two",
type:"PERSON"
},
comment:"Hello overall ",
createdOn:"2018-11-23T15:23:40.000+0530",
canEdit:false
},
{
id:"bbmsg000000000001265",
item:null,
owner:{
id:"emplo000000000001001",
name:"User Two",
type:"PERSON"
},
comment:"Hello",
createdOn:"2018-11-23T15:21:32.000+0530",
canEdit:false
}
],
heldChecklistItems:[
{
id:"hckim000000000002000",
checklistItem:{
parent:{
id:"chklt000000000002000",
displayName:null
},
item:{
availableFrom:null,
discontinuedFrom:null,
name:"Item",
id:"taskd000000000001020",
description:"Test",
objectives:null,
availFrom:null,
discFrom:null,
taskReferences:null,
launchURL:null,
attachments:null,
taskNo:"00001020",
isURL:false,
taskType:null
},
itemType:"TASK_TYPE",
sequence:1,
dueDays:null,
section:{
id:"psctn000000000003220",
displayName:null
},
id:"chitm000000000002000",
rating:null,
forceEvaluationComment:false
},
REST API Reference | Learning | 1256

status:"SUCCESSFUL",
rating:null,
completedOn:"2018-11-23T15:21:25.000+0530",
assignedOn:null,
completedBy:null,
section:{
id:"psctn000000000003220",
displayName:"General"
},
sequence:1,
heldChecklist:{
id:"hlckl000000000002000",
displayName:null
},
comments:[
{
id:"bbmsg000000000001325",
item:null,
owner:{
id:"emplo000000000001001",
name:"User Two",
type:"PERSON"
},
comment:"test item 1",
createdOn:"2018-12-12T11:33:39.000+0530",
canEdit:false
}
],
canRequestEvaluation:false,
inboxAlerts:[

],
taskEvaluators:[
{
id:"emplo000000000001000",
userName:"UONE",
fullName:"User One",
evaluatorId:"aType000000000000002",
email:"amasani@saba.com",
evaluatorType:"200"
}
]
},
{
id:"hckim000000000002149",
checklistItem:{
parent:{
id:"chklt000000000002000",
displayName:null
},
item:{
availableFrom:null,
discontinuedFrom:null,
name:"Item 2",
id:"taskd000000000001100",
description:"Hello",
objectives:null,
availFrom:null,
discFrom:null,
taskReferences:null,
launchURL:null,
attachments:null,
REST API Reference | Learning | 1257

taskNo:"00001100",
isURL:false,
taskType:null
},
itemType:"TASK_TYPE",
sequence:2,
dueDays:null,
section:{
id:"psctn000000000003220",
displayName:null
},
id:"chitm000000000002080",
rating:null,
forceEvaluationComment:true
},
status:"NOT_EVALUATED",
rating:null,
completedOn:null,
assignedOn:null,
completedBy:null,
section:{
id:"psctn000000000003220",
displayName:"General"
},
sequence:2,
heldChecklist:{
id:"hlckl000000000002000",
displayName:null
},
comments:[

],
canRequestEvaluation:false,
inboxAlerts:[

],
taskEvaluators:[
{
id:"emplo000000000001000",
userName:"UONE",
fullName:"User One",
evaluatorId:"aType000000000000002",
email:"amasani@saba.com",
evaluatorType:"200"
}
]
}
]
}

GET ALL HELD CHECKLIST

Overview
Returns all Held Checklists for which the logged in user is an assignee.

Requires OAuth
No
REST API Reference | Learning | 1258

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist?count=:count&startPage=:startPage

Calling Options
Table 350: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 22,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "hlckl000000000002371",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002371"

},
{
"id": "hlckl000000000002365",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002365"

},
{
"id": "hlckl000000000002369",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002369"

},
{
"id": "hlckl000000000002363",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002363"

},
{
"id": "hlckl000000000002372",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002372"

},
{
"id": "hlckl000000000002366",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002366"

},
REST API Reference | Learning | 1259

{
"id": "hlckl000000000002880",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002880"

},
{
"id": "hlckl000000000002521",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002521"

},
{
"id": "hlckl000000000002368",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002368"

},
{
"id": "hlckl000000000002362",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002362"

}
],
"facets": []
}

FIND DETAILS OF HELD CHECKLIST

Overview
Returns the details of the held checklist along with the ID, Name and the Deeplink URL based
on the provided search criteria.
Note: This API will search logged in learner's held checklists. To get all the held checklists
for admin use the search condition: isAdmin=true. To get all the direct team members' held
checklists use the search condition: isManager=true. To get all the checklists for which logged
in learner is an ad-hoc evaluator, use the search condition: isAdhocEvaluator=true.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
Note: By Default, this API will get all the leaner's held checklist. To access it in the admin
mode, use the query param isAdmin=true and for the manager mode use isManager=true.
REST API Reference | Learning | 1260

https://<hostname-api.sabacloud.com>/v1/heldchecklist?q=(checklist_name%3D%3DSCL40_No_Item_Eval)&count=10&startPage=1

Calling Options
Table 351: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. checklist_name string Yes


the field name.
Search Filters are:
• learner
• status
• percentComplete
• dueDate
• completedBy
• assignee
• to_do_list
• adhoc_evaluator
• source
• checklist_name
• checklist
• assignedOn

field_value The search value for 100 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 22,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "hlckl000000000002361",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002361"

},
{
"id": "hlckl000000000002362",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002362"

},
REST API Reference | Learning | 1261

{
"id": "hlckl000000000002363",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002363"

},
{
"id": "hlckl000000000002364",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002364"

},
{
"id": "hlckl000000000002365",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002365"

},
{
"id": "hlckl000000000002366",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002366"

},
{
"id": "hlckl000000000002367",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002367"

},
{
"id": "hlckl000000000002368",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002368"

},
{
"id": "hlckl000000000002369",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002369"

},
{
"id": "hlckl000000000002370",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002370"

}
],
"facets": []
}

FIND DETAILS OF HELD CHECKLIST (USING POST - RANGE BASED


SEARCH)

Overview
Returns the details of the held checklist.
Note: This API will search logged in learner's held checklists. To get all the held checklists
for admin use the search condition: isAdmin=true. To get all the direct team members' held
checklists use the search condition: isManager=true. To get all the checklists for which logged
in learner is an ad-hoc evaluator, use the search condition: isAdhocEvaluator=true.

Requires OAuth
No
REST API Reference | Learning | 1262

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 352: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name":"source", string Yes


"operator":"==",
Search Filters are:
"value":"0"}]
• learner
• status
• percentComplete
• dueDate
• completedBy
• assignee
• to_do_list
• adhoc_evaluator
• source
• checklist_name
• checklist
• assignedOn

count 10 integer No

startPage 1 integer No

includeDetails Returns the details of true boolean No


the held checklist in
the search

Request Body

{
"conditions":[
{
"name":"status",
"operator":"==",
"value":"100"
}]}

Return Values

{
"totalResults": 22,
"hasMoreResults": true,
"startIndex": 1,
REST API Reference | Learning | 1263

"itemsPerPage": 10,
"results": [
{
"id": "hlckl000000000002361",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002361"

},
{
"id": "hlckl000000000002362",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002362"

},
{
"id": "hlckl000000000002363",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002363"

},
{
"id": "hlckl000000000002364",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002364"

},
{
"id": "hlckl000000000002365",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002365"

},
{
"id": "hlckl000000000002366",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002366"

},
{
"id": "hlckl000000000002367",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002367"

},
{
"id": "hlckl000000000002368",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002368"

},
{
"id": "hlckl000000000002369",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002369"

},
{
"id": "hlckl000000000002370",
"href": "https://hostname-api.sabacloud.com/v1/heldchecklist/hlckl000000000002370"

}
],
"facets": []
}
REST API Reference | Learning | 1264

Checklist
REST endpoints for the learning data.

GET META DETAILS OF CHECKLIST

Overview
Returns the meta details of the checklist.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/checklist/meta:(:searchFields)

Calling Options
Table 353: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
"sampleData":{
"securityDomain":{
"id":"domin000000000000001",
"displayName":null
},
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null
},
REST API Reference | Learning | 1265

"rating":null,
"force_evaluation_comment":null,
"allowItemLevelEvaluators":false,
"instructions":null,
"name":null,
"type":null,
"description":null,
"evaluator":[

],
"id":null,
"due_days":null,
"status":null,
"href":"https://hostname-api.sabacloud.com/v1/checklist/chklt000000000000001"
},
"name":"ObservationalChecklist",
"displayName":"Checklist",
"attributes":[
{
"name":"allowItemLevelEvaluators",
"displayName":"Allow item level evaluators",
"description":"Allows to select item level evaluators",
"isRequired":true,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"checklistItems",
"displayName":"Checklist Items",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"array",
"isReference":false,
"isProtected":false,
"display":true,
"component":{
"name":"ObservationalChecklistItem",
"displayName":"Checklist Item",
"attributes":[
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"created_id",
"displayName":"Created ID",
"description":null,
REST API Reference | Learning | 1266

"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"due_days",
"displayName":"Due by",
"description":"Due date of the checklist item",
"isRequired":false,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"minimumValue":0,
"isSearchFilter":true
},
{
"name":"evaluator_id",
"displayName":"kI18nALObservationalChecklistItem_evaluator_id(Missing resource)",

"description":"Evaluator of the Checklist item",


"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"force_evaluation_comment",

"displayName":"kI18nALObservationalChecklistItem_force_evaluation_comment(Missing
resource)",
"description":"Force evaluator to put comment during checklist item evaluation",

"isRequired":true,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
REST API Reference | Learning | 1267

},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"item_id",
"displayName":"Item",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"item_type",
"displayName":"Item Type",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"parent_id",
"displayName":"Owner",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"rating",
"displayName":"kI18nALObservationalChecklistItem_rating(Missing resource)",
"description":"Rating of the Checklist item",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
REST API Reference | Learning | 1268

},
{
"name":"section_id",
"displayName":"Section",
"description":"Section(Group) of the Checklist item",
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"sequence",
"displayName":"Sequence",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
}
]
}
},
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
REST API Reference | Learning | 1269

"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"created_id",
"displayName":"Created ID",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"description",
"displayName":"Description",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":64000,
"maximumLength":64000,
"isI18n":true,
"isSearchFilter":true
},
{
"name":"due_days",
"displayName":"Due by",
"description":"Due date of the checklist",
"isRequired":false,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"minimumValue":0,
"isSearchFilter":true
},
{
"name":"evaluator",
REST API Reference | Learning | 1270

"displayName":"Evaluator",
"description":"Evaluator of the Checklist",
"isRequired":false,
"isAutoGenerated":false,
"type":"array",
"isReference":false,
"isProtected":false,
"display":true,
"component":{
"name":"TaskEvaluator",
"displayName":"Task Evaluator",
"attributes":[
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"created_id",
"displayName":"Created ID",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"evaluator_id",
"displayName":"Evaluator",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
REST API Reference | Learning | 1271

"isSearchFilter":false
},
{
"name":"evaluator_type",
"displayName":"Evaluator Type",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"choices":{

"href":"https://hostname-api.sabacloud.com/v1/list/sysli000000000003068/values"
},
"display":true,
"isSearchFilter":false
},
{
"name":"flags",
"displayName":"Flags",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":10,
"maximumLength":10,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"id_Val",
"displayName":"ID Val",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"owner_id",
"displayName":"Owner",
"description":null,
REST API Reference | Learning | 1272

"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"owner_val",
"displayName":"kI18nALTaskEvaluator_owner_val(Missing resource)",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
}
]
}
},
{
"name":"force_evaluation_comment",
"displayName":"Force evaluator comment",
"description":"Force evaluator to put comment during checklist evaluation",
"isRequired":true,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
REST API Reference | Learning | 1273

"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"instructions",
"displayName":"Evaluator's Instructions",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":64000,
"maximumLength":64000,
"isI18n":true,
"isSearchFilter":true
},
{
"name":"name",
"displayName":"Name",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isI18n":true,
"isSearchFilter":true
},
{
"name":"rating",
"displayName":"Rating",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"sections",
"displayName":"Sections",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"array",
REST API Reference | Learning | 1274

"isReference":false,
"isProtected":false,
"display":true,
"component":{
"name":"Section",
"displayName":"Section",
"attributes":[
{
"name":"associated_id",
"displayName":"kI18nALSection_associated_id(Missing resource)",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"description",
"displayName":"Description",
"description":"Description of section",
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":64000,
"maximumLength":64000,
"isI18n":true,
"isSearchFilter":true
},
{
"name":"flags",
"displayName":"Flags",
"description":"Ten bit flag attribute. Each bit can be used for boolean type of
attribute",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":10,
"maximumLength":10,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
REST API Reference | Learning | 1275

},
{
"name":"item_count",
"displayName":"Item Count",
"description":"Specifies the number of item(s) a section is holding at any given
point in time",
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"name",
"displayName":"Name",
"description":"Name of the section",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isI18n":true,
"isSearchFilter":true
},
{
"name":"owner_id",
"displayName":"Owner",
"description":"The owner of the section",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"owner_type",
"displayName":"kI18nALSection_owner_type(Missing resource)",
"description":"Specifies the owner of a section",
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"parent_section_id",
"displayName":"kI18nALSection_parent_section_id(Missing resource)",
"description":"Specifies the parent section id of a section. ",
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
REST API Reference | Learning | 1276

"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"section_type",
"displayName":"kI18nALSection_section_type(Missing resource)",
"description":"Specifies the type of a section",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"sequence",
"displayName":"kI18nALSection_sequence(Missing resource)",
"description":"Specifies the order of a section.",
"isRequired":false,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"weight",
"displayName":"Weight",
"description":"Specifies the weight of a section. Weight signifies the importance
of a section with another section for an owner ",
"isRequired":false,
"isAutoGenerated":false,
"type":"real",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"weight_percentage",
"displayName":"Weight(%)",
"description":"Specifies the percentage weight of a section ",
"isRequired":false,
"isAutoGenerated":false,
"type":"real",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
}
]
}
},
{
"name":"securityDomain",
"displayName":"Domain",
REST API Reference | Learning | 1277

"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"status",
"displayName":"Status",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"choices":{
"href":"https://hostname-api.sabacloud.com/v1/list/sysli000000000004070/values"
},
"display":true,
"isSearchFilter":true
},
{
"name":"type",
"displayName":"Type",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
REST API Reference | Learning | 1278

{
"name":"custom0",
"displayName":"Custom 0",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom1",
"displayName":"Custom 1",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom2",
"displayName":"Custom 2",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom3",
"displayName":"Custom 3",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom4",
"displayName":"Custom 4",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
REST API Reference | Learning | 1279

"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom5",
"displayName":"Custom 5",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom6",
"displayName":"Custom 6",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom7",
"displayName":"Custom 7",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom8",
"displayName":"Custom 8",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
REST API Reference | Learning | 1280

"isSearchFilter":true
},
{
"name":"custom9",
"displayName":"Custom 9",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
}
]
}

GET DETAILS OF A PARTICULAR CHECKLIST

Overview
Returns complete information about a held checklist based on the Checklist's ID that is passed
as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/checklist/:id:(:searchFields)

Calling Options
Table 354: Calling Options

Name Description Sample Value Data Type Required?

id Checklist's ID string Yes

searchFields Indicate what addition- string No


al details needs to be
returned

Return Values

{
"securityDomain": {
"id": "domin000000000000001",
REST API Reference | Learning | 1281

"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"rating": {
"id": "rtlst000000000002001",
"displayName": "Rating Scale1"
},
"force_evaluation_comment": false,
"allowItemLevelEvaluators": true,
"instructions": "<div style=\"text-align: center;\"><span style=\"color: rgb(51, 204, 204);
font-family: arial, verdana, sans-serif; font-size: -webkit-xxx-large;\">SCL40_No_Item_Eval
Evaluator's Instruction</span></div><div style=\"text-align: center;\"><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\"><br></span></div><div style=\"text-align: center;\"><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\"><br></span></div><div style=\"text-align: center;\"><br><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size: -webkit-xxx-large;\"><span
style=\"color: rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span></span><span
style=\"color: rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span></div>",
"name": "SCL40_No_Item_Eval",
"type": "GENERIC",
"description": "desctest001",
"evaluator": [
{
"id_Val": null,
"evaluator_type": "100",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": {
"id": "emplo000000000212601",
"displayName": "sptest11 sptest11"
},
REST API Reference | Learning | 1282

"id": "teval000000000001101"
},
{
"id_Val": null,
"evaluator_type": "100",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": {
"id": "emplo000000000212602",
"displayName": "sptest12 sptest12"
},
"id": "teval000000000001102"
},
{
"id_Val": null,
"evaluator_type": "200",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": {
"id": "aType000000000000002",
"displayName": null
},
"id": "teval000000000001100"
},
{
"id_Val": null,
"evaluator_type": "400",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": null,
"id": "teval000000000001103"
}
],
"id": "chklt000000000002040",
"due_days": null,
"status": "200",
"checklistItems": [
{
"rating": null,
"force_evaluation_comment": false,
"sequence": 1,
"id": "chitm000000000002040",
"section_id": {
"id": "psctn000000000003320",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
REST API Reference | Learning | 1283

"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001060",
"task_references": "",
"name": "Item1",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001060"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
},
{
"rating": null,
"force_evaluation_comment": false,
"sequence": 2,
"id": "chitm000000000002041",
"section_id": {
"id": "psctn000000000003320",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
REST API Reference | Learning | 1284

"task_no": "00001061",
"task_references": "",
"name": "Item2",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001061"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
},
{
"rating": null,
"force_evaluation_comment": false,
"sequence": 3,
"id": "chitm000000000002042",
"section_id": {
"id": "psctn000000000003321",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001062",
"task_references": "",
"name": "Item3",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001062"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
},
{
"rating": null,
REST API Reference | Learning | 1285

"force_evaluation_comment": false,
"sequence": 4,
"id": "chitm000000000002043",
"section_id": {
"id": "psctn000000000003321",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001063",
"task_references": "",
"name": "Item4",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001063"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
}
],
"sections": [
{
"sequence": 1,
"section_type": "DEFAULT_TYPE",
"weight": 0,
"name": "General",
"description": "",
"flags": "0000000000",
"id": "psctn000000000003320"
},
{
"sequence": 2,
"section_type": "NORMAL_TYPE",
"weight": 0,
"name": "Section2",
"description": "",
"flags": "0000000000",
REST API Reference | Learning | 1286

"id": "psctn000000000003321"
}
]
}

GET ALL CHECKLIST

Overview
Returns all Checklists for the catalog admin.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/checklist?count=:count&startPage=:startPage

Calling Options
Table 355: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 36,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "chklt000000000002040",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002040"

},
{
"id": "chklt000000000002041",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002041"
},
{
"id": "chklt000000000002042",
REST API Reference | Learning | 1287

"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002042"
},
{
"id": "chklt000000000002000",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002000"

},
{
"id": "chklt000000000002020",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002020"

},
{
"id": "chklt000000000002043",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002043"
},
{
"id": "chklt000000000002080",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002080"

},
{
"id": "chklt000000000002100",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002100"
},
{
"id": "chklt000000000002140",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002140"
},
{
"id": "chklt000000000002101",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002101"
}
],
"facets": []
}

FIND DETAILS OF CHECKLIST

Overview
Returns the details of the checklist along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/checklist?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage
REST API Reference | Learning | 1288

https://<hostname-api.sabacloud.com>/v1/checklist?q=(name%3D%3DSCL40_No_Item_Eval)&count=10&startPage=1

Calling Options
Table 356: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
Search Fields:
• name
• status
• custom0-9
• due_days

field_value The search value for 100 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "chklt000000000002040",
"href": "https://hostname-api.sabacloud.com/v1/checklist/chklt000000000002040"

}
],
"facets": []
}

FIND DETAILS OF CHECKLIST (USING POST - RANGE BASED


SEARCH)

Overview
Returns the details of the checklist.
REST API Reference | Learning | 1289

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/checklist/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 357: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name":"name", string Yes


"operator":"==",
Search Filters are:
"value":"check-
• name list1"}]
• due_days
• status
• custom0-9

count 10 integer No

startPage 1 integer No

includeDetails Returns the details of true boolean No


the held checklist in
the search

Request Body

{
"conditions":[
{
"name":"status",
"operator":"==",
"value":"100"
}]}

Return Values

{
"totalResults": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
REST API Reference | Learning | 1290

},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"rating": {
"id": "rtlst000000000002001",
"displayName": "Rating Scale1"
},
"force_evaluation_comment": false,
"allowItemLevelEvaluators": true,
"instructions": "<div style=\"text-align: center;\"><span style=\"color: rgb(51, 204, 204);
font-family: arial, verdana, sans-serif; font-size: -webkit-xxx-large;\">SCL40_No_Item_Eval
Evaluator's Instruction</span></div><div style=\"text-align: center;\"><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\"><br></span></div><div style=\"text-align: center;\"><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\"><br></span></div><div style=\"text-align: center;\"><br><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size: -webkit-xxx-large;\"><span
style=\"color: rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span></span><span
style=\"color: rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span><span style=\"color:
rgb(51, 204, 204); font-family: arial, verdana, sans-serif; font-size:
-webkit-xxx-large;\">SCL40_No_Item_Eval Evaluator's Instruction</span></div>",
"name": "SCL40_No_Item_Eval",
"type": "GENERIC",
"description": "desctest001",
"evaluator": [
{
"id_Val": null,
"evaluator_type": "100",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": {
"id": "emplo000000000212601",
"displayName": "sptest11 sptest11"
},
"id": "teval000000000001101"
REST API Reference | Learning | 1291

},
{
"id_Val": null,
"evaluator_type": "100",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": {
"id": "emplo000000000212602",
"displayName": "sptest12 sptest12"
},
"id": "teval000000000001102"
},
{
"id_Val": null,
"evaluator_type": "200",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": {
"id": "aType000000000000002",
"displayName": null
},
"id": "teval000000000001100"
},
{
"id_Val": null,
"evaluator_type": "400",
"owner_val": null,
"owner_id": {
"id": "chklt000000000002040",
"displayName": null
},
"evaluator_id": null,
"id": "teval000000000001103"
}
],
"id": "chklt000000000002040",
"due_days": null,
"status": "200",
"checklistItems": [
{
"rating": null,
"force_evaluation_comment": false,
"sequence": 1,
"id": "chitm000000000002040",
"section_id": {
"id": "psctn000000000003320",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
REST API Reference | Learning | 1292

"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001060",
"task_references": "",
"name": "Item1",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001060"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
},
{
"rating": null,
"force_evaluation_comment": false,
"sequence": 2,
"id": "chitm000000000002041",
"section_id": {
"id": "psctn000000000003320",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001061",
REST API Reference | Learning | 1293

"task_references": "",
"name": "Item2",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001061"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
},
{
"rating": null,
"force_evaluation_comment": false,
"sequence": 3,
"id": "chitm000000000002042",
"section_id": {
"id": "psctn000000000003321",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001062",
"task_references": "",
"name": "Item3",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001062"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
},
{
"rating": null,
"force_evaluation_comment": false,
REST API Reference | Learning | 1294

"sequence": 4,
"id": "chitm000000000002043",
"section_id": {
"id": "psctn000000000003321",
"displayName": null
},
"due_days": null,
"item_id": {
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"taskevaluator": [],
"objectives": "",
"disc_from": null,
"avail_from": null,
"launch_url": null,
"task_no": "00001063",
"task_references": "",
"name": "Item4",
"type": "300",
"description": "",
"flags": "0000000000",
"id": "taskd000000000001063"
},
"item_type": "TASK_TYPE",
"parent_id": {
"id": "chklt000000000002040",
"displayName": null
}
}
],
"sections": [
{
"sequence": 1,
"section_type": "DEFAULT_TYPE",
"weight": 0,
"name": "General",
"description": "",
"flags": "0000000000",
"id": "psctn000000000003320"
},
{
"sequence": 2,
"section_type": "NORMAL_TYPE",
"weight": 0,
"name": "Section2",
"description": "",
"flags": "0000000000",
"id": "psctn000000000003321"
REST API Reference | Learning | 1295

}
]
}
],
"facets": []
}

Enrollment
REST endpoints for the learning data.

GET ALL ENROLLMENTS

Overview
Returns all Enrollments for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/enrollment

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "regdw000000000003228",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000003228"
}
],
"totalResults": 12,
"startIndex": 1
}
REST API Reference | Learning | 1296

FIND DETAILS OF ENROLLMENTS

Overview
Returns the details of the enrollments along with the ID and the Deeplink URL based on the
provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/enrollment?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 358: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. student_id string Yes


the field name.

field_value The search value for em- string Yes


the specified search plo000000000001000
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"startIndex": 1,
"results": [
{
"id": "regdw000000000004030",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000004030"

},
{
"id": "regdw000000000004031",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000004031"

},
{
REST API Reference | Learning | 1297

"id": "regdw000000000004034",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000004034"

},
{
"id": "regdw000000000004038",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000004038"

},
{
"id": "regdw000000000001025",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000001025"

},
{
"id": "regdw000000000001000",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000001000"

},
{
"id": "regdw000000000001080",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000001080"

},
{
"id": "regdw000000000001101",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000001101"

},
{
"id": "regdw000000000001247",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000001247"

},
{
"id": "regdw000000000001244",
"href": "http://<hostname>/Saba/api/component/enrollment/regdw000000000001244"

}
],
"facets": [],
"totalResults": 25,
"hasMoreResults": true,
"itemsPerPage": 10
}

Note: This REST service excludes enrollments with the Pending Registration status.

Example
To fetch enrollments of a user:
https://<hostname-api.sabacloud.com>/v1/enrollment?q=(student_id==emplo000000000001000)
To find out all the open enrollments based on status (for example with status = 100):
https://<hostname-api.sabacloud.com>/v1/enrollment?q=(status%3D%3D100)
Return Values:

{
"startIndex": 1,
"results": [
REST API Reference | Learning | 1298

{
"id": "regdw000000000004030",
"href": "http://<hostname>/v1/enrollment/regdw000000000004030"
}
],
"facets": [],
"totalResults": 1,
"hasMoreResults": true,
"itemsPerPage": 10
}

You can also choose to get the details (and not just the ID and the deep link) of each open
enrollment by using includeDetails as TRUE.
https://<hostname-api.sabacloud.com>/v1/enrollment?q=(status%3D%3D100)&includeDetails=true
Note: The output includes more details for each enrollment.
Return Values:

{
"startIndex":1,
"results":[
{
"status":"100",
"reg_no":"00003994",
"wlist_on":"2017-12-07T12:52:08.451+0530",
"wlist_priority":5,
"Max_Count":null,
"Current_Count":null,
"is_no_show":false,
"is_walk_in":false,
"delivery_id":{
"displayName":"Blended",
"id":"eqcat000000000000014"
},
"offering_action_id":{
"id":"ofapr000000000004230",
"displayName":"00004095"
},
"offering_temp_id":{
"displayName":"so_crs_026",
"id":"cours000000000202133",
"course_no":"SO_COURSE_026",
"version":null
},
"elements_to_complete":0,
"student_id":{
"id":"emplo000000000001000",
"displayName":"User One",
"person_no":"001000 "
},
"class_id":{
"id":"blend000000000001001",
"displayName":"so_crs_026"
},
"customValues":{
"custom0":null,
"custom1":null,
"custom2":null,
"custom3":null,
"custom4":null,
"custom5":null,
REST API Reference | Learning | 1299

"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null
},
"id":"regdw000000000004030"
}
],
"facets":[

],
"totalResults":1,
"hasMoreResults":true,
"itemsPerPage":10
}

To find out all the open enrollments based on offering_action_id (for example with
offering_action_id = ofapr000000000008950):
https://<hostname-api.sabacloud.com>/v1/enrollment?q=(offering_action_id%3D%3Dofapr000000000008950)
Return Values:

{
"facets": [],
"startIndex": 1,
"results": [
{
"id": "regdw000000000008119",
"href": "https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000008119"

}
],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

SEARCH ENROLLMENTS BASED ON GIVEN CRITERIA

Overview
Returns the details of the enrollments based on the provided search criteria.
Note: Using this API, the user can view his own enrollments by passing student_id as the
criteria. The user needs the people admin privilege to access other's enrollments.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage&includeDetails=:isDetail
REST API Reference | Learning | 1300

Calling Options
Table 359: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. string Yes


the field name.
REST API Reference | Learning | 1301

Name Description Sample Value Data Type Required?

Such as:
• student_user-
name
• student_id
• student_email
• student_num-
ber
• offer-
ing_temp_no
• offer-
ing_temp_id
• offer-
ing_temp_name
• offer-
ing_temp_ver-
sion
• is_walk_in
• is_no_show
• custom0 and
other custom
fields
• created_on
• updated_on
• reg_status
• part_number
• end_date
• start_date
• class_id
• status
• order_status
• action_status
Note: To re-
turn only en-
rollments, use
status==100
and ac-
tion_status
==100 as the
search filter.

The following at-


tributes will only
be available as
part of the Re-
turn Values if
they are spe-
cified in the URL
using &f=:
• language_id
REST API Reference | Learning | 1302

Name Description Sample Value Data Type Required?

• lan-
guage_name
• order_id
• order_number
• order_item_id
• or-
der_item_status
• item_approv-
al_status
• item_cost
• comple-
tion_date
• score
• grade
• duration
• participa-
tion_status
• session_tem-
plate
• location_id
• loc_name
• currency_id
• cur-
rency_name
• iso_code
• contact_id
• wbt_duration
• order_con-
tact_user-
name
• order_status
• enroll-
ment_status
• updated_on
• created_by
• updated_by

field_value The search value for em- string Yes


the specified search plo000000000001000
criteria.

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1303

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

isDetail Do you want enroll- false string No


ment details (true |
false)

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: student_number, student_id, student_username, student_username_list
Catalog conditions: offering_temp_no, offering_temp_id, offering_temp_name, part_number,
class_id

Retrieve status details


To get details about the statuses use the following APIs.
reg_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000100/values

status, participation_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000173/values

orderitem_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000131/values

item_approval_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000165/values

action_status, completionStatus, completionStatusValue

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000163/values

Return Values

{
"facets": [],
"hasMoreResults": true,
"totalResults": 17,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
REST API Reference | Learning | 1304

"id": "regdw000000000003201",
"displayName": "00003225",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003201"
},
{
"id": "regdw000000000003501",
"displayName": "00003525",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003501"
},
{
"id": "regdw000000000003502",
"displayName": "00003526",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003502"
},
{
"id": "regdw000000000005670",
"displayName": "00005614",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005670"
},
{
"id": "regdw000000000005585",
"displayName": "00005529",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005585"
},
{
"id": "regdw000000000005633",
"displayName": "00005577",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005633"
},
{
"id": "regdw000000000005634",
"displayName": "00005578",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005634"
},
{
"id": "regdw000000000005691",
"displayName": "00005635",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005691"
},
{
"id": "regdw000000000003200",
"displayName": "00003224",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003200"
},
{
"id": "regdw000000000005625",
"displayName": "00005569",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005625"
}
]
}
REST API Reference | Learning | 1305

Examples
To search using the Cornerstone SBX internal id for student:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(student_id==persn000000000202215)
To search using the student’s username:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(student_username==UONE)
To search using the students person no:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(student_number==036009)
To search using the student’s email:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=( student_email==abc@xyz.com)
To search using the Course ID:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(offering_temp_no==ABC)
To search using the Cornerstone SBX Internal course ID:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(offering_temp_id==cours000000000200186)
To search using the Cornerstone SBX internal class ID:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(class_id==class000000000200166)
To search enrollents for a class:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(class_id%3D%3Ddowbt000000000002151)&count=10&startPage=1&includeDetails=false
To search enrollments with no show records:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(is_no_show%3D%3D1)&count=10&startPage=1&includeDetails=false
Note: The following are the possible values for is_no_show:
• true or 1
• false or 0
To search enrollments with walk in records:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(is_walk_in%3D%3D1)&count=10&startPage=1&includeDetails=false
Note: The following are the possible values for is_walk_in:
• true or 1
• false or 0
To search enrollments based on custom fields:
REST API Reference | Learning | 1306

https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(custom0%3D%3Dcustom0Val)&count=10&startPage=1&includeDetails=false
To search enrollments with details:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(custom0%3D%3Dcustom0Val)&count=10&startPage=1&includeDetails=true
Return Values:

{
"facets": [],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1
"results": [
{
"class_id": {
"id": "class000000000200443",
"displayName": "CE04ILT04"
},
"student_id": {
"id": "emplo000000000200099",
"displayName": "Ajay Tripathi"
},
"status": "100",
"offering_action_id": {
"id": "ofapr000000000001400",
"displayName": "00001382"
},
"delivery_id": {
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offering_temp_id": {
"id": "cours000000000200446",
"displayName": "CE04"
},
"created_on":"2016-06-22T08:45:24.000+0000",
"elements_to_complete": 0,
"reg_no": "00001385",
"wlist_on": null,
"wlist_priority": 5,
"Max_Count": null,
"Current_Count": null,
"is_no_show": false,
"is_walk_in": false,
"customValues": {
"custom9": null,
"custom0": "custom0Val",
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"id": "regdw000000000001340"
}
REST API Reference | Learning | 1307

]
}

To search enrollments based on updated_on date:


https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(updated_on%3Dge%3D2015-08-27T16%3A16%3A00.000%2B0530)&count=10&startPage=1
Return Values:

{
"facets": [],
"hasMoreResults": true,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"id": ""regdw000000000003201",
"displayName": ""00003225",
"href":
""https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003201"
}
]
}

To search enrollments based on registration status:


https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(reg_status%3D%3D100,student_id%3D%3Dpersn000000000200273)&count=10&startPage=1
Note: The following are the possible values for reg_status:
• Confirmed: 100
• Waitlisted: 101
• Offered: 103
• Cancelled: 600
To search enrollments based on class number or part number:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(part_number%3D%3DPG1DNWLD1)&count=10&startPage=1
To search enrollments based on student username:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(student_username%3D%3DCONE)&count=10&startPage=1

SEARCH ENROLLMENTS BASED ON GIVEN CRITERIA (USING POST


- RANGE BASED SEARCH)

Overview
Returns the details of the enrollments based on the provided search criteria.
To get data for all team members:
A manager/admin can use the IN operator to specify a list of team members as the search
criteria. If the logged in person is a manager, then the API returns the data for all team
REST API Reference | Learning | 1308

members specified using the IN operator. If the logged in person is not the learning admin
or a manager of the people included in the search condition then the API returns a blank
output.
Note: Only 5 team members are supported in the IN operator.
The following attributes support using the IN operator:
Enrollments
• student_id
• student_number
• student_username_list
Note: Using this API, the user can view his own enrollments by passing student_id as the
criteria. The user needs the people admin privilege to access other's enrollments.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?count=:count&startPage=:startPage&includeDetails=:isDetail
REST API Reference | Learning | 1309

Calling Options
Table 360: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions string Yes


REST API Reference | Learning | 1310

Name Description Sample Value Data Type Required?

Such as:
• student_user-
name
• student_id
• student_email
• student_num-
ber
• offer-
ing_temp_no
• offer-
ing_temp_id
• offer-
ing_temp_name
• offer-
ing_temp_ver-
sion
• is_walk_in
• is_no_show
• custom0 and
other custom
fields
• created_on
• updated_on
• reg_status
• part_number
• end_date
• start_date
• class_id
• status
• order_status
• action_status
Note: To re-
turn only en-
rollments, use
status==100
and ac-
tion_status
==100 as the
search filter.

The following at-


tributes will only
be available as
part of the Re-
turn Values if
they are spe-
cified in the URL
using &f=:
• language_id
REST API Reference | Learning | 1311

Name Description Sample Value Data Type Required?

• lan-
guage_name
• order_id
• order_number
• order_item_id
• or-
der_item_status
• item_approv-
al_status
• item_cost
• comple-
tion_date
• score
• grade
• duration
• participa-
tion_status
• session_tem-
plate
• location_id
• loc_name
• currency_id
• cur-
rency_name
• iso_code
• contact_id
• wbt_duration
• order_con-
tact_user-
name
• order_status
• enroll-
ment_status
• updated_on
• created_by
• updated_by

count 10 integer No

startPage 1 integer No

includeDetails If true then returns true boolean No


the complete details
of Field Of Study
REST API Reference | Learning | 1312

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: student_number, student_id, student_username, student_username_list
Catalog conditions: offering_temp_no, offering_temp_id, offering_temp_name, part_number,
class_id

Retrieve status details


To get details about the statuses use the following APIs.
reg_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000100/values

status, participation_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000173/values

orderitem_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000131/values

item_approval_status

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000165/values

action_status, completionStatus, completionStatusValue

https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000163/values

Request Body

{
"conditions":[
{
"name":"updated_on",
"operator":"=gt=",
"value":"2015-08-27T16:18:35.000+0530"
},
{
"name":"updated_on",
"operator":"=le=",
"value":"2015-09-03T17:45:46.000+0530"
}
]
}

Return Values

{
"facets": [],
"hasMoreResults": true,
REST API Reference | Learning | 1313

"totalResults": 17,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"id": "regdw000000000003201",
"displayName": "00003225",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003201"
},
{
"id": "regdw000000000003501",
"displayName": "00003525",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003501"
},
{
"id": "regdw000000000003502",
"displayName": "00003526",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003502"
},
{
"id": "regdw000000000005670",
"displayName": "00005614",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005670"
},
{
"id": "regdw000000000005585",
"displayName": "00005529",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005585"
},
{
"id": "regdw000000000005633",
"displayName": "00005577",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005633"
},
{
"id": "regdw000000000005634",
"displayName": "00005578",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005634"
},
{
"id": "regdw000000000005691",
"displayName": "00005635",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005691"
},
{
"id": "regdw000000000003200",
"displayName": "00003224",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003200"
},
{
"id": "regdw000000000005625",
"displayName": "00005569",
"href":
REST API Reference | Learning | 1314

"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000005625"
}
]
}

Examples
To search enrollments using the POST method:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?count=10&startPage=1&includeDetails=false
Request Body:

{
"conditions":[
{
"name":"updated_on",
"operator":"=gt=",
"value":"2015-08-27T16:18:35.000+0530"
},
{
"name":"updated_on",
"operator":"=le=",
"value":"2015-09-03T17:45:46.000+0530"
}
]
}

To search enrollments for learner based on student username, student number, student
email using the POST method:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search?count=10
&f=(student_username,student_number,student_email,offering_temp_no,offering_temp_name,
offering_temp_version,start_date,end_date,status_description)&startPage=1&includeDetails=false
Request Body:

{
"conditions":[
{
"name":"student_username",
"operator":"==",
"value":"DISCOUNTP002SUB1"
},
{
"name":"student_number",
"operator":"==",
"value":"00201047"
},
{
"name":"student_email",
"operator":"==",
"value":"sabatestemail@saba.com"
}
]
}
REST API Reference | Learning | 1315

Return Values:

{
"facets": [],
"results": [
{
"id": "regdw000000000006853",
"end_date": "",
"status_description": "Registered",
"student_number": "00201047",
"student_username": "DISCOUNTP002SUB1",
"student_email": "sabatestemail@saba.com",
"offering_temp_no": "price1005",
"offering_temp_name": "course_price1005",
"offering_temp_version": "v1",
"start_date": "",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000006853"
},
{
"id": "regdw000000000006854",
"end_date": "2015-12-05",
"status_description": "Registered",
"student_number": "00201047",
"student_username": "DISCOUNTP002SUB1",
"student_email": "satestemail@saba.com",
"offering_temp_no": "price1002",
"offering_temp_name": "course_price1002",
"offering_temp_version": "",
"end_date": "2015-12-04",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000006854"
}
],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 2,
"itemsPerPage": 10
}

To search enrollment based on course name, course number, course version using the
POST method:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search?count=10
&f=(student_username,student_number,student_email,offering_temp_no,offering_temp_name,
offering_temp_version,start_date,end_date,status_description)&startPage=1&includeDetails=false
Request Body:

{
"conditions":[
{
"name":"offering_temp_name",
"operator":"==",
"value":"course_price1005"
},
{
"name":"offering_temp_no",
"operator":"==",
"value":"price1005"
},
REST API Reference | Learning | 1316

{
"name":"offering_temp_version",
"operator":"==",
"value":"v1"
}
]
}

Return Values:

{
"facets": [],
"results": [
{
"id": "regdw000000000006853",
"end_date": "",
"status_description": "Registered",
"student_number": "00201047",
"student_username": "DISCOUNTP002SUB1",
"student_email": "sabatestemail@saba.com",
"offering_temp_no": "price1005",
"offering_temp_name": "course_price1005",
"offering_temp_version": "v1",
"start_date": "",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000006853"
}
],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10
}

To search enrollment based on class start date, end date using the POST method:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search?count=10
&f=(student_username,student_number,student_email,offering_temp_no,offering_temp_name,
offering_temp_version,start_date,end_date,status_description)&startPage=1&includeDetails=false
Request Body:

{
"conditions":[
{
"name":"end_date",
"operator":"==",
"value":"2015-12-01"
},
{
"name":"start_date",
"operator":"==",
"value":"2015-12-01"
}
]
}
REST API Reference | Learning | 1317

Return Values:

{
"facets": [],
"results": [
{
"id": "regdw000000000006854",
"end_date": "2015-12-01",
"status_description": "Registered",
"student_number": "00201047",
"student_username": "DISCOUNTP002SUB1",
"student_email": "satestemail@saba.com",
"offering_temp_no": "price1002",
"offering_temp_name": "course_price1002",
"offering_temp_version": "",
"end_date": "2015-12-01",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000006854"
}
],
"startIndex": 1,
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10
}

To search using created_on:


https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?f=(created_on)&count=10&startPage=1
Request Body:

{
"conditions":[
{
"name":"created_on",
"operator":"=gt=",
"value":"2016-07-21"
}
]
}

This will return all enrollment records where created_on date is greater than 2016-07-21.
Return Values:

{
"startIndex":1,
"hasMoreResults":true,
"itemsPerPage":10,
"totalResults":311,
"results":[
{
"id":"regdw000000000308231",
"created_on":"2016-06-22T08:45:24.000+0000",
"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000308231"

},
{
"id":"regdw000000000308081",
"created_on":"2016-06-08T04:52:14.000+0000",
REST API Reference | Learning | 1318

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000308081"

},
{
"id":"regdw000000000309256",
"created_on":"2016-07-21T07:54:29.000+0000",

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309256"
},
{
"id":"regdw000000000309257",
"created_on":"2016-07-21T07:58:28.000+0000",
"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309257"

},
{
"id":"regdw000000000309258",
"created_on":"2016-07-21T08:16:07.000+0000",

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309258"
},
{
"id":"regdw000000000309259",
"created_on":"2016-07-21T08:28:00.000+0000",

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309259"
},
{
"id":"regdw000000000309260",
"created_on":"2016-07-21T08:30:39.000+0000",

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309260"
},
{
"id":"regdw000000000309261",
"created_on":"2016-07-21T09:14:44.000+0000",
"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309261"

},
{
"id":"regdw000000000309262",
"created_on":"2016-07-21T09:18:41.000+0000",

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309262"
},
{
"id":"regdw000000000309263",
"created_on":"2016-07-21T09:19:32.000+0000",

"href":"https://<hostname-api.sabacloud.com>/v1/enrollment/regdw000000000309263"
}
],
"facets":[

]
}
REST API Reference | Learning | 1319

FIND LEARNING ASSIGNMENTS FOR REGISTRATIONS

Overview
Returns the existing learning assignments based on the registration ID provided.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/assignments/find
REST API Reference | Learning | 1320

Calling Options
Table 361: Calling Options

Name Description Sample Value Data Type Required?

conditions Registration ID and string Yes


learner conditions {
"conditions":[
Note: learner_id and
reg_id conditions are {
mandatory. At a time
only 10 registration "name":"reg_id",
IDs can be mentioned
in single request. "operat►
or":"IN",
"value":[
"reg►
dw000000000076032",

"reg►
dw000000000076018"

]
},
{

"name":"learner_id",

"operat►
or":"IN",

"value":"em►
plo000000000285647"

}
]
}

Request Body

{
"conditions":[
{
"name":"reg_id",
"operator":"IN",
"value":[
"regdw000000000076032",
"regdw000000000076018"
]
},
{
"name":"learner_id",
"operator":"IN",
"value":"emplo000000000285647"
}
]
}
REST API Reference | Learning | 1321

Return Values

[
{
"assignments": [
{
"regId": "regdw000000000076018",
"launchUrl": null,
"sequence": 0,
"type": 0,
"regModId": "regmd000000000037818",
"assignmentId": null,
"title": "Sessions",
"required": false,
"startDate": null,
"endDate": null,
"expirationDate": null,
"contentFormat": -1,
"contentFormatVersion": null,
"learnerAttempts": 0,
"additionalAttempts": 0,
"maxAttempts": 0,
"regModuleStatus": "200",
"completionStatus": "not evaluated",
"completedOn": null,
"signOffRequired": false,
"signedOff": false,
"learnerScore": 0,
"masteryScore": null,
"contentContextId": "ctctx000000000092657",
"subscriptionId": null,
"studentId": "emplo000000000285647",
"classId": "virtc000000000008026",
"pin": null,
"considerForOverAllScore": true,
"mastery": 2,
"participation": 200,
"contentAttemptId": null
}
],
"reg_id": "regdw000000000076018"
},
{
"assignments": [
{
"regId": "regdw000000000076032",
"launchUrl": null,
"sequence": 0,
"type": 0,
"regModId": "regmd000000000037823",
"assignmentId": null,
"title": "Sessions",
"required": false,
"startDate": null,
"endDate": null,
"expirationDate": null,
"contentFormat": -1,
"contentFormatVersion": null,
"learnerAttempts": 0,
"additionalAttempts": 0,
"maxAttempts": 0,
"regModuleStatus": "200",
"completionStatus": "not evaluated",
REST API Reference | Learning | 1322

"completedOn": null,
"signOffRequired": false,
"signedOff": false,
"learnerScore": 0,
"masteryScore": null,
"contentContextId": "ctctx000000000092682",
"subscriptionId": null,
"studentId": "emplo000000000285647",
"classId": "virtc000000000008028",
"pin": null,
"considerForOverAllScore": true,
"mastery": 2,
"participation": 200,
"contentAttemptId": null
}
],
"reg_id": "regdw000000000076032"
}
]

FIND EVALUATIONS FOR REGISTRATIONS

Overview
Returns the existing evaluations based on the registration ID provided.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/evaluations/search
REST API Reference | Learning | 1323

Calling Options
Table 362: Calling Options

Name Description Sample Value Data Type Required?

conditions Registration ID and string Yes


learner conditions {
"conditions":[
Note: learner_id con-
dition is mandatory. {
At a time only 10 regis-
tration IDs can be "name":"reg_id",
mentioned in single
request. "operat►
or":"IN",
"value":[
"reg►
dw000000000076032",

"reg►
dw000000000076018"

]
},
{

"name":"learner_id",

"operat►
or":"IN",

"value":"em►
plo000000000285647"

}
]
}

Request Body

{
"conditions":[
{
"name":"reg_id",
"operator":"IN",
"value":[
"regdw000000000076032",
"regdw000000000076018"
]
},
{
"name":"learner_id",
"operator":"IN",
"value":"emplo000000000285647"
}
]
}
REST API Reference | Learning | 1324

Return Values

[
{
"evaluations": [
{
"evalDeepLinkURL":
"https://<hostname>/Saba/Web_spf/learning2/common/leclassdetail
/regdw000000000076018?studentId=emplo000000000285647
&evaluationId=lrevl000000000007125#launchObjectEVAL",
"evaluationName": "EVAL_TEST0001",
"dateSubmitted": "2020-02-04T00:00:00.000+0000",
"dateCompleted": null,
"dateExpired": null,
"contextId": "ctctx000000000092657",
"learner": null,
"offeringTemplate": {
"id": "cours000000000244179",
"displayName": "GMR_VC_4Feb"
},
"offering": {
"id": "virtc000000000008026",
"displayName": "GMR_VC_4FEB_WEBEX2"
},
"isActive": false,
"registration": {
"id": "regdw000000000076018",
"displayName": null
},
"certification": null,
"contentFormat": 7,
"subscriptionId": "ctnsr000000000076456",
"heldCertification": null,
"id": "lrevl000000000007125",
"status": 100,
"evaluator": {
"id": "emplo000000000285647",
"displayName": "Shital Raskar"
}
}
],
"reg_id": "regdw000000000076018"
},
{
"evaluations": [
{
"evalDeepLinkURL": "https://<hostname>/Saba/Web_spf/learning2/

common/leclassdetail/regdw000000000076032?studentId=emplo000000000285647
&evaluationId=lrevl000000000007126#launchObjectEVAL",
"evaluationName": "EVAL_TEST0001",
"dateSubmitted": "2020-02-04T00:00:00.000+0000",
"dateCompleted": null,
"dateExpired": null,
"contextId": "ctctx000000000092682",
"learner": null,
"offeringTemplate": {
"id": "cours000000000244179",
"displayName": "GMR_VC_4Feb"
},
"offering": {
"id": "virtc000000000008028",
"displayName": "GMR_VC_4FEB_WEBEX4"
REST API Reference | Learning | 1325

},
"isActive": false,
"registration": {
"id": "regdw000000000076032",
"displayName": null
},
"certification": null,
"contentFormat": 7,
"subscriptionId": "ctnsr000000000076458",
"heldCertification": null,
"id": "lrevl000000000007126",
"status": 100,
"evaluator": {
"id": "emplo000000000285647",
"displayName": "Shital Raskar"
}
}
],
"reg_id": "regdw000000000076032"
}
]

GET DETAILS OF AN ENROLLMENT

Overview
Returns the details of the enrollment.
This Web service supports the following content formats:
Content Type Content format

AICC 0

Deployed Scorm 1

Zip File 2

File 3

Scorm Package 7

URL/VC Recording 8

Tincan 11

Cornerstone SBX Test 12

Video 17

COIN 18

Requires OAuth
No
REST API Reference | Learning | 1326

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/enrollments/:id/sections:regdetail,classdetail,actions,sessionsdetail,learningAssignments,lessonDetail
Note: lessonDetail, will return the details for content module which is attempted by user. In
case the user has not attempted the content then this API will not return an empty detail.
Only the active/suspended attempt details of a particular content will be returned. In case
more than one active attempt is found (which is usually not the case) then an exception will
be thrown.
regdetail section provides details about registration status, completionStatus, order status,
order item status and other registration related required details.
classdetail section provides details about class information such as class number, session
template associated with class, class location, custom fields of class and other required
details.
actions section provides details about various actions available for a specific registration
like REGISTRATION_REVIEW,REGISTRATION_DROP, REGISTRATION_MARK_COMPLETE and
REGISTRATION_VIEW_ASSIGNMENTS.
learningAssignments section provides details about the content associated with class with
detailed content information.
sessionsdetail section provides details about the session associated with the class with
details like session start time, end time and the session template details.
The following table indicates the attribute mapping for the lessonDetail section:

UI JSON

Lesson Name title

Internal Lesson Id attemptId

Internal Id for learner-module-lesson associ- contentContextId , subscriptionId


ation

Lesson Status lessonStatus


The following are the possible values:

p passed

c completed

f failed

i incomplete

b browsed

n not attempted

Total Attempts totalAttempts


REST API Reference | Learning | 1327

UI JSON

Last Accessed Date/Time with timezone updatedOn (This will be in millisecond)

Time Spent timeSpent (HH:MM:SS)

Score score

Lesson Location lessonLocation

Completion status completionStatus


The following are the possible values:

completed

incomplete

not attempted

unknown

createdOn Date in UTC timezone

updatedOn Date in UTC timezone

URL (User-friendly)
You can use a user-friendly URL which accepts the reg_no instead of the internal Registration's
ID.
https://<hostname-api.sabacloud.com>/v1/enrollments/reg_no%3D<RegistrationNo>
/sections:regdetail,classdetail,actions,sessionsdetail,learningAssignments,lessonDetail

Calling Options
Table 363: Calling Options

Name Description Sample Value Data Type Required?

id Registration's ID reg- string Yes


dw000000000004020

Return Values
Note: As of now, the attendance related fields ("attendance", "attendanceInMinutesString")
does not carry valid data.

{
"@type": "com.saba.learning.services.registration.ClassRegistrationDetail",
"instructors": null,
"blockersBySequencing": null,
"hideLaunchBySequencing": false,
"group": null,
REST API Reference | Learning | 1328

"lessonDetail": ["list", [{
"@type": "map",
"N10010": {
"@type": "map",
"attemptId": "aireg000000000200701",
"title": "Conduct of Vessels in any Condition of Visibility",
"contentContextId": "ctctx000000000005905",
"subscriptionId": "ctnsr000000000001738",
"totalAttempts": 1,
"lessonStatus": "c",
"completionStatus": "completed",
"createdOn": "2016/10/22T11:19:37UTC",
"updatedOn": "2016/10/22T11:20:37UTC",
"timeSpent": "00:00:00",
"score": 100,
"lessonLocation": "a001_test_1.html"
},
"N10161": {
"@type": "map",
"attemptId": "aireg000000000200702",
"title": "Learning Object R_A3",
"contentContextId": "ctctx000000000005905",
"subscriptionId": "ctnsr000000000001738",
"totalAttempts": 2,
"lessonStatus": "n",
"completionStatus": "not attempted",
"createdOn": "2016/10/22T11:19:37UTC",
"updatedOn": "2016/10/22T11:20:37UTC",
"timeSpent": "00:00:00",
"score": null,
"lessonLocation": "a001_test_2.html"
},
"N1017A": {
"@type": "map",
"attemptId": "aireg000000000200705",
"title": "Learning Object R_A4",
"contentContextId": " ctctx000000000005905",
"subscriptionId": " ctnsr000000000001738",
"totalAttempts": 2,
"lessonStatus": "n",
"completionStatus": "not attempted",
"createdOn": "2016/10/22T11:19:37UTC",
"updatedOn": "2016/10/22T11:20:37UTC",
"timeSpent": "00:00:00",
"score": null,
"lessonLocation": "a002_test_1.html"
}
}]],
"learningAssignments": [
"list",
[
{
"@type": "com.saba.learning.services.activities.RegistrationModule",
"required": true,
"endDate": null,
"startDate": null,
"expirationDate": null,
"title": "pre test content1- Hila hoop",
"masteryScore": 100,
"maxAttempts": 0,
"completionStatus": 100,
"contentFormat": 7,
REST API Reference | Learning | 1329

"contentFormatVersion": "1.2",
"subscriptionId": "ctnsr000000000004105",
"launchURL": "https://<hostname>/Saba/Web_spf/ATHDB1/wizard/player/
?contextid=ctctx000000000461929&subscriptionid=ctnsr000000000004105
&templateid=pltpt000000000000001",
"signedOff": false,
"additionalAttempts": 0,
"learnerAttempts": 0,
"offeringId": null,
"completedOn": null,
"assignmentId": "cninv000000000001160",
"signOffRequired": false,
"regId": "regdw000000000269310",
"regModId": "regmd000000000224540",
"instructors": [
"list",
[]
],
"contentFileExtension": null,
"mstartDate": null,
"mendDate": null,
"compStatusDesc": "Not Evaluated",
"madhocSessionInfo": null,
"appliedTimeZone": null,
"mcompletedOn": null,
"contentContextId": "ctctx000000000461929",
"learnerScore": null,
"regModuleStatus": "NOT_EVALUATED",
"classRooms": [
"list",
[]
],
"hasNextActivity": false,
"offeringName": null,
"canViewLearnerResult": "true",
"hasPin": false,
"contentInfo": {
"@type": "com.saba.services.model.ContentInfo",
"fileExtension": null,
"title": "pre test content1- Hila hoop",
"contentFormat": 7,
"contentFormatVersion": "1.2",
"ioscompatibility": "notCompatible",
"playerTemplateId": "pltpt000000000000001",
"showExitOptions": true,
"showExitWithoutSaving": true,
"contentStatus": 0,
"relaxSCORM2004": false,
"dirty": false,
"id": "cninv000000000001160"
},
"sequence": 0,
"actions": [
"list",
[
{
"@type": "com.saba.learning.services.common.actions.ContentResultAction",

"enabled": null,
"name": "View Content Result",
"method": "GET",
"id": 16
REST API Reference | Learning | 1330

}
]
],
"type": 100
}
]
],
"actionsForRegistration": [
"list",
[
{
"@type": "com.saba.services.actionservice.Action",
"enabled": false,
"reference": "regdw000000000001090",
"primaryAction": false,
"actionKey": "LEARNINGEVENT_SHARE"
},
{
"@type": "com.saba.services.actionservice.Action",
"enabled": false,
"reference": "regdw000000000001090",
"primaryAction": false,
"actionKey": "REGISTRATION_DROP"
},
{
"@type": "com.saba.services.actionservice.Action",
"enabled": false,
"reference": "regdw000000000001090",
"primaryAction": false,
"actionKey": "REGISTRATION_MARK_COMPLETE"
},
{
"@type": "com.saba.services.actionservice.Action",
"enabled": false,
"reference": "regdw000000000001090",
"primaryAction": false,
"actionKey": "REGISTRATION_VIEW_ASSIGNMENTS"
},
{
"@type": "com.saba.services.actionservice.Action",
"enabled": false,
"reference": "regdw000000000001090",
"primaryAction": false,
"actionKey": "OFFERING_BUY_FOR_OTHERS"
}
]
],
"registrationId": "regdw000000000001090",
"otherRegistrationsForCourse": null,
"learningEventDetail": {
"@type": "LearningEventDetail",
"registered": false,
"actions": null,
"id": null,
"owner": null,
"version": null,
"description": null,
"suppressscore": false,
"preRequisitesAndEquivalents": null,
"learningEventOwners": null,
"consumptionStats": null,
"assignmentDetails": null,
REST API Reference | Learning | 1331

"customFieldsValue": null,
"learnerCreditsString": "",
"numberOfRequiredCourses": null,
"learningEventConsumers": null,
"blockersBySequencing": null,
"hideLaunchBySequencing": null,
"continuousLaunchEnabled": false,
"oneClickRegEnabled": false,
"group": null,
"completed": false,
"status": null,
"children": null,
"learnerCredits": null,
"associatedLearning": null,
"tags": null,
"tagDetails": null,
"availableFrom": null,
"learningEventType": null,
"validTillFrequency": null,
"validTillDayMonth": null,
"validTillStartDayMonth": null,
"discontinuedFrom": null,
"consumeWithinCert": false,
"targetDays": null,
"discontinued": false,
"ratings": null,
"socialProfile": null,
"owners": null,
"imageURL": "",
"notes": null,
"licencePlans": null,
"recertWindow": 0,
"inactivePaths": null,
"offeredAs": null,
"practiceArea": null,
"practiceType": null,
"licenseType": null,
"errorMessages": null,
"fosDetails": null,
"cpfDetail": null,
"hideClassMates": false,
"customValues": null,
"paths": null,
"securityDomain": null,
"componentName": null,
"title": null,
"validTill": 0,
"notifyBefore": 0,
"validTillType": 0,
"sensitive": false,
"validTillUnit": 0,
"vendor": null,
"recurring": false,
"publishToCatalog": false,
"recertWindowUnit": 0,
"learningEventId": null,
"historyLookupPolicy": null,
"pastCreditDays": 0,
"displayName": null,
"locale": null,
"primaryKey": null,
"factoryName": "com.saba.learning.services.learningevent.LearningEventDetail",
REST API Reference | Learning | 1332

"updateMetadata": null,
"tagName": null,
"auditReason": "audit with reason"
},
"classAttachments": null,
"consumptionData": null,
"courseRequirers": null,
"registrationInfo": {
"@type": "com.saba.learning.services.registration.RegistrationInfo",
"location": null,
"actions": null,
"id": {
"@type": "ServiceObjectReference",
"id": "regdw000000000001090",
"displayName": ""
},
"className": null,
"organization": null,
"duration": "00:00",
"orderId": {
"@type": "ServiceObjectReference",
"id": "intor000000000200067",
"displayName": ""
},
"classSessionId": null,
"orderApprovalStatus": 200,
"evaluationCount": 0,
"studentCourseId": null,
"learner": {
"@type": "ServiceObjectReference",
"id": "persn000000000001000",
"displayName": "Client One"
},
"trainingUnits": null,
"score": 0,
"grade": null,
"recurringCourse": false,
"completionDate": null,
"completionStatus": {
"key": 100,
"desc": "Not Evaluated"
},
"email": null,
"attendance": "00:00",
"orderStatus": 100,
"orderItemId": {
"@type": "ServiceObjectReference",
"id": "iodwn000000000001026",
"displayName": ""
},
"partNo": null,
"money": {
"@type": "com.saba.currency.Money",
"amount": [
"java.math.BigDecimal",
350
],
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
REST API Reference | Learning | 1333

"string": "350 USD",


"isocode": "USD"
},
"credits": 0,
"offeringId": {
"@type": "ServiceObjectReference",
"id": "dowbt000000000001022",
"displayName": ""
},
"participationStatus": 100,
"offeringActionId": "ofapr000000000001110",
"regOrderId": {
"@type": "ServiceObjectReference",
"id": "intor000000000200067",
"displayName": ""
},
"regWaitList": null,
"learner_no": null,
"qrCodeURL": null,
"classRegisteredBeforeReacquisition": false,
"createdOn": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 998474292000,
"locale": "22.08.2001",
"dateInUserTimeZone": "22.08.2001",
"timeInUserTimeZone": "2:58 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "3:28 PM",
"dateInStandardFormat": "08/22/2001",
"timeInLocale": "3:28 PM"
},
"customValues": {
"@type": "map",
"custom9": null,
"custom0": "customValue",
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": "2015-09-21T18:30:00.000+0530"
},
"startDate": null,
"noShow": false,
"walkIn": false,
"orderNo": null,
"offeringTemplateId": {
"@type": "ServiceObjectReference",
"id": "cours000000000200028",
"displayName": ""
},
"approvalStatus": null,
"orderItemStatus": 100,
"registrationStatus": 100,
"deliveryType": null,
"attendanceInMinutesString": null,
"canViewLearnerResult": "true",
"cancelledRegistrationsCount": null,
REST API Reference | Learning | 1334

"statusDescription": "In Progress",


"learnerPictureURL":
"http://<hostname>/assets/spf/skin/wireframe/media/icons/summit/39ProfileMale.png",
"unassignedLearner": false,
"languageDetails": null,
"audienceTypeSubType": null,
"orderStatusName": null,
"regOrderItemId": {
"@type": "ServiceObjectReference",
"id": "iodwn000000000001026",
"displayName": ""
},
"enrollmentStatus": {
"name": "INPROGRESS",
"statusValue": "100"
}
},
"courseSocialProfile": {
"@type": "com.saba.social.service.SocialProfile",
"averageRating": 0,
"totalComments": 0,
"rate": null,
"totalViewCount": 0,
"totalPeopleRated": 0
},
"classSessions": null,
"classDetail": {
"@type": "com.saba.learning.services.offering.OfferingDetail",
"name": "Skillsoft testing - Introduction",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": null,
"resources": [
"list",
[]
],
"actions": null,
"id": "dowbt000000000001022",
"description": "\r\n\t\t",
"duration": 0,
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"location_id": null,
"max_ct": 0,
"max_book": 0,
"min_ct": 0,
"csr_id": null,
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"facility_id": null,
"vendor_id": null,
REST API Reference | Learning | 1335

"open_enroll": null,
"enroll_close": null,
"post_order": null,
"vleInfo": null,
"start_date": null,
"avail_from": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 998418600000,
"locale": "22.08.2001",
"dateInUserTimeZone": "21.08.2001",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "08/22/2001",
"timeInLocale": "12:00 AM"
},
"disc_from": null,
"skip_days_map": null,
"has_community": false,
"wbt_no": "00200007",
"enforced_seq": null,
"customFieldsValue": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
REST API Reference | Learning | 1336

},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
REST API Reference | Learning | 1337

"displayName": "Custom9_for MRG0357654"


},
{
"@type": "CustomAttributeValueDetail",
"name": "ExCustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
]
],
"status": null,
"session_template": null,
"disp_for_call_center": true,
"open_enroll_for_all": null,
"post_completion": null,
"stop_auto_promotion": null,
"do_not_drop_post": null,
"manufacturer_id": null,
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000200028",
"displayName": "Skillsoft testing - Introduction"
},
"creditsCollection": null,
"facility": null,
"trainingUnits": null,
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"availableSeats": -1,
"offeringPriceDisplay": "350 USD",
"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amount": [
"java.math.BigDecimal",
350
],
"amountString": "350 USD"
}
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000200028",
"displayName": "Skillsoft testing - Introduction"
},
"availableSeats": -1,
"sessionTemplate": null,
"offeringNumber": "00200007",
"consumeWithinCert": false,
REST API Reference | Learning | 1338

"abstract": "For testing Skillsoft Content\r\n\t\t",


"audienceTypes": [
"list",
[]
],
"cpf": false,
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
REST API Reference | Learning | 1339

"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom6",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"@type": "CustomAttributeValueDetail",
"name": "ExCustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
]
],
"endDate": null,
"startDate": null,
"securityDomain": {
REST API Reference | Learning | 1340

"@type": "ServiceObjectReference",
"id": "domin000000000000001",
"displayName": "world"
},
"class_no": "00200007",
"locationDetail": null,
"price": {
"@type": "com.saba.learning.services.common.Money",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amount": [
"java.math.BigDecimal",
350
],
"amountString": "350 USD"
},
"componentName": "ComponentName",
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"baseDeliveryType": 200,
"calendarExportURL": null,
"priceDisplayString": "350 USD",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"displayString": "Cancellation charge of 10.0 % for all other days.",
"charge": 10,
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000001",
"displayName": null
},
"chargeType": 1,
"daysFrom": -99999,
"daysTo": 99999
}
]
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"durationString": "00:00",
"offering_temp_no": null,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"suppressScoreForOT": false,
"publishStatusMessage": null,
"publishEndDate": null,
"publishStartDate": null,
"customFields": {
REST API Reference | Learning | 1341

"@type": "map",
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null,
"ExCustom1": null
},
"publishStatus": null,
"group_id": null,
"endDateI18n": null,
"startDateI18n": null,
"courseVersion": null,
"cpfMins": 0
}
}

GET EVALUATION DETAILS OF AN ENROLLMENT

Overview
Returns the evaluation details of the enrollment.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/enrollments/:registrationId/evaluations?learnerId=:learnerId

Calling Options
Table 364: Calling Options

Name Description Sample Value Data Type Required?

registrationId Registration's ID reg- string Yes


dw000000000004020

learnerId Learner's ID em- string Yes


plo000000000004020
REST API Reference | Learning | 1342

Return Values

{
"lrevl000000000001080": {
"evalDeepLinkURL": "http://<hostname>/Saba/Web_spf/Social/common/
leclassdetail/regdw000000000067448?studentId=emplo000000000200301
&evaluationId=lrevl000000000001080#launchObjectEVAL",
"id": "lrevl000000000001080",
"evaluator": {
"id": "emplo000000000200301",
"displayName": "Paul Humm7"
},
"status": 100,
"contextId": "ctctx000000000016466",
"learner": null,
"contentFormat": 3,
"registration": {
"id": "regdw000000000067448",
"displayName": null
},
"isActive": false,
"certification": null,
"offering": {
"id": "dowbt000000000004743",
"displayName": "EAF WBT1"
},
"heldCertification": null,
"evaluationName": "Evaluation",
"offeringTemplate": {
"id": "cours000000000206068",
"displayName": "Evel avail in future"
},
"subscriptionId": "ctnsr000000000002960",
"dateSubmitted": "2019-08-30T00:00:00.000+0530",
"dateExpired": null,
"dateCompleted": null
}
}

GET EXISTING REGISTRATION DETAILS OR AUTO ENROLL USER


AND GET REGISTRATION DETAILS

Overview
Returns the existing details of the registration. If the enrollment does not exist, then the
learner will be enrolled to the class. If the enrollment already exists or the learner has already
completed the class then the enrollment record ID will be returned.
Note: When custom fields on the 'Order' component are marked as required then the auto
enroll API will not work i.e. the learner will not be auto enrolled to the class.
The Base learner (i.e. the Order contact) will be the logged in learner, Bill to depends on the
BR settings "Billing Party" (Bill to learner itself instead of learners organization). In case of
Non-zero price and payment is required for the learner, the order will be created in "Payment
Initiated" state.
If multiple registrations already exists then the results returned by this API are in the
descending order of the completion_date.
REST API Reference | Learning | 1343

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/:learner/<:offering or
:courseID>/autoenroll
Note: For retrieving complete learning assignment details, use fullAssignmentDetail=true
as the query param. When you pass this parameter complete learning assignment details
will be returned:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/uone/testcourse01/autoenroll?fullAssignmentDetail=true

Examples
https://<hostname-api.sabacloud.com>/v1/learning/enroll/emplo000000000001000/dowbt000000000038912/autoenroll
https://<hostname-api.sabacloud.com>/v1/learning/enroll/emplo000000000001000/cours000000000241909/autoenroll

URL (User-friendly)
You can use a user-friendly URL which accepts the username instead of the internal
Employee's ID and course number instead of the internal Offering's or Course's ID.
https://<hostname-api.sabacloud.com>/v1/learning/enroll/:username/:courseno/autoenroll

Examples
https://<hostname-api.sabacloud.com>/v1/learning/enroll/uone/wbtclass001/autoenroll

Calling Options
Table 365: Calling Options

Name Description Sample Value Data Type Required?

learner Person's ID or User- em- string Yes


name or Person_No plo000000000001000

offering Offering's ID or the dowbt000000000002644 string Yes


unique offering num-
ber

courseID If a CourseID or a cours000000000241909 string Yes


course number along
with the course ver-
sion is passed, this API
finds an active offer-
ing for a self-paced
delivery mode and
uses that for registra-
tion.
REST API Reference | Learning | 1344

Name Description Sample Value Data Type Required?

deliveryType Delivery type of the web-based string No


offering.
Note: deliveryType is
optional for course,
however, if the course
has only one class
then deliveryType can
be used to enroll for
that class. By default
only web-based will be
considered.

version Version of the course string No

type course string No


This is an identifier in
the Request Body for
the user friendly URL
that helps indicate
whether a course
number or an offering
number is being
passed in the API. By
default its value is
considered as offer-
ing

Request Body

{"version": null, "type": "course", "deliveryType":"instructor-led"}

Return Values

[
{
"registrationStatus":100,
"orderNo":"00160364",
"completionStatusDesciption":"Not Evaluated",
"orderId":"intor000000003517540",
"registrationStatusDesciption":"Registered",
"orderStatus":100,
"regId":"regdw000000000127324",
"completionDate":null,
"completionStatus":100,
"orderStatusDesciption":"Confirmed",
"createdOn":"2016/09/23T04:49:56UTC",
"learningAssignments":[
{
"regModuleId":"regmd000000000092880",
"subscriptionId":null,
"contentContextId":"ctctx000000000157910"
},
REST API Reference | Learning | 1345

{
"regModuleId":"regmd000000000092880",
"subscriptionId":null,
"contentContextId":"ctctx000000000157910"
}
]
}
]

Return Values (when fullAssignmentDetail=true)

[{
"registrationStatus" : 100,
"orderNo" : "0000248910",
"completionStatusDesciption" : "Not Evaluated",
"orderId" : "intor000000000285660",
"registrationStatusDesciption" : "Registered",
"orderStatus" : 100,
"regId" : "regdw000000000067438",
"completionDate" : null,
"completionStatus" : 100,
"orderStatusDesciption" : "Confirmed",
"createdOn" : "2019/11/07T13:35:27UTC",
"learningAssignments" : [ {
"completionStatus" : 100,
"regId" : "regdw000000000067438",
"regModId" : "regmd000000000031938",
"title" : "a1",
"compStatusDesc" : "Not Completed",
"maxAttempts" : 0,
"learnerAttempts" : 0,
"additionalAttempts" : 0,
"contentFileExtension" : null,
"sectionId" : null,
"sectionName" : null,
"signedOff" : false,
"instructors" : null,
"classRooms" : null,
"contentInfo" : null,
"vendorType" : null,
"vendorUrl" : null,
"type" : 200,
"assignmentId" : "taskd000000000003621",
"actions" : [ ],
"hasNextActivity" : false,
"offeringId" : null,
"offeringName" : null,
"launchURL" : null,
"hasPin" : false,
"expirationDate" : null,
"studentId" : "emplo000000000200908",
"classId" : "dowbt000000000031314",
"section" : {
"updateMetadata" : null,
"displayName" : null,
"createdon" : null,
"createdby" : null,
"updatedon" : null,
"updatedby" : null,
"name" : null,
REST API Reference | Learning | 1346

"associatedto" : null,
"welcomemessage" : null,
"successclosemessage" : null,
"failclosemessage" : null,
"description" : null,
"timestamp" : null,
"componentName" : "Activity Section",
"id" : null,
"primaryKey" : null,
"locale" : null,
"auditReason" : "audit with reason"
},
"participation" : 100,
"canLaunch" : false,
"errorMessage" : null,
"sessionStatus" : null,
"hasPlayback" : false,
"launchClassicPlayer" : false,
"learner" : {
"employeeID" : "emplo000000000200908",
"label" : "User11 One11",
"ID" : "94F7ADDCE90842948F3D2F352507F998"
},
"appliedTimeZone" : null,
"mstartDate" : null,
"mendDate" : null,
"regModuleStatus" : "NOT_EVALUATED",
"madhocSessionInfo" : null,
"mcompletedOn" : null,
"contentFormat" : -1,
"contentFormatVersion" : null,
"masteryScore" : null,
"required" : true,
"subscriptionId" : null,
"cdn" : false,
"contentContextId" : "ctctx000000000079106",
"learnerScore" : null,
"startDate" : null,
"endDate" : null,
"sequence" : 0,
"completedOn" : null,
"virtualSession" : false,
"signOffRequired" : false,
"sessionAttended" : false,
"canViewLearnerResult" : "true"
}, {
"completionStatus" : 100,
"regId" : "regdw000000000067438",
"regModId" : "regmd000000000031937",
"title" : "131314124",
"compStatusDesc" : "Not Evaluated",
"maxAttempts" : 0,
"learnerAttempts" : 0,
"additionalAttempts" : 0,
"contentFileExtension" : null,
"sectionId" : null,
"sectionName" : null,
"signedOff" : false,
"instructors" : null,
"classRooms" : null,
"contentInfo" : {
"id" : "cninv000000000003701",
REST API Reference | Learning | 1347

"title" : "131314124",
"contentFormat" : 8,
"contentFileFormat" : "5",
"contentFormatVersion" : null,
"playerTemplateId" : "pltpt000000000000002",
"showExitOptions" : true,
"showExitWithoutSaving" : true,
"dirty" : false,
"contentStatus" : 0,
"fileExtension" : null,
"relaxSCORM2004" : false,
"vendorId" : null,
"videoId" : null,
"videoContentMetadataDetail" : null,
"customTemplateId" : null,
"type" : null,
"syncLearnerAttemptsViaTOC" : true,
"fileSize" : 0,
"urlTypeMarkComplete" : false,
"overrideQuestionsStyling" : false,
"overrideMessagesStyling" : false,
"ioscompatibility" : "notCompatible",
"multiSco" : false
},
"vendorType" : null,
"vendorUrl" : null,
"type" : 100,
"assignmentId" : "cninv000000000003701",
"actions" : [ ],
"hasNextActivity" : false,
"offeringId" : null,
"offeringName" : null,
"launchURL" : "https://<hostname-api.sabacloud.com>/Saba/Web_spf/learning2/
wizard/player/?contextid=ctctx000000000079106&subscriptionid=ctnsr000000000069353

&templateid=pltpt000000000000002",
"hasPin" : true,
"expirationDate" : null,
"studentId" : "emplo000000000200908",
"classId" : "dowbt000000000031314",
"section" : {
"updateMetadata" : null,
"displayName" : null,
"createdon" : null,
"createdby" : null,
"updatedon" : null,
"updatedby" : null,
"name" : null,
"associatedto" : null,
"welcomemessage" : null,
"successclosemessage" : null,
"failclosemessage" : null,
"description" : null,
"timestamp" : null,
"componentName" : "Activity Section",
"id" : null,
"primaryKey" : null,
"locale" : null,
"auditReason" : "audit with reason"
},
"participation" : 100,
"canLaunch" : false,
REST API Reference | Learning | 1348

"errorMessage" : null,
"sessionStatus" : null,
"hasPlayback" : false,
"launchClassicPlayer" : false,
"learner" : {
"employeeID" : "emplo000000000200908",
"label" : "User11 One11",
"ID" : "94F7ADDCE90842948F3D2F352507F998"
},
"appliedTimeZone" : null,
"mstartDate" : null,
"mendDate" : null,
"regModuleStatus" : "NOT_EVALUATED",
"madhocSessionInfo" : null,
"mcompletedOn" : null,
"contentFormat" : 8,
"contentFormatVersion" : null,
"masteryScore" : null,
"required" : true,
"subscriptionId" : "ctnsr000000000069353",
"cdn" : false,
"contentContextId" : "ctctx000000000079106",
"learnerScore" : null,
"startDate" : null,
"endDate" : null,
"sequence" : 1,
"completedOn" : null,
"virtualSession" : false,
"signOffRequired" : true,
"sessionAttended" : false,
"canViewLearnerResult" : "true"
}]
}]

CREATE A NEW ENROLLMENT (Self registration)

Overview
Creates a new enrollment without the payment option. This API is purely for self registration.
Note: Use ENROLL FOR OTHER USERS/SELF to create enrollments for other users as well as
for self.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/enrollments
REST API Reference | Learning | 1349

Calling Options
Table 366: Calling Options

Name Description Sample Value Data Type Required?

learnerId Person's ID or Per- em- string Yes


son's Username or plo000000000001029
Person's No
Note: learnerId sup-
ports lookup (ID, User-
name, person_no,
email, ss_no).

offeringId Class's ID or Part No class000000000201503 string Yes


to which the learner
will enroll

deliveryId Delivery Type's ID to eqcat000000000000004 string No


which the learner will
enroll.
Supports lookup (Deliv-
ery Name).
Note: This is required,
only if the Class's Part
No is provided

@type Input JSON class com.saba.learn- string Yes


name ing.services.
registration.Re-
gistrationRe-
quest

warning- List [ "list", []] string Yes


sToIgnore

currencyId Currency's ID crncy000000000200968 object No


Supports lookup (ISO
code).

ignoreWarnings While registering by true string No


default ignoreWarn-
ings is set to true.
Setting it to false will
not allowing register-
ing.
REST API Reference | Learning | 1350

Request Body

{
"learnerId":"emplo000000000533317",
"offeringId":"class000000000007820",
"@type":"com.saba.learning.services.registration.RegistrationRequest",
"currencyId":"INR"
}

Request Body (Uses the warningsToIgnore field)

{
learnerId: "uone2",
offeringId: "dowbt000000000002363",
@type: "com.saba.learning.services.registration.RegistrationRequest",
currencyId: "USD",
warningsToIgnore: [
"list",
[
"140507"
]
]
}

The lookup support is available for this REST API.

JSON Attribute UI Attribute Component Name

learnerId Learner Person

deliveryId Delivery Type Delivery

offeringId Offering Offering

currencyId Currency Currency

Return Values

{
"@type": "com.saba.learning.services.registration.OrderResult",
"warnings": [
"list", []
],
"errors": [
"list", []
],
"orderId": "intor000000011130579",
"orderDetail": {
"@type": "com.saba.learning.services.registration.OrderDetail",
"customValues": [
"list", [{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
REST API Reference | Learning | 1351

"displayName": "custom0"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
},
"value": null,
"displayName": "custom1"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "custom2"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 9
},
"value": null,
"displayName": "custom3"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "custom4"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 12
},
"value": null,
"displayName": "custom5"
}]
],
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
REST API Reference | Learning | 1352

"billingAddress": {
"@type": "com.saba.primitives.AddressDetail",
"componentName": "Address",
"zip": "",
"addr1": "",
"addr2": "",
"city": "",
"email": null,
"addressString": "Addr1=, Addr2= Addr3=, City=, State=, Zip=, Country=",
"addr3": "",
"incomplete": true,
"tag": 0,
"state": "",
"country": "",
"owner": null,
"primaryKey": null,
"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
},
"learner": null,
"trainingUnits": null,
"orderStatus": "Confirmed",
"couponDiscount": null,
"baseCustomer": {
"@type": "ServiceObjectReference",
"id": "emplo000000000533317",
"displayName": "user one"
},
"promotionCode": null,
"orderDiscount": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"orderContact": "user one",
"paidWithPurchaseOrders": false,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"vatNo": null,
"skuOrder": null,
"orderItems": [
"list", [{
"@type": "com.saba.learning.services.registration.OrderItemDetail",
"cancellationPolicyInfo": null,
"subDetail": null,
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": null,
"mGracePeriod": null,
REST API Reference | Learning | 1353

"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"learner": {
"@type": "ServiceObjectReference",
"id": "emplo000000000533317",
"displayName": "user one"
},
"trainingUnits": 0,
"registration": {
"@type": "ServiceObjectReference",
"id": "regdw000000000306867",
"displayName": ""
},
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"partDetail": {
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",
"classDescription": "",
"customValues": [
"list", [{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Reservation Link"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Cancellation Link"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "ExCustom1 default value",
"displayName": "ExCustom1 Mexico"
}, {
REST API Reference | Learning | 1354

"@type": "CustomAttributeValueDetail",
"name": "ExCustom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
}
}]
],
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "07-MAY-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "05/07/2016",
"timeInUserTimeZone": "9:30 AM",
"timeInLocale": "12:00 AM",
"locale": "07-MAY-2016",
"date": 1462593600000
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "07-MAY-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "05/07/2016",
"timeInUserTimeZone": "9:30 AM",
"timeInLocale": "12:00 AM",
"locale": "07-MAY-2016",
"date": 1462593600000
},
"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000071594",
"displayName": "AMERICA"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"componentName": "ComponentName",
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000024113",
REST API Reference | Learning | 1355

"displayName": "000America-course"
},
"availableSeats": -1,
"sessionTemplate": "a1",
"facility": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"attachments": [
"list", []
],
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"email": "lo2@sabaqa.com",
"fax": "lo2fax",
"primaryPhone": "lo2pphone",
"secondaryPhone": "lo2sphone"
},
"locationId": "001001",
"locationName": "Location2",
"eeoMandatory": null,
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"city": "lo2city",
"zipCode": "lo2zip",
"addressLine1": "lo2address1",
"addressLine2": "lo2address2",
"state": "lo2state",
"country": "lo2country",
"addressLine3": null
},
"locationContact": null,
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000042",
"displayName": "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
},
"organization": {
"@type": "ServiceObjectReference",
"id": "bisut000000000002880",
"displayName": "BusinessUnit2"
}
},
"offeringNumber": "1222111111",
"consumeWithinCert": false,
"trainingUnits": null,
"audienceTypes": null,
"cpf": false,
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"availableSeats": -1,
"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
REST API Reference | Learning | 1356

"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "0 USD"
},
"class_no": "1222111111",
"calendarExportURL": null,
"creditsCollection": null,
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000001588",
"displayName": "Location2"
},
"max_ct": 20,
"max_book": 2,
"min_ct": 5,
"csr_id": null,
"session_template": "a1",
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "07-MAY-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "05/07/2016",
"timeInUserTimeZone": "9:30 AM",
"timeInLocale": "12:00 AM",
"locale": "07-MAY-2016",
"date": 1462593600000
},
"avail_from": null,
"disc_from": null,
"manufacturer_id": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
REST API Reference | Learning | 1357

"@type": "ServiceObjectReference",
"id": "cours000000000024113",
"displayName": "000America-course"
},
"has_community": false,
"wbt_no": "1222111111",
"enforced_seq": "100",
"baseDeliveryType": 100,
"customFieldsValue": [
"list", [{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Reservation Link"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Cancellation Link"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "ExCustom1 default value",
"displayName": "ExCustom1 Mexico"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
}
}]
],
"ownersValue": null,
"customFields": {
"@type": "map",
"custom0": null,
"ExCustom10": null,
"custom1": null,
"ExCustom1": "ExCustom1 default value"
},
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"creditString": null,
"group_id": null,
"endDateI18n": "07-MAY-2016",
"startDateI18n": "07-MAY-2016",
"priceDisplayString": "0 USD",
REST API Reference | Learning | 1358

"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"notifyDropCondition": "",
"allEffectivePolicies": [
"list", [{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"daysFrom": 7,
"daysTo": 15,
"charge": 35,
"chargeType": 1,
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 35.0 % if dropped between 22-APR-2016 and
30-APR-2016."
}, {
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"daysFrom": 0,
"daysTo": 6,
"charge": 47,
"chargeType": 1,
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 47.0 % if dropped between 01-MAY-2016 and
07-MAY-2016."
}, {
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"daysFrom": -99999,
"daysTo": 99999,
"charge": 10,
"chargeType": 1,
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 10.0 % for all other days."
}]
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"courseVersion": null,
"durationString": "00:15",
"offering_temp_no": null,
"cpfMins": 0,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"suppressScoreForOT": false,
"inheritedTrainingUnits": null,
"courseDescription": "",
"courseCustomValues": [
"list", [{
REST API Reference | Learning | 1359

"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 9
},
"value": null,
"displayName": "Registration Link"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
},
"value": null,
"displayName": "Cancellation Link"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "Custom2"
}, {
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 12
},
"value": null,
"displayName": "Custom3"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "change"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom3"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom4",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom4"
REST API Reference | Learning | 1360

}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom5"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom8",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom8"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom9",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 1
},
"value": null,
"displayName": "ExCustom9"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom11",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom11"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom12",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom12"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom14",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "ExCustom14"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom16",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": "<p><strong>This will test for the Rich Text.&#160;&#65279;This will test for the
REST API Reference | Learning | 1361

Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test for
the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will
test for the Rich Text.This will test for the Rich Text.&#160;&#65279;This will test for the
Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test for
the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will
test for the Rich Text.This will test for the Rich Text.&#160;&#65279;This will test for the
Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test for
the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will
test for the Rich Text.This will test for the Rich Text.&#160;&#65279;This will test for the
Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test for
the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will test
for the Rich Text.&#160;&#65279;This will test for the Rich Text.&#160;&#65279;This will
test for the Rich Text.</strong></p>",
"displayName": "ExCustom16"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom17",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom17"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom18",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom18"
}, {
"@type": "CustomAttributeValueDetail",
"name": "ExCustom19",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "ExCustom19"
}]
],
"description": "",
"name": "000America-course",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"resources": [
"list", [{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
"resourceType": 200,
"purpose": "recat000000000000504",
REST API Reference | Learning | 1362

"qualified": false,
"addInfo": {
"@type": "map"
},
"resourceStartDate": null,
"resourceEndDate": null,
"resourceLocation": null,
"resourceFacility": null,
"resourceRates": null,
"resourceCatalog": null,
"resource": null,
"type": "TYPE_PERSON",
"disabled": false
}]
],
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001588",
"displayName": "Location2"
},
"actions": null,
"id": "class000000000007820",
"duration": 15,
"status": "Open - Normal"
},
"couponDiscount": [
"java.math.BigDecimal",
0
],
"quantity": null,
"regCPFDetail": null,
"regDifDetail": null,
"groupItem": null,
"totalTax": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"taxStatus": {
"taxStatus": 300,
"displayName": "Non Taxable"
},
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
REST API Reference | Learning | 1363

"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"taxItems": [
"list", []
],
"itemStatusDescription": "Registered",
"totalDiscount": [
"java.math.BigDecimal",
0
],
"organization": null,
"id": {
"@type": "ServiceObjectReference",
"id": "ioreg000000008859912",
"displayName": ""
},
"group": null,
"part": {
"@type": "ServiceObjectReference",
"id": "class000000000007820",
"displayName": "000America-course"
}
}]
],
"totalPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"skuOrderNo": null,
"trainingUnitOrder": false,
"totalTax": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"profileDiscount": null,
"profileDiscountValue": null,
"taxStatusInfo": {
"@type": "com.saba.order.OrderTaxStatusInfo",
"code": "300",
REST API Reference | Learning | 1364

"detailCode": null,
"displayName": "Non Taxable"
},
"marketingCampaign": null,
"totalDropChargesBeforeTax": null,
"totalTaxOnDropCharges": null,
"regCpfDetail": null,
"hasCcPoSplitPayment": false,
"packageorder": false,
"dropRegistrationCustomFieldEnabled": false,
"billedTo": {
"@type": "ServiceObjectReference",
"id": "bisut000000000002340",
"displayName": "Root"
},
"orderNumber": "00789785",
"orderStatusObj": {
"orderStatus": 100,
"description": "Confirmed",
"name": "Confirmed",
"key": "100"
},
"orderDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "03-MAY-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "10:06 AM",
"dateInStandardFormat": "05/03/2016",
"timeInUserTimeZone": "7:36 PM",
"timeInLocale": "10:06 AM",
"locale": "03-MAY-2016",
"date": 1462284399000
},
"totalDropCharges": null,
"payments": [
"list", []
],
"totalDiscount": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": false,
"canPayBySubscriptionOrder": true,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"allRefundableItemsSubTotal": null,
REST API Reference | Learning | 1365

"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
},
"address": {
"@type": "com.saba.primitives.AddressDetail",
"componentName": "Address",
"zip": "",
"addr1": "",
"addr2": "",
"city": "",
"email": null,
"addressString": "Addr1=, Addr2= Addr3=, City=, State=, Zip=, Country=",
"addr3": "",
"incomplete": true,
"tag": 0,
"state": "",
"country": "",
"owner": null,
"primaryKey": null,
"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
},
"order": {
"@type": "ServiceObjectReference",
"id": "intor000000011130579",
"displayName": ""
}
},
"skucartItem": null
}

ENROLL FOR OTHER USERS/SELF

Overview
Allows enrolling for other users as well as for self without the payment option.
Note:
Using this Web service, the catalog admin cannot change the order contact. Order contact
could only be himself, if the learner is an internal person. The catalog admin can change the
order contact to only a base learner, if that learner is an external person. Base learner's
organization is not supported as the order contact.
While registering by default ignoreWarnings is set to true. Setting it to false will not allowing
registering.

Requires OAuth
No
REST API Reference | Learning | 1366

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/enrollments

Calling Options
Table 367: Calling Options

Name Description Sample Value Data Type Required?

orderContact Person's ID or Per- em- object Yes


son's Username or plo000000000001000
Person's No
Note: orderContact
supports lookup (ID,
Username, person_no,
email, ss_no).
REST API Reference | Learning | 1367

Name Description Sample Value Data Type Required?

cartItems Order Item [learner id object Yes


and class id] [
"java.util.Ar►
Note: learnerId sup- rayList",
ports lookup (ID, User- [
name, person_no, {
email, ss_no).
"@type":"com.saba
offeringId supports
lookup (Offering No). .learning
deliveryId supports .ser►
lookup (Delivery vices.order
Name).
.CartItem",
"learnerId":

"em►
plo00000000

0200493",
"partId":

"dowbt00000000

0001586",
"delivery►
Id":

"eqcat00000000

0000005"
}
]
]

currencyId Currency's ID crncy000000000200968 object No


Note: currencyId
supports lookup (ID,
ISO code, name).

@type Input JSON class com.saba.learn- string Yes


name ing.services.or-
der.CartRequest

Request Body (Self)

{
"orderContact":"emplo000000000533317",
"cartItems":["java.util.ArrayList",[{
"@type": "com.saba.learning.services.order.CartItem",
"learnerId": "emplo000000000533317",
"partId": "class000000000009675",
REST API Reference | Learning | 1368

"deliveryId": "eqcat000000000000005"}]],
"@type":"com.saba.learning.services.order.CartRequest",
"currencyId":"crncy000000000200968"
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

learnerId Learner Person

deliveryId Delivery Type Category Definition

offeringId Offering Offering

currencyId Currency Currency

orderContact Order Contact Person

Request Body (Other Users)

{
"@type": "com.saba.learning.services.order.CartRequest",
"orderContact": "emplo000000000001000",
"cartItems": [
"java.util.ArrayList",
[
{
"@type": "com.saba.learning.services.order.CartItem",
"learnerId": "emplo000000000001039",
"partId": "dowbt000000000001586"
},{
"@type": "com.saba.learning.services.order.CartItem",
"learnerId": "emplo000000000200120",
"partId": "dowbt000000000001586"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

learnerId Learner Person

deliveryId Delivery Type Category Definition

offeringId Offering Offering

currencyId Currency Currency

orderContact Order Contact Person


REST API Reference | Learning | 1369

Return Values

{
"@type": "com.saba.learning.services.registration.OrderResult",
"warnings": [
"list",
[]
],
"errors": [
"list",
[]
],
"orderId": "intor000000011130590",
"orderDetail": {
"@type": "com.saba.learning.services.registration.OrderDetail",
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
},
"value": null,
"displayName": "custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 9
},
"value": null,
"displayName": "custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "CustomAttributeDatatype",
REST API Reference | Learning | 1370

"value": 10
},
"value": null,
"displayName": "custom4"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom5",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 12
},
"value": null,
"displayName": "custom5"
}
]
],
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"billingAddress": {
"@type": "com.saba.primitives.AddressDetail",
"componentName": "Address",
"zip": "",
"addr1": "",
"addr2": "",
"city": "",
"email": null,
"addressString": "Addr1=, Addr2= Addr3=, City=, State=, Zip=, Country=",
"addr3": "",
"incomplete": true,
"tag": 0,
"state": "",
"country": "",
"owner": null,
"primaryKey": null,
"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
},
"learner": null,
"trainingUnits": null,
"orderStatus": "Confirmed",
"couponDiscount": null,
"baseCustomer": {
"@type": "ServiceObjectReference",
"id": "emplo000000000533317",
"displayName": "user one"
},
REST API Reference | Learning | 1371

"promotionCode": null,
"orderDiscount": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"orderContact": "user one",
"paidWithPurchaseOrders": false,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"vatNo": null,
"skuOrder": null,
"orderItems": [
"list",
[
{
"@type": "com.saba.learning.services.registration.OrderItemDetail",
"cancellationPolicyInfo": null,
"subDetail": null,
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": null,
"mGracePeriod": null,
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"learner": {
"@type": "ServiceObjectReference",
"id": "emplo000000000533317",
"displayName": "user one"
},
"trainingUnits": 0,
"registration": {
"@type": "ServiceObjectReference",
"id": "regdw000000000306871",
"displayName": ""
},
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
REST API Reference | Learning | 1372

"partDetail": {
"@type": "com.saba.learning.services.offering.OfferingDetail",
"abstract": "",
"classDescription": "fghfhg",
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Reservation Link"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Cancellation Link"
},
{
"@type": "CustomAttributeValueDetail",
"name": "ExCustom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
}
]
],
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "08-JUN-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "06/08/2016",
"timeInUserTimeZone": "9:30 AM",
"timeInLocale": "12:00 AM",
"locale": "08-JUN-2016",
"date": 1465358400000
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "08-JUN-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "06/08/2016",
"timeInUserTimeZone": "9:30 AM",
"timeInLocale": "12:00 AM",
"locale": "08-JUN-2016",
"date": 1465358400000
},
REST API Reference | Learning | 1373

"securityDomain": {
"@type": "ServiceObjectReference",
"id": "domin000000000005694",
"displayName": "PUNE"
},
"price": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"componentName": "ComponentName",
"deliveryType": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"offeringTemplate": {
"@type": "ServiceObjectReference",
"id": "cours000000000024116",
"displayName": "000Pune-quickonline course"
},
"availableSeats": -1,
"sessionTemplate": "Session Template for NPE",
"facility": null,
"locationDetail": {
"@type": "com.saba.learning.services.resource.LocationDetail",
"attachments": [
"list",
[]
],
"contactInfo": {
"@type": "com.saba.learning.services.common.ContactDetail",
"email": "",
"fax": "",
"primaryPhone": "",
"secondaryPhone": ""
},
"locationId": "CALIFORNIA (CA)",
"locationName": "California (CA)",
"eeoMandatory": null,
"addressInfo": {
"@type": "com.saba.learning.services.common.AddressDetail",
"city": "",
"zipCode": "",
"addressLine1": "",
"addressLine2": "abc98756a",
"state": "",
"country": "",
"addressLine3": null
},
"locationContact": null,
"timezone": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 1374

"id": "tzone000000000000005",
"displayName": "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"organization": null
},
"offeringNumber": "646",
"consumeWithinCert": false,
"trainingUnits": null,
"audienceTypes": null,
"cpf": false,
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"@type":
"com.saba.learning.services.offering.OfferingDetail$OfferingRegistrationAvailabilityDetailsSection",

"availableSeats": -1,
"offeringPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "0 USD"
},
"class_no": "646",
"calendarExportURL": null,
"creditsCollection": null,
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"location_id": {
"@type": "ServiceObjectReference",
"id": "locat000000000002315",
"displayName": "California (CA)"
},
"max_ct": 20,
"max_book": 1,
"min_ct": 0,
"csr_id": null,
"session_template": "Session Template for NPE",
"language_id": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
REST API Reference | Learning | 1375

"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "08-JUN-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "06/08/2016",
"timeInUserTimeZone": "9:30 AM",
"timeInLocale": "12:00 AM",
"locale": "08-JUN-2016",
"date": 1465358400000
},
"avail_from": null,
"disc_from": null,
"manufacturer_id": null,
"skip_days_map": "0000000",
"learningAssignments": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000024116",
"displayName": "000Pune-quickonline course"
},
"has_community": false,
"wbt_no": "646",
"enforced_seq": "100",
"baseDeliveryType": 100,
"customFieldsValue": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Reservation Link"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Cancellation Link"
},
{
"@type": "CustomAttributeValueDetail",
"name": "ExCustom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
REST API Reference | Learning | 1376

}
]
],
"ownersValue": null,
"customFields": {
"@type": "map",
"custom0": null,
"ExCustom10": null,
"custom1": null
},
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"creditString": null,
"group_id": null,
"endDateI18n": "08-JUN-2016",
"startDateI18n": "08-JUN-2016",
"priceDisplayString": "0 USD",
"dropPolicyInfo": {
"@type": "com.saba.learning.services.catalog.DropPolicyInfo",
"notifyDropCondition": "",
"allEffectivePolicies": [
"list",
[
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"daysFrom": 7,
"daysTo": 15,
"charge": 35,
"chargeType": 1,
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 35.0 % if dropped between 24-MAY-2016
and 01-JUN-2016."
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"daysFrom": 0,
"daysTo": 6,
"charge": 47,
"chargeType": 1,
"timeEntryId": "",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 47.0 % if dropped between 02-JUN-2016
and 08-JUN-2016."
},
{
"@type": "com.saba.learning.services.catalog.DropPolicyDetail",
"daysFrom": -99999,
"daysTo": 99999,
"charge": 10,
"chargeType": 1,
"timeEntryId": "",
REST API Reference | Learning | 1377

"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 10.0 % for all other days."
}
]
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"courseVersion": null,
"durationString": "01:00",
"offering_temp_no": null,
"cpfMins": 0,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"suppressScoreForOT": false,
"inheritedTrainingUnits": null,
"courseDescription": "<font color=\"#333333\" face=\"Helvetica, Arial,
sans-serif\">000Pune-quickonline course</font>",
"courseCustomValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 9
},
"value": null,
"displayName": "Registration Link"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 2
},
"value": null,
"displayName": "Cancellation Link"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "Custom2"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 12
REST API Reference | Learning | 1378

},
"value": null,
"displayName": "Custom3"
},
{
"@type": "CustomAttributeValueDetail",
"name": "ExCustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "change"
}
]
],
"description": "fghfhg",
"name": "000Pune-quickonline course",
"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"resources": [
"list",
[]
],
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000002315",
"displayName": "California (CA)"
},
"actions": null,
"id": "class000000000009675",
"duration": 60,
"status": "Open - Normal"
},
"couponDiscount": [
"java.math.BigDecimal",
0
],
"quantity": null,
"regCPFDetail": null,
"regDifDetail": null,
"groupItem": null,
"totalTax": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"taxStatus": {
"taxStatus": 300,
"displayName": "Non Taxable"
REST API Reference | Learning | 1379

},
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"taxItems": [
"list",
[]
],
"itemStatusDescription": "Registered",
"totalDiscount": [
"java.math.BigDecimal",
0
],
"organization": null,
"id": {
"@type": "ServiceObjectReference",
"id": "ioreg000000008859923",
"displayName": ""
},
"group": null,
"part": {
"@type": "ServiceObjectReference",
"id": "class000000000009675",
"displayName": "000Pune-quickonline course"
}
}
]
],
"totalPrice": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
12
],
"isocode": "INR",
"amountString": "12 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"skuOrderNo": null,
"trainingUnitOrder": false,
"totalTax": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
REST API Reference | Learning | 1380

],
"isocode": "INR",
"amountString": "0 INR",
"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"profileDiscount": null,
"profileDiscountValue": null,
"taxStatusInfo": {
"@type": "com.saba.order.OrderTaxStatusInfo",
"code": "300",
"detailCode": null,
"displayName": "Non Taxable"
},
"marketingCampaign": null,
"totalDropChargesBeforeTax": null,
"totalTaxOnDropCharges": null,
"regCpfDetail": null,
"hasCcPoSplitPayment": false,
"packageorder": false,
"dropRegistrationCustomFieldEnabled": false,
"billedTo": {
"@type": "ServiceObjectReference",
"id": "emplo000000000533317",
"displayName": null
},
"orderNumber": "00789796",
"orderStatusObj": {
"orderStatus": 100,
"description": "Confirmed",
"name": "Confirmed",
"key": "100"
},
"orderDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "03-MAY-2016",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "10:15 AM",
"dateInStandardFormat": "05/03/2016",
"timeInUserTimeZone": "7:45 PM",
"timeInLocale": "10:15 AM",
"locale": "03-MAY-2016",
"date": 1462284910000
},
"totalDropCharges": null,
"payments": [
"list",
[]
],
"totalDiscount": {
"@type": "com.saba.learning.services.common.Money",
"amount": [
"java.math.BigDecimal",
0
],
"isocode": "INR",
"amountString": "0 INR",
REST API Reference | Learning | 1381

"currency": {
"@type": "ServiceObjectReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
}
},
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": false,
"canPayBySubscriptionOrder": true,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000070",
"displayName": "Indian Rupees"
},
"address": {
"@type": "com.saba.primitives.AddressDetail",
"componentName": "Address",
"zip": "",
"addr1": "",
"addr2": "",
"city": "",
"email": null,
"addressString": "Addr1=, Addr2= Addr3=, City=, State=, Zip=, Country=",
"addr3": "",
"incomplete": true,
"tag": 0,
"state": "",
"country": "",
"owner": null,
"primaryKey": null,
"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
},
"order": {
"@type": "ServiceObjectReference",
"id": "intor000000011130590",
"displayName": ""
}
},
"skucartItem": null
}

ENROLL FOR OTHER USERS/SELF WITH PAYMENT

Overview
Allows enrolling for other users as well as for self and paying either using a Purchase Order
or Training Units.
REST API Reference | Learning | 1382

Note: This API does everything that the ENROLL FOR OTHER USERS/SELF API does and also
supports payment.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll
REST API Reference | Learning | 1383

Calling Options
Table 368: Calling Options

Name Description Sample Value Data Type Required?

paymentRe- Payment Requests object Yes


quests [
"java.util.Ar►
rayList",
[
{

"@type":"com.saba

.learning

.ser►
vices.order
.Paymen►
tRequest",
"purchase►
OrderNumber":

"PON101",

"totalAmount":[

"java.math.Big►
Decimal",
5
],
"payment►
Type":"Pur►
chaseOrder"
}
]
]

cartRequest Cart Request object Yes


Note: orderContact /
learnerId supports
lookup (ID, Username,
person_no, email,
ss_no).
offeringId supports
lookup (Offering No).
deliveryId supports
lookup (Delivery
Name).
currencyId supports
lookup (ISO code).
REST API Reference | Learning | 1384

Name Description Sample Value Data Type Required?

"@type":"com.saba

.learning
.ser►
vices.order
.CartRe►
quest",
"orderCon►
tact":
"per►
sn000000000
200107",
"currency►
d
I "c
: rncy000000000200968",

"cartItems":[

"java.util.Ar►
rayList",
[
{

"@type":"com.saba

.learn►
ing
.ser►
vices.order

.CartItem",

"learnerId":
"per►
sn000000000

200040",
"partId":

"dowbt00000000

0001386",
"delivery►
Id":

"eqcat00000000

0000005",
"taxEx►
empt":false,
"addTo►
MandatoryL►
ist":false
}
]
]
REST API Reference | Learning | 1385

Name Description Sample Value Data Type Required?

@type Input JSON class com.saba.rest.busi- string Yes


name nesscompon-
ent.dto
.EnrollmentRe-
quest

Request Body (Payment using Purchase Order)

{
"@type": "com.saba.rest.businesscomponent.dto.EnrollmentRequest",
"cartRequest": {
"@type": "com.saba.learning.services.order.CartRequest",
"orderContact": "persn000000000200107",
"cartItems": [
"java.util.ArrayList",
[
{
"@type": "com.saba.learning.services.order.CartItem",
"learnerId": "persn000000000200168",
"partId": "dowbt000000000001386",
"addToMandatoryList": false
}
]
]
},
"paymentRequests": [
"java.util.ArrayList",
[
{
"@type": "com.saba.learning.services.order.PaymentRequest",
"purchaseOrderNumber": "PON101",
"totalAmount": [
"java.math.BigDecimal",
5
],
"paymentType": "PurchaseOrder"
},
{
"@type": "com.saba.learning.services.order.PaymentRequest",
"purchaseOrderNumber": "Porder200",
"totalAmount": [
"java.math.BigDecimal",
5
],
"paymentType": "PurchaseOrder"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name


REST API Reference | Learning | 1386

learnerId Learner Person

deliveryId Delivery Type Category Definition

offeringId Offering Offering

currencyId Currency Currency

orderContact Order Contact Person

Request Body (Payment using Training Unit)

{
"@type": "com.saba.rest.businesscomponent.dto.EnrollmentRequest",
"cartRequest": {
"@type": "com.saba.learning.services.order.CartRequest",
"orderContact": "persn000000000216304",
"cartItems": [
"java.util.ArrayList",
[
{
"@type": "com.saba.learning.services.order.CartItem",
"learnerId": "persn000000000216304",
"partId": "dowbt000000000017205"
}
]
]
},
"paymentRequests": [
"java.util.ArrayList",
[
{
"@type": "com.saba.learning.services.order.PaymentRequest",
"trainingUnitAgreementNumber": "00001002",
"trainingUnits": 5,
"paymentType": "TrainingUnit"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

learnerId Learner Person

deliveryId Delivery Type Category Definition

offeringId Offering Offering

currencyId Currency Currency

orderContact Order Contact Person


REST API Reference | Learning | 1387

Request Body (Payment using Purchase Order with Tax Information - "taxExempt":true)

{
"paymentRequests":[
"java.util.ArrayList",
[
{
"@type":"com.saba.learning.services.order.PaymentRequest",
"purchaseOrderNumber":"159753",
"totalAmount":[
"java.math.BigDecimal",
44
],
"paymentType":"PurchaseOrder"
}
]
],
"cartRequest":{
"@type":"com.saba.learning.services.order.CartRequest",
"orderContact":"persn000000000001002",
"cartItems":[
"java.util.ArrayList",
[
{
"@type":"com.saba.learning.services.order.CartItem",
"learnerId":"persn000000000001026",
"partId":"dowbt000000000001003",
"addToMandatoryList":false,
"taxExempt":true
}
]
]
},
"@type":"com.saba.rest.businesscomponent.dto.EnrollmentRequest"
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

learnerId Learner Person

deliveryId Delivery Type Category Definition

offeringId Offering Offering

currencyId Currency Currency

orderContact Order Contact Person

Return Values ("taxExempt":true)

{
"orderId": "intor000000000204891",
"warnings": [],
"errors": [],
"orderDetail": {
"baseCustomer": {
"id": "persn000000000001002",
REST API Reference | Learning | 1388

"displayName": "Client Three"


},
"order": {
"id": "intor000000000204891",
"displayName": ""
},
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom6"
REST API Reference | Learning | 1389

},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom9"
},
{
"name": "custom10",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom10"
},
{
"name": "custom11",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom11"
},
{
"name": "custom12",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom12"
},
{
"name": "custom13",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom13"
},
{
"name": "custom14",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1390

"value": null,
"displayName": "custom14"
}
],
"orderStatusObj": {
"description": "Confirmed",
"orderStatus": 100,
"name": "Confirmed",
"key": "100"
},
"totalDropCharges": null,
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": true,
"canPayBySubscriptionOrder": false,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"marketingCampaign": null,
"totalDropChargesBeforeTax": null,
"totalTaxOnDropCharges": null,
"promotionCode": null,
"orderDiscount": {
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 0
},
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"orderItems": [
{
"id": {
"id": "iodwn000000000004405",
"displayName": ""
},
"group": null,
"partDetail": {
"name": "Downloadable Product 4",
"language": {
"id": "lange000000000000001",
"displayName": "English"
},
"location": null,
"resources": [],
"actions": null,
"id": "dowbt000000000001003",
"duration": 60,
"description": "This is the abstract for Downloadable product 4",
"status": null,
"audienceTypes": null,
"cpf": false,
"customFields": [
REST API Reference | Learning | 1391

{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
REST API Reference | Learning | 1392

"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
],
"publishStatus": null,
"group_id": null,
"endDateI18n": null,
"startDateI18n": null,
"courseVersion": null,
"cpfMins": 0,
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
REST API Reference | Learning | 1393

},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
],
"endDate": null,
REST API Reference | Learning | 1394

"startDate": null,
"customFieldsValue": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
REST API Reference | Learning | 1395

},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
],
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"abstract": "This is the abstract for Downloadable product 4",
"creditsCollection": null,
"offeringlocked": false,
"delivery_id": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"location_id": null,
"max_ct": 0,
"max_book": 0,
"min_ct": 0,
"csr_id": null,
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"enroll_close": null,
"post_order": null,
"vleInfo": null,
"start_date": null,
"avail_from": 961353000000,
"disc_from": null,
"skip_days_map": null,
"has_community": false,
"wbt_no": "PG4DWNLD4",
REST API Reference | Learning | 1396

"enforced_seq": null,
"offeringTemplate": {
"id": "cours000000000200003",
"displayName": "Downloadable Product 4"
},
"availableSeats": -1,
"sessionTemplate": null,
"deliveryType": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"facility": null,
"trainingUnits": null,
"price": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amount": 44
},
"componentName": "ComponentName",
"session_template": null,
"disp_for_call_center": true,
"open_enroll_for_all": null,
"post_completion": null,
"stop_auto_promotion": null,
"do_not_drop_post": null,
"manufacturer_id": null,
"learningAssignments": null,
"offering_temp_id": {
"id": "cours000000000200003",
"displayName": "Downloadable Product 4"
},
"offeringNumber": "PG4DWNLD4",
"consumeWithinCert": false,
"locationDetail": null,
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"offeringPrice": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amount": 44
},
"availableSeats": -1,
"offeringPriceDisplay": "44 USD"
},
"class_no": "PG4DWNLD4",
"calendarExportURL": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatusMessage": null,
"priceDisplayString": "44 USD",
"dropPolicyInfo": {
"allEffectivePolicies": [
{
"displayString": "Cancellation charge of 10.0 % for all other days.",
REST API Reference | Learning | 1397

"charge": 10,
"currency": {
"id": "crncy000000000000001",
"displayName": null
},
"daysFrom": -99999,
"daysTo": 99999,
"chargeType": 1
}
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"durationString": "01:00",
"offering_temp_no": null,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"baseDeliveryType": 200
},
"organization": null,
"part": {
"id": "dowbt000000000001003",
"displayName": "Downloadable Product 4"
},
"regCPFDetail": null,
"regDifDetail": null,
"quantity": null,
"learner": {
"id": "persn000000000001026",
"displayName": "Client2 Two2"
},
"trainingUnits": null,
"price": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 44
},
"registration": {
"id": "regdw000000000004509",
"displayName": ""
},
"totalTax": {
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 0
},
"groupItem": null,
"taxStatus": {
"taxStatus": 400,
"displayName": "Tax Exempted"
},
"waivePrerequisite": false,
"groupOrderable": null,
REST API Reference | Learning | 1398

"itemStatusDescription": "Registered",
"cancellationPolicyInfo": null,
"trainingUnitAgreement": null,
"percentageDiscount": null,
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"totalDiscount": null,
"displayPrice": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 44
},
"taxItems": [],
"subDetail": null,
"subscriber": null,
"mGracePeriod": null
}
],
"orderContact": "Client Three",
"learner": null,
"trainingUnits": null,
"price": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 44
},
"orderStatus": "Confirmed",
"paidWithPurchaseOrders": true,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"totalTax": {
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 0
},
"taxStatusInfo": {
"displayName": "Tax Exempted",
"code": "400",
"detailCode": null
},
"skuOrder": null,
"allRefundableItemsSubTotalInTU": null,
"trainingUnitOrder": false,
"packageorder": false,
"billedTo": {
"id": "cmpny000000000001002",
"displayName": "Company3"
REST API Reference | Learning | 1399

},
"orderNumber": "00204216",
"orderDate": 1441617807000,
"totalPrice": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 44
},
"payments": [
{
"id": "mopay000000000002030",
"owner": {
"id": "intor000000000204891",
"displayName": null
},
"subscriptionNo": null,
"paymentType": {
"name": "PurchaseOrder",
"paymentType": 2,
"displayName": "Purchase Order"
},
"trainingUnits": null,
"amount": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 44
},
"paymentStatus": {
"name": "PaymentCompleted",
"paymentStatus": 1,
"displayName": "Payment completed"
},
"trainingUnitAgreement": null,
"learningSubscriptionId": null,
"subscriptionId": null,
"invoiceNo": null,
"gatewayTransactionId": null,
"gatewayReferenceNo": null,
"purchaseOrder": {
"id": "pordr000000000200162",
"displayName": "159753"
},
"gatewayResult": null
}
],
"totalDiscount": {
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 0
},
REST API Reference | Learning | 1400

"regCpfDetail": null
},
"skucartItem": null
}

Return Values ("taxExempt":false)

{
"orderId": "intor000000000204889",
"warnings": [],
"errors": [],
"orderDetail": {
"baseCustomer": {
"id": "persn000000000001002",
"displayName": "Client Three"
},
"order": {
"id": "intor000000000204889",
"displayName": ""
},
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom4"
},
REST API Reference | Learning | 1401

{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom9"
},
{
"name": "custom10",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom10"
},
{
"name": "custom11",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom11"
},
{
"name": "custom12",
"datatype": {
"value": 18
},
"value": null,
REST API Reference | Learning | 1402

"displayName": "custom12"
},
{
"name": "custom13",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom13"
},
{
"name": "custom14",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom14"
}
],
"orderStatusObj": {
"description": "Confirmed",
"orderStatus": 100,
"name": "Confirmed",
"key": "100"
},
"totalDropCharges": null,
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": true,
"canPayBySubscriptionOrder": false,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"marketingCampaign": null,
"totalDropChargesBeforeTax": null,
"totalTaxOnDropCharges": null,
"promotionCode": null,
"orderDiscount": {
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 0
},
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"orderItems": [
{
"id": {
"id": "iodwn000000000004403",
"displayName": ""
},
"group": null,
"partDetail": {
REST API Reference | Learning | 1403

"name": "Downloadable Product 4",


"language": {
"id": "lange000000000000001",
"displayName": "English"
},
"location": null,
"resources": [],
"actions": null,
"id": "dowbt000000000001003",
"duration": 60,
"description": "This is the abstract for Downloadable product 4",
"status": null,
"audienceTypes": null,
"cpf": false,
"customFields": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
REST API Reference | Learning | 1404

},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
],
"publishStatus": null,
"group_id": null,
"endDateI18n": null,
"startDateI18n": null,
"courseVersion": null,
"cpfMins": 0,
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1405

"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
REST API Reference | Learning | 1406

"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
],
"endDate": null,
"startDate": null,
"customFieldsValue": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1407

"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9_for MRG0357654"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
}
],
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"abstract": "This is the abstract for Downloadable product 4",
"creditsCollection": null,
"offeringlocked": false,
"delivery_id": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"location_id": null,
"max_ct": 0,
"max_book": 0,
"min_ct": 0,
"csr_id": null,
"language_id": {
"id": "lange000000000000001",
REST API Reference | Learning | 1408

"displayName": "English"
},
"disp_for_web": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"enroll_close": null,
"post_order": null,
"vleInfo": null,
"start_date": null,
"avail_from": 961353000000,
"disc_from": null,
"skip_days_map": null,
"has_community": false,
"wbt_no": "PG4DWNLD4",
"enforced_seq": null,
"offeringTemplate": {
"id": "cours000000000200003",
"displayName": "Downloadable Product 4"
},
"availableSeats": -1,
"sessionTemplate": null,
"deliveryType": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"facility": null,
"trainingUnits": null,
"price": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
"amount": 44
},
"componentName": "ComponentName",
"session_template": null,
"disp_for_call_center": true,
"open_enroll_for_all": null,
"post_completion": null,
"stop_auto_promotion": null,
"do_not_drop_post": null,
"manufacturer_id": null,
"learningAssignments": null,
"offering_temp_id": {
"id": "cours000000000200003",
"displayName": "Downloadable Product 4"
},
"offeringNumber": "PG4DWNLD4",
"consumeWithinCert": false,
"locationDetail": null,
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"offeringPrice": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": null
},
"isocode": "USD",
REST API Reference | Learning | 1409

"amount": 44
},
"availableSeats": -1,
"offeringPriceDisplay": "44 USD"
},
"class_no": "PG4DWNLD4",
"calendarExportURL": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatusMessage": null,
"priceDisplayString": "44 USD",
"dropPolicyInfo": {
"allEffectivePolicies": [
{
"displayString": "Cancellation charge of 10.0 % for all other days.",
"charge": 10,
"currency": {
"id": "crncy000000000000001",
"displayName": null
},
"daysFrom": -99999,
"daysTo": 99999,
"chargeType": 1
}
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"durationString": "01:00",
"offering_temp_no": null,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"baseDeliveryType": 200
},
"organization": null,
"part": {
"id": "dowbt000000000001003",
"displayName": "Downloadable Product 4"
},
"regCPFDetail": null,
"regDifDetail": null,
"quantity": null,
"learner": {
"id": "persn000000000001026",
"displayName": "Client2 Two2"
},
"trainingUnits": null,
"price": {
"amountString": "44 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 44
},
"registration": {
"id": "regdw000000000004508",
"displayName": ""
},
"totalTax": {
REST API Reference | Learning | 1410

"amountString": "1.54 USD",


"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 1.54
},
"groupItem": null,
"taxStatus": {
"taxStatus": 200,
"displayName": "Taxable"
},
"waivePrerequisite": false,
"groupOrderable": null,
"itemStatusDescription": "Registered",
"cancellationPolicyInfo": null,
"trainingUnitAgreement": null,
"percentageDiscount": null,
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"totalDiscount": null,
"displayPrice": {
"amountString": "45.54 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 45.54
},
"taxItems": [
{
"note": "Tax Name State tax\r\nJurisdiction Name : CA\r\nJurisdiction type :
State\r\nTax Rate 2.0\r\nTax Amount 0.88 USD\r\nTax Name County tax\r\nJurisdiction
Name : CA\r\nJurisdiction type : County\r\nTax Rate 1.5\r\nTax Amount 0.66 USD",
"codeString": "Tax on Item List Price",
"payDate": 1441617611000,
"code": "4091",
"refId": "",
"amount": 1.54,
"taxPercentage": 3.5,
"customValues": [],
"id": "iotax000000000001205",
"displayName": null,
"locale": {
"id": "local000000000000001",
"displayName": null
},
"auditReason": "audit with reason"
}
],
"subDetail": null,
"subscriber": null,
"mGracePeriod": null
}
],
"orderContact": "Client Three",
"learner": null,
"trainingUnits": null,
REST API Reference | Learning | 1411

"price": {
"amountString": "45.54 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 45.54
},
"orderStatus": "Confirmed",
"paidWithPurchaseOrders": true,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"totalTax": {
"amountString": "1.54 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 1.54
},
"taxStatusInfo": {
"displayName": "Taxable",
"code": "200",
"detailCode": null
},
"skuOrder": null,
"allRefundableItemsSubTotalInTU": null,
"trainingUnitOrder": false,
"packageorder": false,
"billedTo": {
"id": "cmpny000000000001002",
"displayName": "Company3"
},
"orderNumber": "00204214",
"orderDate": 1441617612000,
"totalPrice": {
"amountString": "45.54 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 45.54
},
"payments": [
{
"id": "mopay000000000002028",
"owner": {
"id": "intor000000000204889",
"displayName": null
},
"subscriptionNo": null,
"paymentType": {
"name": "PurchaseOrder",
"paymentType": 2,
"displayName": "Purchase Order"
},
"trainingUnits": null,
"amount": {
REST API Reference | Learning | 1412

"amountString": "45.54 USD",


"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 45.54
},
"paymentStatus": {
"name": "PaymentCompleted",
"paymentStatus": 1,
"displayName": "Payment completed"
},
"trainingUnitAgreement": null,
"learningSubscriptionId": null,
"subscriptionId": null,
"invoiceNo": null,
"gatewayTransactionId": null,
"purchaseOrder": {
"id": "pordr000000000200162",
"displayName": "159753"
},
"gatewayResult": null
}
],
"totalDiscount": {
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isocode": "USD",
"amount": 0
},
"regCpfDetail": null
},
"skucartItem": null
}

Example: In case of multiple offering registrations, when 1 of the order fails


Request Body:

{
"@type":"com.saba.rest.businesscomponent.dto.EnrollmentRequest",
"cartRequest":{
"@type":"com.saba.learning.services.order.CartRequest",
"orderContact":"persn000000000208669",
"cartItems":[
"java.util.ArrayList",
[
{
"@type":"com.saba.learning.services.order.CartItem",
"learnerId":"persn000000000208669",
"partId":"virtc000000000005644",
"addToMandatoryList":false,
"taxExempt":true
},
{
"@type":"com.saba.learning.services.order.CartItem",
"learnerId":"persn000000000208669",
"partId":"dowbt000000000019914",
REST API Reference | Learning | 1413

"addToMandatoryList":false,
"taxExempt":true
}
]
]
},
"paymentRequests":[
"java.util.ArrayList",
[
{
"@type":"com.saba.learning.services.order.InvoiceMePaymentRequest",
"paymentType":"InvoiceMe",
"details":"Registration Invoice Me",
"totalAmount":[
"java.math.BigDecimal",
1
]
}
]
]
}

Return Values:

{
"orderId":"intor000000000273800",
"orderDetail":null,
"errors":[
{
"errType":0,
"learnerId":"persn000000000208669",
"offeringId":"virtc000000000005644",
"offeringName":"RenaDenaCourse_733286945",
"packageId":null,
"groupId":null,
"groupOwnerId":null,
"errWarnObj":{
"id":"41056",
"displayName":" Already registered for a class of this course."
},
"prereqHolders":[

],
"equivalentHolder":{

},
"conflictsHolder":[

]
},
{
"errType":0,
"learnerId":"persn000000000208669",
"offeringId":"dowbt000000000019914",
"offeringName":"GDPRRC_DelILT1",
"packageId":null,
"groupId":null,
"groupOwnerId":null,
"errWarnObj":{
"id":"41056",
"displayName":" Already registered for a class of this course."
},
REST API Reference | Learning | 1414

"prereqHolders":[

],
"equivalentHolder":{

},
"conflictsHolder":[

]
}
],
"skucartItem":null,
"warnings":null
}

MARK AN ENROLLMENT COMPLETE

Overview
Allows to mark an enrollment complete. You can also use this API to change a completed
successfully transcript to unsuccessful or change a completed unsuccessfully transcript to
successful.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/:regId/status

URL (User-friendly)
You can use a user-friendly URL which accepts the reg_no instead of the internal Registration's
ID.
https://<hostname-api.sabacloud.com>/v1/learning/enroll/reg_no%3D<RegistrationNo>/status

Calling Options
Table 369: Calling Options

Name Description Sample Value Data Type Required?

regId Registration's ID reg- string Yes


dw000000000004020

@type Input JSON class com.saba.learn- string Yes


name ing.services. re-
gistration.Offer-
ingCompletion-
Info
REST API Reference | Learning | 1415

Name Description Sample Value Data Type Required?

status Accepts successful - 200 string No


200, unsuccessful -
400

score Score string No

grade Grade string No

comment Comment string No

Request Body

{
"@type": "com.saba.learning.services.registration.OfferingCompletionInfo",
"status": "200",
"score": 76,
"grade": "C",
"comment": "comment101"
}

Return Values

204 status code

CANCEL AN ENROLLMENT

Overview
Allows canceling an enrollment. In addition to cancelling an enrollment, this API also takes
care of refunding the charges, if any according to drop policy.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/:regId?action=cancel

URL (User-friendly)
You can use a user-friendly URL which accepts the reg_no instead of the internal Registration's
ID.
https://<hostname-api.sabacloud.com>/v1/learning/enroll/reg_no%3D<RegistrationNo>?action=cancel
REST API Reference | Learning | 1416

Calling Options
Table 370: Calling Options

Name Description Sample Value Data Type Required?

regId Registration's ID reg- string Yes


dw000000000004020

CREATE A NEW PACKAGE ORDER

Overview
Creates a new Package order.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/package

Calling Options
Table 371: Calling Options

Name Description Default Value Data Type Required?

currency Currency {d
"i ":crncy000000000000001",ds
i- string Yes
playName":"US
Dollars"}

sabaPackage Saba Package {d


"i "p
: ckge000000000002362"d
,s
i- string Yes
playName":"Core
java package I"}

taxExempt Tax Exempt False string No

cartItems Cart Items [{"learningIt- string Yes


em{d:i"d":owbt000000000009333d ",si-
playName":"Eng-
lish Course
Wbt1"},"delivery-
Typed {:i"e
":qcat000000000000004d ",si-
playName":"Web
Based"},"pack-
agetIemd {:i"p
":kgti00000000000282d
"1,si-
playName":"p1"}}]
REST API Reference | Learning | 1417

Name Description Default Value Data Type Required?

paymentRe- Payment Requests [{"purchase- string No


quests OrderNum-
ber":"1000","pur-
chase-
Orderd
Ip
":ordr000000000001000p
",ay-
mentType":"Pur-
chase-
Order","totalAmount":"8.60"}]

Request Body

{
"currency":{
"id":"crncy000000000000001",
"displayName":"US Dollars"
},
"sabaPackage":{
"id":"Mathematics course package",
"displayName":"00001181"
},
"taxExempt":true,
"cartItems":[
{
"learningItem": {
"id":"dowbt000000000002623",
"displayName":"English Course Wbt1"
},
"deliveryType": {
"id":"",
"displayName":""
},
"packageItem":{
"id":"",
"displayName":"p1"
}
}
],
"custom0":"",
"custom1":"",
"custom2":"",
"custom3":"",
"custom4":"",
"custom5":"",
"custom6":"",
"custom7":"",
"custom8":"",
"custom9":""
},
"paymentRequests":[
{
"purchaseOrderNumber":"1000",
"purchaseOrderId":"",
"trainingUnitAgreementNumber":"00001145",
"trainingUnitAgreementId":"",
"paymentType":"PurchaseOrder",
"description":"",
"trainingUnits":"6",
REST API Reference | Learning | 1418

"totalAmount":"8.60",
"payBySubscription":""
}
]
}

Return Values

{
"orderId": "intor000000000205270",
"errors": [],
"warnings": [
{
"errType": 1,
"learnerId": "persn000000000200347",
"offeringId": "dowbt000000000002623",
"offeringName": "advance database 1",
"packageId": null,
"groupId": "grpor000000000001209",
"groupOwnerId": "pckge000000000001502",
"errWarnObj": {
"id": "140507",
"displayName": " You are registering for a class that requires approval. Your request
for approval will be sent upon completion of the order."
},
"prereqHolders": [],
"equivalentHolder": {},
"conflictsHolder": []
}
],
"orderDetail": {
"totalPrice": {
"amount": 107.5,
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"amountString": "107,50 USD",
"isocode": "USD"
},
"trainingUnits": null,
"onlyTuPayableOrder": false,
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"orderStatus": "Confirmed",
"orderStatusObj": {
"description": "Confirmed",
"orderStatus": 100,
"name": "Confirmed",
"key": "100"
},
"orderNumber": "00204915",
"orderContact": "client1 sindhav1",
"orderContactRef": null,
"orderDate": 1551770219000,
"promotionCode": null,
"totalDropCharges": null,
"totalDropChargeInTU": null,
"payments": [
REST API Reference | Learning | 1419

{
"id": "mopay000000000002785",
"owner": {
"id": "intor000000000205270",
"displayName": null
},
"amount": {
"amount": 97.5,
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"amountString": "97,50 USD",
"isocode": "USD"
},
"gatewayResult": null,
"gatewayTransactionId": null,
"gatewayReferenceNo": null,
"paymentStatus": {
"name": "PaymentCompleted",
"paymentStatus": 1,
"displayName": "Payment completed"
},
"paymentType": {
"name": "PurchaseOrder",
"paymentType": 2,
"displayName": "Purchase Order"
},
"trainingUnits": null,
"trainingUnitAgreement": null,
"purchaseOrder": {
"id": "pordr000000000200000",
"displayName": "1000"
},
"subscriptionNo": null,
"subscriptionId": null,
"learningSubscriptionId": null,
"invoiceNo": null,
"invoiceDetail": null,
"address": {
"updateMetadata": null,
"displayName": null,
"state": "",
"country": "",
"owner": null,
"addr3": "",
"tag": 0,
"addr1": "",
"addr2": "",
"city": "",
"componentName": "Address",
"email": null,
"zip": "",
"addressString": "Addr1=, Addr2= Addr3=, City=, State=, Zip=, Country=",
"incomplete": true,
"id": null,
"locale": null,
"primaryKey": null,
"auditReason": "audit with reason"
}
}
],
REST API Reference | Learning | 1420

"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": true,
"canPayBySubscriptionOrder": false,
"totalRefundInTU": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
REST API Reference | Learning | 1421

},
"value": null,
"displayName": "custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom9"
},
{
"name": "custom10",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom10"
},
{
"name": "custom11",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom11"
},
{
"name": "custom12",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom12"
},
{
"name": "custom13",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom13"
},
{
"name": "custom14",
REST API Reference | Learning | 1422

"datatype": {
"value": 18
},
"value": null,
"displayName": "custom14"
}
],
"marketingCampaign": null,
"totalDropChargesBeforeTax": null,
"totalTaxOnDropCharges": null,
"regCpfDetail": null,
"taxStatusInfo": {
"code": "200",
"detailCode": null,
"displayName": "Taxable"
},
"vatNo": null,
"address": {
"updateMetadata": null,
"displayName": null,
"state": "dsdsa",
"country": "Belarus",
"owner": null,
"addr3": "ccc",
"tag": 0,
"addr1": "aaa",
"addr2": "bbb",
"city": "ddd",
"componentName": "Address",
"email": null,
"zip": "112233",
"addressString": "Addr1=aaa, Addr2=bbb Addr3=ccc, City=ddd, State=dsdsa, Zip=112233,
Country=Belarus",
"incomplete": false,
"id": null,
"locale": null,
"primaryKey": null,
"auditReason": "audit with reason"
},
"billingAddress": {
"updateMetadata": null,
"displayName": null,
"state": "co1bstate",
"country": "India",
"owner": null,
"addr3": "",
"tag": 0,
"addr1": "co1baddress1",
"addr2": "",
"city": "co1bcity",
"componentName": "Address",
"email": null,
"zip": "co1bzip",
"addressString": "Addr1=co1baddress1, Addr2= Addr3=, City=co1bcity, State=co1bstate,
Zip=co1bzip, Country=India",
"incomplete": false,
"id": null,
"locale": null,
"primaryKey": null,
"auditReason": "audit with reason"
},
"couponDiscount": null,
REST API Reference | Learning | 1423

"hasCcPoSplitPayment": false,
"baseCustomer": {
"id": "persn000000000200347",
"displayName": "client1 sindhav1"
},
"orderItems": [
{
"partDetail": {
"min_ct": 0,
"max_ct": 0,
"max_book": 0,
"csr_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"stop_auto_promotion": null,
"skip_days_map": null,
"vleInfo": null,
"disp_for_web": true,
"disp_for_call_center": true,
"enforced_seq": null,
"offeringPrices": null,
"startDateInUserTimezone": null,
"endDateinUserTimezone": null,
"startDateI18n": null,
"endDateI18n": null,
"learningAssignments": null,
"offering_temp_no": null,
"offeringlocked": false,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"locationDetail": null,
"audienceTypes": null,
"availabilityDetails": {
"offeringPrice": {
"amount": 100,
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"amountString": "100 USD",
"isocode": "USD"
},
"availableSeats": -1,
"offeringPriceDisplay": "100 USD"
},
"creditsCollection": null,
"actions": null,
"has_community": false,
"group_id": null,
"consumeWithinCert": false,
"creditString": null,
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
REST API Reference | Learning | 1424

},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1425

"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName":
"kI18nALWBTOffering_2e28a035-f237-4853-99e0-c2b0ff7c0cd3_domin000000000000001(Missing
resource)"
}
],
"owners": null,
"trainingUnits": null,
"status": null,
"calendarExportURL": null,
"microLearning": false,
"do_not_drop_post": null,
"post_order": null,
"post_completion": null,
"cpfMins": 0,
"waitListedCount": 0,
"registeredCount": 0,
"groupAssociatedWithCourse": null,
"statusNumValue": null,
"inheritedTrainingUnits": "No Training Units defined on Course or Delivery Mode",

"suppressScoreForOT": false,
"customFieldsSetOnCourse": false,
"courseDescription": "",
"classDescription": "advance database 1 wbt1",
"courseCustomValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
REST API Reference | Learning | 1426

},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "custom10",
REST API Reference | Learning | 1427

"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"name": "custom11",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom11"
},
{
"name": "custom12",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom12"
},
{
"name": "custom13",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom13"
},
{
"name": "custom14",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom14"
},
{
"name": "excustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName":
"kI18nALOfferingTemplate_69a72eeb-2dfb-40bb-b9b0-72207136aaac_domin000000000000001(Missing
resource)"
},
{
"name": "excustom2",
"datatype": {
"value": 10
},
"value": null,
"displayName":
"kI18nALOfferingTemplate_1c6203a0-273e-42bd-bebc-f49048f5c76e_domin000000000000001(Missing
resource)"
}
],
"name": "advance database 1",
"language": {
"id": "lange000000000000001",
REST API Reference | Learning | 1428

"displayName": "English"
},
"location": null,
"resources": [],
"id": "dowbt000000000002623",
"description": "advance database 1 wbt1",
"class_no": "ADVANCE DATABASE 1 WBT1",
"cpf": false,
"customFields": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1429

"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName":
"kI18nALWBTOffering_2e28a035-f237-4853-99e0-c2b0ff7c0cd3_domin000000000000001(Missing
resource)"
}
],
"duration": 600,
"componentName": "ComponentName",
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"avail_from": 1540751400000,
"wbt_no": "ADVANCE DATABASE 1 WBT1",
"abstract": "advance database 1",
"startDate": null,
"offeringNumber": "ADVANCE DATABASE 1 WBT1",
"vendor_id": null,
"location_id": null,
"start_date": null,
"delivery_id": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"disc_from": null,
"facility_id": null,
"offering_temp_id": {
"id": "cours000000000202686",
"displayName": "advance database 1"
},
REST API Reference | Learning | 1430

"session_template": null,
"manufacturer_id": null,
"customFieldsValue": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
REST API Reference | Learning | 1431

"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName":
"kI18nALWBTOffering_2e28a035-f237-4853-99e0-c2b0ff7c0cd3_domin000000000000001(Missing
resource)"
}
],
"priceDisplayString": "100 USD",
"dropPolicyInfo": {
"notifyDropCondition": "",
"trainingUnitDropPolicyInfo": "No cancellation charge.",
"allEffectivePolicies": [
{
"displayString": "Cancellation charge of 10.0 % for all other days.",
"timeEntryId": "",
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"charge": 10,
"chargeType": 1,
"daysTo": 99999,
"daysFrom": -99999
}
],
"lastDateToDropWithoutCharge": null
},
"availableSeats": -1,
"durationString": "10:00",
"deliveryType": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
REST API Reference | Learning | 1432

"facility": null,
"price": {
"amount": 100,
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"amountString": "100 USD",
"isocode": "USD"
},
"endDate": null,
"sessionTemplate": null,
"ownersValue": null,
"offeringTemplate": {
"id": "cours000000000202686",
"displayName": "advance database 1"
},
"baseDeliveryType": 200,
"courseVersion": null,
}

ADD OR UPDATE CUSTOM FIELDS OF AN ENROLLMENT

Overview
Adds or updates the custom fields of an enrollment.
Note: Registrars, Catalog or People admins can update the custom fields of an enrollment
of a user.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/:regId/custom

URL (User-friendly)
You can use a user-friendly URL which accepts the reg_no instead of the internal Registration's
ID.
https://<hostname-api.sabacloud.com>/v1/learning/enroll/reg_no%3D<RegistrationNo>/custom

Calling Options
Table 372: Calling Options

Name Description Sample Value Data Type Required?

regId Registration's ID em- string Yes


plo000000000001029
REST API Reference | Learning | 1433

Name Description Sample Value Data Type Required?

@type Input JSON class com.saba.learn- string Yes


name ing.services.regis-
tration.Registra-
tionInfo

customValues Custom Values string No


{

"@type":java.util.HashMap",

"cus►
tom0":"2015-
09-
22T15:30:20.000+0530",

"custom1":"cus►
tom_value"
}

Request Body

{
"@type" : "com.saba.learning.services.registration.RegistrationInfo",
"customValues": {
"@type" : "java.util.HashMap",
"custom0": null,
"custom1": null,
"custom2": "value",
"custom3": "custom",
"custom4": "2015-09-22T15:30:20.000+0530",
"custom5": null,
"custom6": null,
"custom7": true,
"custom8": null,
"custom9": null
}
}

MARK A TASK COMPLETE

Overview
Allows to mark a task complete.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 1434

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/assignments/action/:regModuleId?action=:actionName

Calling Options
Table 373: Calling Options

Name Description Sample Value Data Type Required?

regModuleId Registration module's reg- string Yes


ID md000000000003727

actionName Action to be per- markComplete enumerated Yes


formed.
Accepted values:
• markComplete: Ac-
tion for learner to
mark complete or
request evaluation.
• signoff: Action for
for evaluator to ap-
prove task.

@type Input JSON class com.saba.learn- string Yes


name ing.services.activ-
ities
.Registration-
ModuleActionInfo

evaluatorIds List of evaluator IDs ["list", string No


["em-
plo000000000001026"]
]

Request Body (To mark complete or request evaluation)

{
"@type":"com.saba.learning.services.activities.RegistrationModuleActionInfo",
"evaluatorIds":[
"list",
[
"emplo000000000001026"
]
]
}

Request Body (To approve task)

{
"@type":"com.saba.learning.services.activities.RegistrationModuleActionInfo",
REST API Reference | Learning | 1435

"learnerId" : "emplo000000000001026"
}

Return Values

204 No Content

Fields of Study
REST endpoints for the learning data.

GET META DETAILS OF FIELD OF STUDY

Overview
Returns the meta details of the Field Of Study.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy/meta:(:searchFields)

Calling Options
Table 374: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"name": "",
"description": "",
"status": "100",
"id": null,
REST API Reference | Learning | 1436

"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"href": "https://<hostname-api.sabacloud.com>/v1/fieldofstudy/fldst000000000000001"

},
"name": "FieldOfStudy",
"displayName": "Field of Study",
"attributes": [
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "flags",
"displayName": "Flags",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
REST API Reference | Learning | 1437

},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000004029/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
REST API Reference | Learning | 1438

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
REST API Reference | Learning | 1439

"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}
]
}

GET ALL FIELDS OF STUDY

Overview
Returns all Fields of Study for which the user has access.

Requires OAuth
No
REST API Reference | Learning | 1440

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 375: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails If true then returns true boolean No


the complete details
of Field Of Study

Return Values

{
"facets": [],
"hasMoreResults": true,
"totalResults": 22,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "HRPolicy",
"description": "This is HR Policy FOS",
"status": "100",
"id": "fldst000000000001044",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "quality control",
"description": null,
REST API Reference | Learning | 1441

"status": "100",
"id": "fldst000000000001060",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "writing skills",
"description": null,
"status": "100",
"id": "fldst000000000001061",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS_World",
"description": null,
"status": "100",
"id": "fldst000000000001080",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
REST API Reference | Learning | 1442

},
{
"name": "FOS_Domain_SabaQE",
"description": null,
"status": "100",
"id": "fldst000000000001081",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000201396",
"displayName": "Domain_SabaQE"
}
},
{
"name": "FOS_Domain_SabaDev",
"description": null,
"status": "100",
"id": "fldst000000000001082",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000201399",
"displayName": "Domain_SabaDev"
}
},
{
"name": "FOS1",
"description": null,
"status": "100",
"id": "fldst000000000001000",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
REST API Reference | Learning | 1443

"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS2",
"description": null,
"status": "100",
"id": "fldst000000000001001",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS3",
"description": null,
"status": "100",
"id": "fldst000000000001002",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS4",
"description": null,
"status": "100",
"id": "fldst000000000001003",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
REST API Reference | Learning | 1444

"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}

GET DETAILS OF A PARTICULAR FIELD OF STUDY

Overview
Returns complete information about a field of study based on the field of study's ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy/:id:(:searchFields)

Calling Options
Table 376: Calling Options

Name Description Sample Value Data Type Required?

id Field Of Study's ID fldst000000000001123 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"name": "Default Field of Study",
"description": "Default field of study",
"status": "100",
"id": "fldst000000000000001",
"customValues": {
"custom9": null,
"custom0": null,
REST API Reference | Learning | 1445

"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

FIND DETAILS OF FIELDS OF STUDY

Overview
Returns the details of the fields of study along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy?q=(:criteria)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 377: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. status%3D%3D100 string Yes


the criteria field name
with search value.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails If true then returns true boolean No


the complete details
of Field Of Study
REST API Reference | Learning | 1446

Return Values

{
"facets": [],
"hasMoreResults": true,
"totalResults": 22,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "HRPolicy",
"description": "This is HR Policy FOS",
"status": "100",
"id": "fldst000000000001044",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "quality control",
"description": null,
"status": "100",
"id": "fldst000000000001060",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "writing skills",
"description": null,
"status": "100",
"id": "fldst000000000001061",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
REST API Reference | Learning | 1447

"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS_World",
"description": null,
"status": "100",
"id": "fldst000000000001080",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS_Domain_SabaQE",
"description": null,
"status": "100",
"id": "fldst000000000001081",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000201396",
"displayName": "Domain_SabaQE"
}
},
{
"name": "FOS_Domain_SabaDev",
"description": null,
"status": "100",
"id": "fldst000000000001082",
"customValues": {
REST API Reference | Learning | 1448

"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000201399",
"displayName": "Domain_SabaDev"
}
},
{
"name": "FOS1",
"description": null,
"status": "100",
"id": "fldst000000000001000",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS2",
"description": null,
"status": "100",
"id": "fldst000000000001001",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS3",
REST API Reference | Learning | 1449

"description": null,
"status": "100",
"id": "fldst000000000001002",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS4",
"description": null,
"status": "100",
"id": "fldst000000000001003",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}

FIND DETAILS OF FIELD OF STUDY (USING POST - RANGE BASED


SEARCH)

Overview
Returns the details of the field of study along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No
REST API Reference | Learning | 1450

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 378: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name": "status", string Yes


"operator":
"==","value": "100"}]

count 10 integer No

startPage 1 integer No

includeDetails If true then returns true boolean No


the complete details
of Field Of Study

Request Body

{
"conditions" : [{"name": "status","operator": "==","value": "100"}]
}

Return Values

{
"facets": [],
"hasMoreResults": true,
"totalResults": 21,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "HRPolicy",
"description": "This is HR Policy FOS",
"status": "100",
"id": "fldst000000000001044",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
REST API Reference | Learning | 1451

},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "quality control",
"description": null,
"status": "100",
"id": "fldst000000000001060",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "writing skills",
"description": null,
"status": "100",
"id": "fldst000000000001061",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS_World",
"description": null,
"status": "100",
"id": "fldst000000000001080",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
REST API Reference | Learning | 1452

"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS_Domain_SabaQE",
"description": null,
"status": "100",
"id": "fldst000000000001081",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000201396",
"displayName": "Domain_SabaQE"
}
},
{
"name": "FOS_Domain_SabaDev",
"description": null,
"status": "100",
"id": "fldst000000000001082",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000201399",
"displayName": "Domain_SabaDev"
}
},
{
"name": "FOS1",
"description": null,
"status": "100",
"id": "fldst000000000001000",
"customValues": {
"custom9": null,
"custom0": null,
REST API Reference | Learning | 1453

"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS2",
"description": null,
"status": "100",
"id": "fldst000000000001001",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS3",
"description": null,
"status": "100",
"id": "fldst000000000001002",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
},
{
"name": "FOS4",
"description": null,
"status": "100",
REST API Reference | Learning | 1454

"id": "fldst000000000001003",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}

Learning Event
REST endpoints for the learning data.

GET HELD CERTIFICATION/CURRICULUM ACTIVITY DETAILS

Overview
Gets held Certification/Curriculum activity details

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/activity/:activityId

Calling Options
Table 379: Calling Options

Name Description Sample Value Data Type Required?

activityId Held Certification/Cur- string Yes


riculum activity ID
REST API Reference | Learning | 1455

Return Values
Certification:

{
"id": "certh000000000008541",
"source": {
"id": "emplo000000000200095",
"displayName": "Shuchi111 Lau"
},
"status": null,
"assignment": {
"id": "stuce000000000201799",
"displayName": null
},
"assignee": {
"id": "emplo000000000200095",
"displayName": "Shuchi111 Lau"
},
"targetDate": 1440324105000,
"activityDefinition": {
"id": "crtfy000000000200360",
"displayName": "BlendedenrCert1en_US"
},
"assignedOn": 1421143305000,
"percentCompleted": 0,
"auditReason": null,
"acquiredOn": null,
"expiredOn": null
}

Curriculum:

{
"id": "currh000000000008522",
"source": {
"id": "emplo000000000200095",
"displayName": "Shuchi111 Lau"
},
"status": null,
"assignment": {
"id": "stcur000000000002113",
"displayName": null
},
"assignee": {
"id": "emplo000000000200095",
"displayName": "Shuchi111 Lau"
},
"targetDate": 1440149790000,
"activityDefinition": {
"id": "curra000000000001000",
"displayName": "Curriculum1"
},
"assignedOn": 1420968990000,
"percentCompleted": 0,
"auditReason": null,
"acquiredOn": null,
"expiredOn": null
}
REST API Reference | Learning | 1456

GET COMPLETION AND LESSON DETAILS OF THE LEARNING


EVENT

Overview
Gets completion and lesson details of the learning event. This API helps determine whether
the elements of a certification were completed directly or by completing an equivalent.
It can also return the lesson details (sections:(completiondetail,lessondetail)) i.e. the
HeldCertification/HeldCurriculum details along with the path, learning modules and learning
interventions and the lesson details with the information regarding the courses that are
completed and whether they are completed by equivalence.
Note: If the learner has not registered for a course or if the learner has registered but never
launched it, the lesson information will not be returned.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/:heldCertId/:pathId/sections:(:searchFields)

Calling Options
Table 380: Calling Options

Name Description Sample Value Data Type Required?

heldCertId Held Certification/Cur- stuce000000000202608 string Yes


riculum activity ID

pathId Path ID track000000000201083 string Yes

searchFields Completion Detail / completiondetail string Yes


Lesson Details of the
lessondetail
learning event

Return Values

{
"owner": {
"id": "persn000000000016671",
"displayName": "testperson1 testperson1"
},
"percentCompleted": 100,
"acquiredOn": "2016/11/15T00:00:00UTC",
"revoked_on": null,
"assignedOnDate": "2016/11/15T11:37:40UTC",
"type": "CERTIFICATION",
REST API Reference | Learning | 1457

"certification": {
"id": "crtfy000000000001601",
"displayName": "hotfix_Cert"
},
"path": {
"learningModules": [
{
"is_reqd": true,
"sequence": 1,
"learningInterventions": [
{
"sequence": 1,
"id": "edupl000000000001861",
"part_id": {
"id": "cours000000000011164",
"displayName": "hotfix_Course"
},
"completionStatus": {
"key": 200,
"desc": "Successful"
},
"type": "COURSE",
"lessonDetails": {
"class_id": "dowbt000000000010645",
"registration_id": "regdw000000000007252",
"class_no": "00011223--TEST_WBT_567",
"contentDetails": [
{
"lessonStatus": "N",
"lessonLocation": null,
"contextId": "ctctx000000000020603",
"contentTitle": "Access Configuration in ISA Server 2004",
"subscriptionId": "ctnsr000000000024072"
},
{
"lessonStatus": "N",
"lessonLocation": null,
"contextId": "ctctx000000000020603",
"contentTitle": "Access Control and Physical Security",
"subscriptionId": "ctnsr000000000024073"
},
{
"lessonStatus": "N",
"lessonLocation": null,
"contextId": "ctctx000000000020603",
"contentTitle": "airtel : CS Induction",
"subscriptionId": "ctnsr000000000024074"
},
{
"lessonStatus": "N",
"lessonLocation": null,
"contextId": "ctctx000000000020603",
"contentTitle": "airtel : CS Induction",
"subscriptionId": "ctnsr000000000024074"
},
{
"lessonStatus": "N",
"lessonLocation": null,
"contextId": "ctctx000000000020603",
"contentTitle": "Introduction to Selling Genesys Products and Solutions
V3",
"subscriptionId": "ctnsr000000000024075"
REST API Reference | Learning | 1458

}
]
},
"is_completion_by_equivalent": false,
"is_completed": true
}
],
"displayName": "hotfix_module",
"no_of_total_items": 1,
"no_of_reqd_items": 1,
"no_of_total_items_completed": 1,
"id": "cegrp000000000001741"
}
],
"percentCompleted": 100,
"is_default_path": true,
"is_acquisition_path": true,
"no_of_reqd_modules": 1,
"displayName": "hotFix_Path",
"no_of_total_modules": 1,
"id": "track000000000001721",
"is_recert_path": false
},
"inRecertification": false,
"recert_window_starts_on": null,
"id": "stuce000000000008682",
"expired_on": null,
"status": {
"description": "Acquired",
"status": "100"
}
}

Example (Get Completion Details and Lesson Details for a specific path within a specific
held certification/curriculum)
To get the completion details and lesson details for a specific path within a specific held
certification:
https://<hosname-api.sabacloud.com
>/v1/learning/heldlearningevent/stuce000000000389597/track000000000010049/sections:(completiondetail,lessondetail)
Return Values:

{
"id":"stuce000000000389597",
"type":"CERTIFICATION",
"certification":{
"id":"crtfy000000000009911",
"displayName":"Test_Certification_001"
},
"owner":{
"id":"emplo000000000285703",
"displayName":"uone17 uone17"
},
"acquiredOn":"2008-03-11T00:00:00.000+0530",
"assignedOnDate":"2008-03-11T11:07:07.000+0530",
"expired_on":"2008-03-13T00:00:00.000+0530",
"recert_window_starts_on":"2008-03-15T00:00:00.000+0530",
"revoked_on":null,
"inRecertification":false,
"status":{
REST API Reference | Learning | 1459

"intStatus":100,
"description":"Acquired"
},
"path":{
"id":"track000000000010049",
"displayName":"Recertification Path",
"is_default_path":false,
"is_acquisition_path":false,
"percentcompleted":100,
"is_recert_path":true,
"no_of_total_modules":1,
"no_of_reqd_modules":1,
"learningModules":[
{
"sequence":1,
"name":"Java",
"id":"cegrp000000000200201",
"is_reqd":true,
"no_of_total_items":2,
"no_of_reqd_items":2,
"no_of_total_items_completed":2,
"learningInterventions":[
{
"sequence":1,
"type":"COURSE",
"part_id":{
"id":"cours000000000200706",
"displayName":"nc0508-1"
},
"is_completed":true,
"is_completion_by_equivalent":false,
"id":"edupl000000000200340",
"lessonDetails":{
"class_id":"dowbt000000000039112",
"registration_id":"regdw000000000310120",
"class_no":"00016147",
"contentDetails":[
{
"lessonStatus":"N",
"lessonLocation":"",
"contextId":"ctctx000000001258979",
"contentTitle":"A001",
"subscriptionId":"ctnsr000000000751124"
},
{
"lessonStatus":"N",
"lessonLocation":"",
"contextId":"ctctx000000001258979",
"contentTitle":"A001",
"subscriptionId":"ctnsr000000000751125"
},
{
"lessonStatus":"f",
"lessonLocation":"a001_end.html",
"contextId":"ctctx000000001258979",
"contentTitle":"Assessment",
"subscriptionId":"ctnsr000000000751126"
},
{
"lessonStatus":"f",
"lessonLocation":"a001_end.html",
"contextId":"ctctx000000001258979",
REST API Reference | Learning | 1460

"contentTitle":"Assessment",
"subscriptionId":"ctnsr000000000751127"
}
]
},
"completionStatus":{
"key":100,
"desc":"Not Evaluated"
}
}
]
},
{
"sequence":2,
"type":"CERTIFICATION",
"part_id":{
"id":"crtfy000000000006671",
"displayName":"Test_Certification1"
},
"status":{
"intStatus":100,
"description":"Acquired"
},
"id":"edupl000000000200150"
}
]
}
}

To get the completion details and lesson details for a specific path within a specific held
curriculum:
https://<
hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000001744/track000000000201068/sections:(completiondetail,essondetail)
Return Values:

{
"id":"stcur000000000001744",
"type":"CURRICULUM",
"curriculum":{
"id":"curra000000000001028",
"displayName":"Curriculum1"
},
"owner":{
"id":"emplo000000000285703",
"displayName":"uone17 uone17"
},
"acquiredOn":"2008-03-11T00:00:00.000+0530",
"assignedOnDate":"2008-03-11T11:07:07.000+0530",
"expired_on":"2008-03-13T00:00:00.000+0530",
"status":{
"intStatus":400,
"description":"Assigned"
},
"path":{
"id":"track000000000010049",
"displayName":"Recertification Path",
"is_default_path":false,
"is_acquisition_path":false,
"percentcompleted":100,
"is_recert_path":false,
REST API Reference | Learning | 1461

"no_of_total_modules":1,
"no_of_reqd_modules":1,
"learningModules":[
{
"sequence":1,
"name":"Java",
"id":"cegrp000000000200201",
"is_reqd":true,
"no_of_total_items":1,
"no_of_reqd_items":1,
"no_of_total_items_completed":1,
"learningInterventions":[
{
"sequence":1,
"type":"COURSE",
"part_id":{
"id":"cours000000000200709",
"displayName":"Course_for_Curriculum"
},
"is_completed":true,
"is_completion_by_equivalent":false,
"id":"edupl000000000200342",
"lessonDetails":{
"class_id":"dowbt000000000039122",
"registration_id":"regdw000000000311120",
"class_no":"00016148",
"contentDetails":[
{
"lessonStatus":"N",
"lessonLocation":"",
"contextId":"ctctx000000011258979",
"contentTitle":"A001",
"subscriptionId":"ctnsr000000001751124"
},
{
"lessonStatus":"N",
"lessonLocation":"",
"contextId":"ctctx000000011258979",
"contentTitle":"A001",
"subscriptionId":"ctnsr000000001751125"
},
{
"lessonStatus":"f",
"lessonLocation":"a001_end.html",
"contextId":"ctctx000000011258979",
"contentTitle":"Assessment",
"subscriptionId":"ctnsr000000001751126"
},
{
"lessonStatus":"f",
"lessonLocation":"a001_end.html",
"contextId":"ctctx000000011258979",
"contentTitle":"Assessment",
"subscriptionId":"ctnsr000000001751127"
}
]
},
"completionStatus":{
"key":100,
"desc":"Not Evaluated"
}
}
REST API Reference | Learning | 1462

]
}
]
}
}

GET HELD CERTIFICATION/CURRICULUM DETAILS ALONG WITH


ALL THE ACTIVITIES

Overview
Gets held Certification/Curriculum details along with all the activities

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/:heldCertId

Calling Options
Table 381: Calling Options

Name Description Sample Value Data Type Required?

heldCertId Held Certification/Cur- string Yes


riculum's ID

Return Values
Certification:

{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stuce000000000392151",
"displayName": null
},
"auditReason": null,
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
REST API Reference | Learning | 1463

"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "persn000000000233981",
"displayName": "client 01"
},
"targetDate": 1473059249000,
"learningEvent": {
"id": "crtfy000000000010611",
"displayName": "Test_Certification_123"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1472022450000,
"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "certh000000003030707"
}
],
"basicdetail": {
"updatedOn": 1472022451000,
"createdBy": "superuser",
"updatedBy": "superuser",
"createdOn": 1472022450000,
"is_Reassigned": 0,
"person": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "persn000000000233981",
"displayName": "client 01"
},
"certification_id": {
"id": "crtfy000000000010611",
"displayName": "Test_Certification_123"
},
"considerComplOutsideRecert": false,
REST API Reference | Learning | 1464

"gracePeriod": null,
"gracePeriodEndsOnDate": null,
"expired_on": null,
"reassign": true,
"inRecertification": false,
"profileElementType": "InternalCert",
"revoked_on": null,
"need_recert_ot": false,
"need_recert_eq": false,
"recertificationType": [],
"prev_expired_on": 1192006537000,
"type": "CERTIFICATION",
"path": {
"id": "track000000000010508",
"displayName": "Test_Path_1"
},
"status": {
"intStatus": 400,
"description": "Assigned",
"key": "400",
"displayName": "Assigned"
},
"id": "stuce000000000392151",
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "persn000000000233981",
"displayName": "client 01"
},
"targetDate": 1473059249000,
"need_recert": false,
"startedOn": null,
"assignedOnDate": 1472022450000,
"recert_window_starts_on": null,
"heldCertNo": "00448808 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "persn000000000233981",
"displayName": "client 01"
},
"assigneeAdditionalDetails": {
"person_no": "00010831",
REST API Reference | Learning | 1465

"username": "CONE01"
},
"need_recert_cert": false
},
"isgranted": null
}

Note: assignedOnDate and acquiredOn have date values in timestamp format.


Curriculum:

{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stcur000000000043418",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000275911",
"displayName": "Sean O'coner"
},
"targetDate": null,
"learningEvent": {
"id": "curra000000000001941",
"displayName": "25 Curricula"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1412037159000,
"source": {
"componentName": "Prescription Rule",
"activitySourceType": {
"sourceType": 3,
"listId": "sysli000000000003037",
"key": "3",
"displayName": "Prescriptive Rule"
},
"primaryKey": {
"prefix": "prule",
"id": "prule000000000004647"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "prule000000000004647",
"displayName": "u27"
REST API Reference | Learning | 1466

},
"actions": null,
"id": "currh000000001416138"
}
],
"basicdetail": {
"updatedOn": 1445816994000,
"createdBy": "bwillis@saba.com",
"updatedBy": "admin",
"createdOn": 1412037159000,
"need_recert": false,
"curriculum": {
"id": "curra000000000001941",
"displayName": "25 Curricula"
},
"recert_window_starts_on": null,
"revokedOn": null,
"type": "CURRICULUM",
"path": null,
"status": {
"intStatus": 400,
"description": "Assigned",
"displayName": "Assigned"
},
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000275911",
"displayName": "Sean O'coner"
},
"targetDate": null,
"startedOn": null,
"assignedOnDate": 1412037159000,
"heldCertNo": "00262446 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000275911",
"displayName": "Sean O'coner"
},
"id": "stcur000000000043418",
"assigneeAdditionalDetails": {
"person_no": "00006160",
REST API Reference | Learning | 1467

"username": "O'CONER@GMAIL.COM"
}
},
"isgranted": null
}

Note: assignedOnDate and acquiredOn have date values in timestamp format.

SEARCH ALL THE CERTIFICATIONS/CURRICULA ASSIGNED TO A


LEARNER BASED ON THE STATUS, TIMESTAMP

Overview
Search all the certifications assigned to a learner based on the status or timestamps.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent
?type=:type&q=(:criteria)&count=:count
&startPage=:startPage

URL (To search across all held CERTIFICATIONS/CURRICULA regardless of the learner)
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent
?type=:type&q=(:criteria)&count=:count
&startPage=:startPage&isAdmin=true

Calling Options
Table 382: Calling Options

Name Description Sample Value Data Type Required?

type The desired compon- certification enumerated Yes


ent i.e. Certification or
Curriculum.
REST API Reference | Learning | 1468

Name Description Sample Value Data Type Required?

criteria The search criteria: string Yes


assign►
• cert_name (this at- ee%3D%3Dem►
tribute is used for plo000000000001600,
both certification
name and cur- status%3D%3D600,
riculum name)
• cert_version cre►
ated_on%3Dge%3D2002-
• target_date 01-29 01:29:32
• status_descrip- AM,
tion_cert up►
• status_descrip- dated_on%3Dge%3D2002-
01-29 01:29:32
tion_curr
AM
• path_name
• acquired_on
• expired_on
• assigned_on
• revoked_on
• cancelled_on
• created_on
• updated_on
• assignee
• status
• show_required
(true|false)
For CURRICULA the
following are the pos-
sible values for the
status criteria:
• ACQUIRED : 100
• INPROGRESS : 200
• ASSIGNED : 400
• DISCONTINUED:
500
• OVERDUE : 600
• CANCELLED :800
For CERTIFICATIONS
the following are the
possible values for
the status criteria:
• ACQUIRED : 100
• INPROGRESS : 200
• ASSIGNED : 400
• DISCONTINUED:
500
• OVERDUE : 600
• CANCELLED :800
• EXPIRED : 300
• REVOKED : 700
REST API Reference | Learning | 1469

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

isAdmin Accepts: true/false. true string No


true searches for all
users.

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: assignee, username, person_no
Catalog conditions: cert_name

Return Values
Certification:

{
"facets": [],
"startIndex": 1,
"results": [
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stuce000000000266681",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1442376060000,
"learningEvent": {
REST API Reference | Learning | 1470

"id": "crtfy000000000002908",
"displayName": "copy of cert print 321"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1441684901000,
"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "certh000000001692593"
}
],
"basicdetail": {
"updatedOn": 1444388162000,
"createdBy": "admin",
"updatedBy": "admin",
"createdOn": 1441684901000,
"is_Reassigned": 300,
"person": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"certification_id": {
"id": "crtfy000000000002908",
"displayName": "copy of cert print 321"
},
"expired_on": null,
"reassign": true,
"inRecertification": false,
"profileElementType": "InternalCert",
"revoked_on": null,
"recertificationType": [],
"prev_expired_on": 1190316616000,
"need_recert_ot": false,
"need_recert_eq": false,
"type": "CERTIFICATION",
"path": {
"id": "track000000000003397",
REST API Reference | Learning | 1471

"displayName": "Path1"
},
"status": {
"intStatus": 600,
"description": "Overdue",
"key": "600",
"displayName": "Overdue"
},
"id": "stuce000000000266681",
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1442376060000,
"need_recert": false,
"startedOn": null,
"assignedOnDate": 1441684901000,
"recert_window_starts_on": null,
"heldCertNo": "00289700 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
},
"need_recert_cert": false
},
"isgranted": null
},
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stuce000000000390011",
"displayName": null
REST API Reference | Learning | 1472

},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1472045627000,
"learningEvent": {
"id": "crtfy000000000010331",
"displayName": "amtest_certif_mandatoryflag"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1469453627000,
"source": {
"componentName": "Prescription Rule",
"activitySourceType": {
"sourceType": 3,
"listId": "sysli000000000003037",
"key": "3",
"displayName": "Prescriptive Rule"
},
"primaryKey": {
"prefix": "prule",
"id": "prule000000000011881"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "prule000000000011881",
"displayName": "amtest_certif_mandatoryflag"
},
"actions": null,
"id": "certh000000003020410"
}
],
"basicdetail": {
"updatedOn": 1469453628000,
"createdBy": "admin",
"updatedBy": "admin",
"createdOn": 1469453627000,
"is_Reassigned": 0,
"person": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
REST API Reference | Learning | 1473

"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"certification_id": {
"id": "crtfy000000000010331",
"displayName": "amtest_certif_mandatoryflag"
},
"expired_on": null,
"reassign": true,
"inRecertification": false,
"profileElementType": "InternalCert",
"revoked_on": null,
"recertificationType": [],
"prev_expired_on": null,
"need_recert_ot": false,
"need_recert_eq": false,
"type": "CERTIFICATION",
"path": {
"id": "track000000000010348",
"displayName": "amtestpath1"
},
"status": {
"intStatus": 400,
"description": "Assigned",
"key": "400",
"displayName": "Assigned"
},
"id": "stuce000000000390011",
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
}
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1472045627000,
"need_recert": false,
"startedOn": null,
"assignedOnDate": 1469453627000,
"recert_window_starts_on": null,
"heldCertNo": "00447468 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
REST API Reference | Learning | 1474

"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
},
"need_recert_cert": false
},
"isgranted": null
}
],
"hasMoreResults": true,
"itemsPerPage": 2,
"totalResults": 115
}

Curriculum:

{
"facets": [],
"startIndex": 1,
"results": [
{
"percentcompleted": 100,
"requirers": [
{
"required": true,
"assignment": {
"id": "stcur000000000044164",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1413259200000,
"learningEvent": {
"id": "curra000000000002924",
"displayName": "certemplateStory-Curriculum"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1413270631000,
"source": {
"sourceType": "InternalPerson",
REST API Reference | Learning | 1475

"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "currh000000001469537"
}
],
"basicdetail": {
"updatedOn": 1413270631000,
"createdBy": "superuser",
"updatedBy": "superuser",
"createdOn": 1413270631000,
"need_recert": false,
"curriculum": {
"id": "curra000000000002924",
"displayName": "certemplateStory-Curriculum"
},
"recert_window_starts_on": null,
"revokedOn": null,
"type": "CURRICULUM",
"path": {
"id": "track000000000004746",
"displayName": "1"
},
"status": {
"intStatus": 100,
"description": "Acquired",
"displayName": "Acquired"
},
"acquiredOn": 1413259200000,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": null,
"startedOn": 1413259200000,
"assignedOnDate": 1413270631000,
"heldCertNo": "00267097 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
REST API Reference | Learning | 1476

"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"id": "stcur000000000044164",
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
}
},
"isgranted": null
},
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stcur000000000028104",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1409284800000,
"learningEvent": {
"id": "curra000000000002620",
"displayName": "\"Curriculum - 1\""
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1407999097000,
"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
REST API Reference | Learning | 1477

"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "currh000000000855027"
}
],
"basicdetail": {
"updatedOn": 1415694199000,
"createdBy": "superuser",
"updatedBy": "admin",
"createdOn": 1407999097000,
"need_recert": false,
"curriculum": {
"id": "curra000000000002620",
"displayName": "\"Curriculum - 1\""
},
"recert_window_starts_on": null,
"revokedOn": null,
"type": "CURRICULUM",
"path": {
"id": "track000000000004289",
"displayName": "1"
},
"status": {
"intStatus": 600,
"description": "Overdue",
"displayName": "Overdue"
},
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1409284800000,
"startedOn": null,
"assignedOnDate": 1407999097000,
"heldCertNo": "00206679 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
REST API Reference | Learning | 1478

"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"id": "stcur000000000028104",
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
}
},
"isgranted": null
}
],
"hasMoreResults": true,
"itemsPerPage": 2,
"totalResults": 36
}

Search for all held learnings using isAdmin


For example:
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent?type=certification&count=10&startPage=1&isAdmin=true
Return Values:

{
"startIndex": 1,
"results": [
{
"id": "stuce000000000001028",
"displayName": "Cert Reg",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000001028"

},
{
"id": "stuce000000000002002",
"displayName": "Cert Reg",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000002002"

},
{
"id": "stuce000000000001743",
"displayName": "Cert Reg",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000001743"

},
{
"id": "stuce000000000002102",
"displayName": "Cert Reg",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000002102"

},
{
"id": "stuce000000000001025",
"displayName": "Cert Reg",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000001025"
REST API Reference | Learning | 1479

},
{
"id": "stuce000000000045235",
"displayName": "Aks - Cert - 3",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000045235"

},
{
"id": "stuce000000000009285",
"displayName": "Aks - Cert - 3",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000009285"

},
{
"id": "stuce000000000045256",
"displayName": "Aks - Cert with exp and recert in month - 3",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000045256"

},
{
"id": "stuce000000000006664",
"displayName": "Aks - Child cert",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000006664"

},
{
"id": "stuce000000000003558",
"displayName": "Aks - Cert with exp and recert in month - 5",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000003558"

}
],
"hasMoreResults": true,
"itemsPerPage": 10,
"totalResults": 21242,
"facets": []
}

http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent?type=curriculum&count=10&startPage=1&isAdmin=true
Return Values:

{
"startIndex": 1,
"results": [
{
"id": "stcur000000000038472",
"displayName": "GBTEST0001",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000038472"

},
{
"id": "stcur000000000038471",
"displayName": "GBTEST0001",
"href":
REST API Reference | Learning | 1480

"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000038471"

},
{
"id": "stcur000000000002932",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000002932"

},
{
"id": "stcur000000000002790",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000002790"

},
{
"id": "stcur000000000003058",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000003058"

},
{
"id": "stcur000000000002930",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000002930"

},
{
"id": "stcur000000000002794",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000002794"

},
{
"id": "stcur000000000002910",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000002910"

},
{
"id": "stcur000000000002950",
"displayName": "KQECurr1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000002950"

},
{
"id": "stcur000000000001472",
"displayName": "Curr for periodic PR",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000001472"

}
],
"totalResults": 14710,
"hasMoreResults": true,
REST API Reference | Learning | 1481

"itemsPerPage": 10,
"facets": []
}

Search for held learnings using isAdmin for a particular learner


For example:
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent
?type=certification&count=10&startPage=1&isAdmin=true&q=(assignee%3D%3Dpersn000000000013501)
Return Values:

{
"startIndex": 1,
"results": [
{
"id": "stuce000000000064564",
"displayName": "one_Click_cert_1",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000064564"

}
],
"hasMoreResults": false,
"itemsPerPage": 10,
"totalResults": 1,
"facets": []
}

http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent
?type=curriculum&count=10&startPage=1&isAdmin=true&q=(assignee%3D%3Dpersn000000000013501)
Return Values:

{
"startIndex": 1,
"results": [
{
"id": "stcur000000000064567",
"displayName": "one_Click_curr",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stcur000000000064567"

}
],
"hasMoreResults": false,
"itemsPerPage": 10,
"totalResults": 1,
"facets": []
}

Example (Student Certifications that have changed between two timestamps)


To find out all the student certifications that have changed between two timestamps (for
example based on updated_on):
https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent?type=certification&q=(updated_on%3Dge%3D2002-01-29
01:29:32 AM,updated_on%3Dle%3D2012-01-29 01:29:32 AM)
REST API Reference | Learning | 1482

Return Values:

{
"totalResults": 2,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": [],
"results": [
{
"id": "stuce000000000200300",
"displayName": "CertificationEW",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000200300"

},
{
"id": "stuce000000000200790",
"displayName": "Cert A3A 2P 2M 2L 2CRT 1REQ InEffect",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000200790"

}
],
"startIndex": 1
}

To find out all the student certifications that have changed between two timestamps (for
example based on created_on):
https://<hostname-api.sabacloud.com>/v1/learning/heldlearningeven?type=certification&q=(created_on%3Dge%3D2002-01-29
01:29:32 AM,created_on%3Dle%3D2012-01-29 01:29:32 AM)
Return Values:

{
"totalResults": 4,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": [],
"results": [
{
"id": "stuce000000000200300",
"displayName": "CertificationEW",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000200300"

},
{
"id": "stuce000000000200301",
"displayName": "UI Design",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000200301"

},
{
"id": "stuce000000000200283",
"displayName": "Automation - Adhoc",
"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000200283"

},
{
"id": "stuce000000000200790",
REST API Reference | Learning | 1483

"displayName": "Cert A3A 2P 2M 2L 2CRT 1REQ InEffect",


"href":
"https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000200790"

}
],
"startIndex": 1
}

SEARCH ALL THE CERTIFICATIONS/CURRICULA ASSIGNED TO A


LEARNER BASED ON THE STATUS, TIMESTAMP (Using POST -
Range based search)

Overview
Search all the certifications assigned to a learner based on the status or timestamps using
post - range based search.
To get data for all team members:
A manager/admin can use the IN operator to specify a list of team members as the search
criteria. If the logged in person is a manager, then the API returns the data for all team
members specified using the IN operator.
Note: Only 5 team members are supported in the IN operator.
The following attributes support using the IN operator:
Student Certification
• assignee
• username
• person_no
• status_description_cert
• status_description_curr
Student Curriculum
• assignee
• username
• person_no
• status_description_cert
• status_description_curr

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/searchQuery
?count=:count&startPage=:startPage&type=<type>&isAdmin=true
REST API Reference | Learning | 1484

Calling Options
Table 383: Calling Options

Name Description Sample Value Data Type Required?

type The desired compon- certification enumerated Yes


ent i.e. Certification or
Curriculum.
REST API Reference | Learning | 1485

Name Description Sample Value Data Type Required?

conditions string Yes


assignee%3D%3D
em-
plo000000000001600,
status%3D%3D600,
cre-
ated_on%3Dge%3D
2002-01-29
01:29:32 AM, up-
dated_on%3Dge%3D
2002-01-29
01:29:32 AM

{"conditions": [
{"name":
"cert_name",
"operator": "==",

"value": "Allens
Work,
Health and
SafetyCertific►
ation"}
]}
REST API Reference | Learning | 1486

Name Description Sample Value Data Type Required?

The search criteria:


• cert_name (this at-
tribute is used for
both certification
name and cur-
riculum name)
• cert_version
• target_date
• status_descrip-
tion_cert
• status_descrip-
tion_curr
• path_name
• acquired_on
• expired_on
• assigned_on
• revoked_on
• cancelled_on
• created_on
• updated_on
• assignee
• status
• username
• person_no
• show_required
(true|false)
• created_by
• create-
dOn_timeStamp
• updated_by
• update-
dOn_timeStamp
• actionD-
ate_timeStamp
For CURRICULA the
following are the pos-
sible values for the
status and
status_descrip-
tion_curr criteria:
Note: For example:
status : "ACQUIRED",
status_descrip-
tion_curr : "100"
• ACQUIRED : 100
• INPROGRESS : 200
• ASSIGNED : 400
• DISCONTINUED:
500
REST API Reference | Learning | 1487

Name Description Sample Value Data Type Required?

• OVERDUE : 600
• CANCELLED :800
For CERTIFICATIONS
the following are the
possible values for
the status and
status_descrip-
tion_cert criteria:
Note: For example:
status : "ACQUIRED",
status_descrip-
tion_cert : "100"
• ACQUIRED : 100
• INPROGRESS : 200
• ASSIGNED : 400
• DISCONTINUED:
500
• OVERDUE : 600
• CANCELLED :800
• EXPIRED : 300
• REVOKED : 700

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: assignee, username, person_no
Catalog conditions: cert_name

Return Values

{
"startIndex": 1,
"results": [
{
"id": "stuce000000000014797",
"displayName": "Scert_1",
"href":
"https://dqlearning.sabacloud.com/v1/learning/heldlearningevent/stuce000000000014797"
REST API Reference | Learning | 1488

},
{
"id": "stuce000000000031726",
"displayName": "bk test cert1",
"href":
"https://dqlearning.sabacloud.com/v1/learning/heldlearningevent/stuce000000000031726"

},
{
"id": "stuce000000000024914",
"displayName": "U34Cert1",
"href":
"https://dqlearning.sabacloud.com/v1/learning/heldlearningevent/stuce000000000024914"

},
{
"id": "stuce000000000002643",
"displayName": "Cert SPC-14979 reset to null",
"href":
"https://dqlearning.sabacloud.com/v1/learning/heldlearningevent/stuce000000000002643"

}
],
"totalResults": 4,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": []
}

Note: If the logged in person is not the learning admin or a manager of the people included
in the search condition then the API returns a blank output.

SEARCH CERTIFICATIONS/CURRICULA OF LOGGED IN USER

Overview
Search Certifications/Curricula of the logged in user

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent?type=:type
REST API Reference | Learning | 1489

Calling Options
Table 384: Calling Options

Name Description Sample Value Data Type Required?

type The desired compon- certification enumerated Yes


ent i.e. Certification or
Curriculum.

Return Values
Certification:

{
"facets": [],
"startIndex": 1,
"results": [
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stuce000000000266681",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1442376060000,
"learningEvent": {
"id": "crtfy000000000002908",
"displayName": "copy of cert print 321"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1441684901000,
"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
REST API Reference | Learning | 1490

"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "certh000000001692593"
}
],
"basicdetail": {
"updatedOn": 1444388162000,
"createdBy": "admin",
"updatedBy": "admin",
"createdOn": 1441684901000,
"is_Reassigned": 0,
"person": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"certification_id": {
"id": "crtfy000000000002908",
"displayName": "copy of cert print 321"
},
"expired_on": null,
"reassign": true,
"inRecertification": false,
"profileElementType": "InternalCert",
"revoked_on": null,
"recertificationType": [],
"prev_expired_on": 1172006337000,
"need_recert_ot": false,
"need_recert_eq": false,
"type": "CERTIFICATION",
"path": {
"id": "track000000000003397",
"displayName": "Path1"
},
"status": {
"intStatus": 600,
"description": "Overdue",
"key": "600",
"displayName": "Overdue"
},
"id": "stuce000000000266681",
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
REST API Reference | Learning | 1491

"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1442376060000,
"need_recert": false,
"startedOn": null,
"assignedOnDate": 1441684901000,
"recert_window_starts_on": null,
"heldCertNo": "00289700 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
},
"need_recert_cert": false
},
"isgranted": null
},
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stuce000000000390011",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
REST API Reference | Learning | 1492

"displayName": "Charles Foster"


},
"targetDate": 1472045627000,
"learningEvent": {
"id": "crtfy000000000010331",
"displayName": "amtest_certif_mandatoryflag"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1469453627000,
"source": {
"componentName": "Prescription Rule",
"activitySourceType": {
"sourceType": 3,
"listId": "sysli000000000003037",
"key": "3",
"displayName": "Prescriptive Rule"
},
"primaryKey": {
"prefix": "prule",
"id": "prule000000000011881"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "prule000000000011881",
"displayName": "amtest_certif_mandatoryflag"
},
"actions": null,
"id": "certh000000003020410"
}
],
"basicdetail": {
"updatedOn": 1469453628000,
"createdBy": "admin",
"updatedBy": "admin",
"createdOn": 1469453627000,
"is_Reassigned": 0,
"person": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"certification_id": {
"id": "crtfy000000000010331",
"displayName": "amtest_certif_mandatoryflag"
},
"expired_on": null,
"reassign": true,
"inRecertification": false,
"profileElementType": "InternalCert",
REST API Reference | Learning | 1493

"revoked_on": null,
"recertificationType": [],
"prev_expired_on": null,
"need_recert_ot": false,
"need_recert_eq": false,
"type": "CERTIFICATION",
"path": {
"id": "track000000000010348",
"displayName": "amtestpath1"
},
"status": {
"intStatus": 400,
"description": "Assigned",
"key": "400",
"displayName": "Assigned"
},
"id": "stuce000000000390011",
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
}
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1472045627000,
"need_recert": false,
"startedOn": null,
"assignedOnDate": 1469453627000,
"recert_window_starts_on": null,
"heldCertNo": "00447468 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
},
"need_recert_cert": false
},
"isgranted": null
}
REST API Reference | Learning | 1494

],
"hasMoreResults": true,
"itemsPerPage": 2,
"totalResults": 115
}

Curriculum:

{
"facets": [],
"startIndex": 1,
"results": [
{
"percentcompleted": 100,
"requirers": [
{
"required": true,
"assignment": {
"id": "stcur000000000044164",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1413259200000,
"learningEvent": {
"id": "curra000000000002924",
"displayName": "certemplateStory-Curriculum"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1413270631000,
"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "currh000000001469537"
REST API Reference | Learning | 1495

}
],
"basicdetail": {
"updatedOn": 1413270631000,
"createdBy": "superuser",
"updatedBy": "superuser",
"createdOn": 1413270631000,
"need_recert": false,
"curriculum": {
"id": "curra000000000002924",
"displayName": "certemplateStory-Curriculum"
},
"recert_window_starts_on": null,
"revokedOn": null,
"type": "CURRICULUM",
"path": {
"id": "track000000000004746",
"displayName": "1"
},
"status": {
"intStatus": 100,
"description": "Acquired",
"displayName": "Acquired"
},
"acquiredOn": 1413259200000,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": null,
"startedOn": 1413259200000,
"assignedOnDate": 1413270631000,
"heldCertNo": "00267097 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"id": "stcur000000000044164",
"assigneeAdditionalDetails": {
"person_no": "00001000",
REST API Reference | Learning | 1496

"username": "SUPERUSER"
}
},
"isgranted": null
},
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stcur000000000028104",
"displayName": null
},
"activityContext": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1409284800000,
"learningEvent": {
"id": "curra000000000002620",
"displayName": "\"Curriculum - 1\""
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1407999097000,
"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "currh000000000855027"
}
],
"basicdetail": {
"updatedOn": 1415694199000,
"createdBy": "superuser",
"updatedBy": "admin",
"createdOn": 1407999097000,
REST API Reference | Learning | 1497

"need_recert": false,
"curriculum": {
"id": "curra000000000002620",
"displayName": "\"Curriculum - 1\""
},
"recert_window_starts_on": null,
"revokedOn": null,
"type": "CURRICULUM",
"path": {
"id": "track000000000004289",
"displayName": "1"
},
"status": {
"intStatus": 600,
"description": "Overdue",
"displayName": "Overdue"
},
"acquiredOn": null,
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1409284800000,
"startedOn": null,
"assignedOnDate": 1407999097000,
"heldCertNo": "00206679 ",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"id": "stcur000000000028104",
"assigneeAdditionalDetails": {
"person_no": "00001000",
"username": "SUPERUSER"
}
},
"isgranted": null
}
],
"hasMoreResults": true,
REST API Reference | Learning | 1498

"itemsPerPage": 2,
"totalResults": 36
}

AUTO-ENROLL LEARNERS INTO COURSES INSIDE THE


CERTIFICATION/CURRICULUM

Overview
Auto-enrolls the learners into courses inside the certification/curriculum.
Note: The logic used for determining which offerings to enroll in is based on the UI workflow
of the application.
Auto-enrolling is applicable only to:
• Certifications and curricula that have one-click learning enabled.
• Both internal and external orders.
• Certifications/Curricula containing a blended program that is applicable to the learner
being registered.
• Zero cost orders. For external orders, this is the effective cost of the order after considering
any discounts. This does not apply to internal orders.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/autoenroll

Calling Options
Table 385: Calling Options

Name Description Sample Value Data Type Required?

learningEvent Learning Event Input. {\"id\":\"crt- object Yes


Supports lookup (Cer- fy000000000200994\",
tification/Curriculum). \"display-
Name\":\"cert_zero_or-
der_error\",
\"type\" : \"certific-
ation\"}

orderContact Order Contact. Sup- {\"id\":\"per- object Yes


ports lookup (Person). sn000000000001028\",
\"display-
Name\":\"cfour\"}
REST API Reference | Learning | 1499

Name Description Sample Value Data Type Required?

learner Learner to which the {\"id\":\"per- object Yes


learning event would sn000000000001028\",
be enrolled and \"display-
course enrolled. Sup- Name\":\"cfour\"}
ports lookup (Person).

targetDate Target Date 2016-11-29 string No

Request Body

{
"learningEvent" : {
"id" : "crtfy000000000200994",
"displayName" : "cert_1",
"type" : "certification"
},
"orderContact" : {
"id" : "persn000000000001028",
"displayName" : "cfour"
},
"learner" : {
"id" : "persn000000000001028",
"displayName" : "cfour"
},
"targetDate" : "2016-11-29"
}

Note: Lookup is supported in the input JSON for "learningEvent", "orderContact" and "learner".

Return Values

{
"order": {
"orderItemDetail": [
{
"orderItem": {
"id": "iodwn000000000007656",
"status": "Pending Approval"
},
"part": {
"displayName": "course_zero_order_1",
"id": "dowbt000000000003386",
"href": "http://<hostname-api.sabacloud.com>/offering/dowbt000000000003386"
},
"registration": {
"id": "regdw000000000006341",
"href": "http://<hostname-api.sabacloud.com>/enrollment/regdw000000000006341"
}
}
],
"heldLearningEvent": {
"id": "stuce000000000202759",
"href":
"http://<hostname-api.sabacloud.com>/learning/heldlearningevent/stuce000000000202759"

},
REST API Reference | Learning | 1500

"warnings": [
{
"message": " Approval is required to register.",
"key": "140507"
}
],
"orderStatus": {
"description": "Confirmed",
"key": "100"
},
"id": "intor000000000209258",
"href": "http://<hostname-api.sabacloud.com>/learning/order/intor000000000209258"
}
}

In case of an error while creating the order, the transaction is rolled back and the error
message is given as the output:

{
"errorMessage": " You are not authorized to perform this action."
}

ASSIGN CERTIFICATION/CURRICULUM TO A PERSON

Overview
Assigns certification/curriculum to a person

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/{certId}/person

Calling Options
Table 386: Calling Options

Name Description Sample Value Data Type Required?

certId Certification/Cur- crt- string Yes


riculum ID fy000000000200360

@type Input detail type com.saba.rest.busi- string Yes


nesscompon-
ent.dto.CertCur-
rActivityDTO

targetDays Target days string No


REST API Reference | Learning | 1501

Name Description Sample Value Data Type Required?

source Certification/Cur- Shuchi Lau em- string Yes


riculum assigner plo000000000200095

assignee Assignee Shuchi Lau em- string Yes


plo000000000200095

targetDate Target Date string No

Request Body
Certification:

{ "@type": "com.saba.rest.businesscomponent.dto.CertCurrActivityDTO",
"targetDays": 222,
"source": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
},
"targetDate": null,
"assignee": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
}
}

Curriculum:

{ "@type": "com.saba.rest.businesscomponent.dto.CertCurrActivityDTO",
"targetDays": 222,
"source": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
},
"targetDate": null,
"assignee": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
}
}

Return Values

{
"id": "stcur000000000002113",
"displayName": null,
"href": "http://<hostname>/v1/<componentName>/stcur000000000002113"
}
REST API Reference | Learning | 1502

GRANT CERTIFICATION/CURRICULUM TO A LEARNER

Overview
Allows the manager, alternate manager, position manager, people admin or group admin
(Only Organization base (Criteria base cannot) ) to grant certification/curriculum to a learner.
The status of such granted certification/curriculum will be shown as acquired for that learner.
Note: To grant an already assigned certification the suppressWarning flag should be true.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/:cert_curr_Id/person?action=grant
Using the suppressWarning flag:
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/:cert_curr_Id/person?action=grant&suppressWarning=true

Calling Options
Table 387: Calling Options

Name Description Sample Value Data Type Required?

cert_curr_Id Certification/Cur- crt- string Yes


riculum ID fy000000000200360

@type Input detail type com.saba.rest.busi- string Yes


nesscompon-
ent.dto.CertCur-
rActivityDTO

acquiredOn Date on which the string Yes


certification/cur-
riculum was acquired

expiredOn Date on which the No


certification expires.
Note: Only applicable
for certification.
REST API Reference | Learning | 1503

Name Description Sample Value Data Type Required?

assignee Assignee { "@type": object Yes


"com.saba.rest.ser-
vice.RESTServi-
ceObjectRefer-
ence", "id": "em-
plo000000000206652",
"displayName":
"Shuchi Lau" }

auditReason Audit reason for grant string No

Request Body
Certification:

{
"@type": "com.saba.rest.businesscomponent.dto.CertCurrActivityDTO",
"acquiredOn": {"@type":"java.util.Date","time":"2015-05-12
"expiredOn":{"@type":"java.util.Date","time":"2015-05-14"},
"assignee": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000206652",
"displayName": "Shuchi Lau"
},
"auditReason": "API test audit reason for grant"
}

Curriculum:

"@type": "com.saba.rest.businesscomponent.dto.CertCurrActivityDTO",
"acquiredOn": {"@type":"java.util.Date","time":"2015-05-12"},
"assignee": {
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "emplo000000000206652",
"displayName": "Shuchi Lau"
},
"auditReason": "API test audit reason for grant"
}

Return Values

{
"id": "stuce000000000202455",
"displayName": null,
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000202455"
}
REST API Reference | Learning | 1504

UPDATE TARGET DAYS/DATE FOR ASSIGNED


CERTIFICATION/CURRICULUM ACTIVITY

Overview
Updates the target days/date for the assigned certification/curriculum activity

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/activity/:activityId

Calling Options
Table 388: Calling Options

Name Description Sample Value Data Type Required?

@type Input detail type com.saba.rest.busi- string Yes


nesscompon-
ent.dto. CertCur-
rActivityDTO

activityId Held Certification/Cur- string Yes


riculum activity's ID

targetDays Target days 375 string No

targetDate Target Date string No

auditReason Audit reason for grant string No

Request Body

{
"@type": "com.saba.rest.businesscomponent.dto.CertCurrActivityDTO",
"targetDays": 375,
"auditReason":"Test target date change audit reason"
}

UPDATE EXPIRATION DATE OF HELD CERTIFICATION

Overview
Updates the expiration date of the held certification.
REST API Reference | Learning | 1505

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/expiry

Calling Options
Table 389: Calling Options

Name Description Sample Value Data Type Required?

@type Input detail type com.saba.rest.busi- string Yes


nesscompon-
ent.dto.Held-
CertDTO

heldCertId Held Certification's ID stuce000000000202341 string Yes

expirationDate The expiration date of 2015-07-20 string Yes


the held certifiction

auditReason Audit reason for grant Test RC API ex- string No


piry reason

Request Body

[
"list", [{
"@type": "com.saba.rest.businesscomponent.dto.HeldCertDTO",
"heldCertId": "stuce000000000203186",
"expirationDate": {
"@type": "java.util.Date",
"time": "2018-07-20"
},
"auditReason":"Test RC API expiry reason"
}

]
]

Return Values

204 - No Content
REST API Reference | Learning | 1506

REMOVE CERTIFICATION/CURRICULUM ACTIVITY OF A LEARNER

Overview
Removes the certification/curriculum activity of a learner

Requires OAuth
No

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/activity/:activityId

Calling Options
Table 390: Calling Options

Name Description Sample Value Data Type Required?

activityId Held Certification/Cur- string Yes


riculum activity's ID

GET META DETAILS OF COURSE ACTIVITY

Overview
Returns the meta details of the course activity.
Note: Recurring courses are not supported for this endpoint.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/meta

Return Values

{
"sampleData": {
"id": null,
"assignee": null,
"targetDate": null,
REST API Reference | Learning | 1507

"activityDefinition": null,
"status": null,
"source": null,
"href": "https://dqlearning-api.sabacloud.com/v1/courseactivity/"
},
"name": "CourseActivity",
"displayName": "Course Activity",
"attributes": [
{
"name": "activityDefinition",
"displayName": "Activity Definition",
"description": "Reference to the Course Definition",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "assignee",
"displayName": "Assignee",
"description": "Holder of the Course",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "percentageCompleted",
"displayName": "Percentage Completed",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "source",
"displayName": "Source",
"description": "Source of the Course",
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Learning | 1508

"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": "Status of course Activity ",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "https://dqlearning-api.sabacloud.com/v1/list/sysli000000000003036/values"

},
"display": true,
"isSearchFilter": true
},
{
"name": "targetDate",
"displayName": "Target Date",
"description": "Due date of the course assignment",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "targetDays",
"displayName": "Target Days",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}

GET DETAILS OF A PARTICULAR COURSE ACTIVITY

Overview
Returns complete information about a course activity based on the Course Activity's ID that
is passed as a parameter value.
Note: Recurring courses are not supported for this endpoint.
REST API Reference | Learning | 1509

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/:id

Calling Options
Table 391: Calling Options

Name Description Sample Value Data Type Required?

id Course activity's ID string Yes

Return Values

{
"assignee": {
"id": "emplo000000000007360",
"displayName": "User One"
},
"activityDefinition": {
"id": "cours000000000003200",
"displayName": "Class för SEED testing"
},
"targetDate": "2020-05-31T00:00:00.000+0000",
"status": "100",
"source": {
"id": "emplo000000000007360",
"displayName": "User One"
},
"id": "coact000000000006104",
"assignedOn": "2020-05-28T08:47:09.000+0000"
}

GET ALL COURSE ACTIVITIES OF LOGGED IN USER

Overview
Returns all the course activities of the logged in user.

Requires OAuth
No

Method
GET
REST API Reference | Learning | 1510

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 392: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria. fetchRecurring- string No


Use fetchRecurring- Course%3D%3Dfalse
Course to retrieve re-
curring courses.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "coact000000000008373",
"activityDefinition": {
"id": "cours000000000200811",
"displayName": "21ab"
},
"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008373"
},
{
"id": "coact000000000008395",
"activityDefinition": {
"id": "cours000000000200744",
"displayName": "aaacou_for_package_with_no_price"
},
"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008395"
},
{
"id": "coact000000000008517",
"activityDefinition": {
"id": "cours000000000200172",
"displayName": "all_421_content"
},
"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008517"
},
{
"id": "coact000000000008355",
"activityDefinition": {
"id": "cours000000000200380",
"displayName": "BrownBag One day course on Java"
},
REST API Reference | Learning | 1511

"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008355"
},
{
"id": "coact000000000008390",
"activityDefinition": {
"id": "cours000000000200706",
"displayName": "c_def03306341"
},
"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008390"
},
{
"id": "coact000000000008350",
"activityDefinition": {
"id": "cours000000000201505",
"displayName": "merge1"
},
"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008350"
}
],
"facets": [],
"totalResults": 6,
"hasMoreResults": false,
"itemsPerPage": 10,
"startIndex": 1
}

Note: Use includeDetails=true to return the assignedOn date.

FIND DETAILS OF COURSE ACTIVITIES BASED ON CRITERIA

Overview
Returns the details of the course activities along with the ID, Name and the Deeplink URL
based on the provided search criteria.
Note: Recurring courses are not supported for this endpoint.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity?q=(:criteria)&count=:count&startPage=:startPage
REST API Reference | Learning | 1512

Calling Options
Table 393: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria created_on=ge= string Yes


such as: 2002-04-
23%2001:00:01
• created_on
%20AM, up-
• updated_on dated_on=le=
• created_by 2002-04-
• updated_by 23%2011:59:59
%20PM

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: assignee_id, assignee_username, assignee_no
Catalog conditions: act_defn_id

Return Values

{
"facets": [],
"results": [],
"startIndex": 1,
"totalResults": 0,
"hasMoreResults": false,
"itemsPerPage": 10
}

Note: Use includeDetails=true to return the assignedOn date.

FIND DETAILS OF RECURRING COURSE ACTIVITIES BASED ON


CRITERIA

Overview
Returns the details of the recurring course activities along with the ID, Name and the Deeplink
URL based on the provided search criteria.
REST API Reference | Learning | 1513

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity?q=(:criteria)&count=:count&startPage=:startPage
Example:
http/:/<hostname-aps
.iabaco
ludc
.om>/v1/courseactv
itiy?q=(assg
i nee%3D%3Dempo
l000000000001600s
,tatus%3D%3D200f,etchRecurrn
igCourse%3D%3Dtrue)&count=c
:ount&startPage=s
:tartPage

Calling Options
Table 394: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria assign- string Yes


ee%3D%3Dem-
plo000000000001600,
status%3D%3D200,
fetchRecurring-
Course%3D%3Dtrue

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results":[
{
"id":"coact000000000008373",
"activityDefinition":{
"id":"cours000000000200811",
"displayName":"21ab"
},

"href":"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008373"

},
{
"id":"coact000000000008395",
"activityDefinition":{
"id":"cours000000000200744",
"displayName":"aaacou_for_package_with_no_price"
},

"href":"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008395"
REST API Reference | Learning | 1514

},
{
"id":"coact000000000008517",
"activityDefinition":{
"id":"cours000000000200172",
"displayName":"all_421_content"
},

"href":"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008517"
},
{
"id":"coact000000000008355",
"activityDefinition":{
"id":"cours000000000200380",
"displayName":"BrownBag One day course on Java"
},

"href":"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008355"

},
{
"id":"coact000000000008390",
"activityDefinition":{
"id":"cours000000000200706",
"displayName":"c_def03306341"
},

"href":"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008390"

},
{
"id":"coact000000000008350",
"activityDefinition":{
"id":"cours000000000201505",
"displayName":"merge1"
},

"href":"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008350"

}
],
"facets":[

],
"totalResults":6,
"hasMoreResults":false,
"itemsPerPage":10,
"startIndex":1
}

SEARCH ALL COURSE ACTIVITIES BASED ON GIVEN CRITERIA


(USING POST - RANGE BASED SEARCH)

Overview
Returns the course activities based on the provided search criteria.
To get data for all team members:
REST API Reference | Learning | 1515

A manager/admin can use the IN operator to specify a list of team members as the search
criteria. If the logged in person is a manager, then the API returns the data for all team
members specified using the IN operator. If the logged in person is not the learning admin
or a manager of the people included in the search condition then the API returns a blank
output.
Note: Only 5 team members are supported in the IN operator.
The following attributes support using the IN operator:
CourseActivities
• assignee_id
• assignee_username
• assignee_no

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/courseactivity/searchQuery
?count=:count&startPage=:startPage&includeDetails=:isDetail
Note: Use includeDetails=true to return the assignedOn date.

Calling Options
Table 395: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions string Yes

count 10 integer No

startPage 1 integer No

includeDetails If true then returns true boolean No


the complete details

Note:
The following criteria fields (name) can be used:
• assignee_id
• assignee_username
• assignee_no

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
REST API Reference | Learning | 1516

All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: assignee_id, assignee_username, assignee_no
Catalog conditions: act_defn_id

Request Body
Example: The logged in person is the learning admin or a manager of the people included in
the search condition.
Note: If the logged in person is not the learning admin or a manager of the people included
in the search condition then the API returns a blank output.
Request Body

{
"conditions":[
{
"name":"assignee_id",
"operator":"IN",
"value":[
"emplo000000000200180",
"emplo000000000200346",
"emplo000000000200342"
]
}
]
}

Request Body

{
"conditions":[
{
"name":"assignee_no",
"operator":"IN",
"value":[
"00200180",
"00200346",
"00200342"
]
}
]
}

Request Body

{
"conditions":[
{
"name":"assignee_username",
"operator":"IN",
"value":[
"SCHAUDHARY",
"KCHOUDHARY"
]
}
]
}
REST API Reference | Learning | 1517

ASSIGN A COURSE OR A RECURRING COURSE TO A PERSON

Overview
Assigns a course or a recurring course to a person.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/

Calling Options
Table 396: Calling Options

Name Description Sample Value Data Type Required?

source Course/Recurring {"id": "em- string Yes


Course assigner plo000000000200095","dis-
playName": "Shu-
chi Lau"}

assignee Assignee {"id": "em- string Yes


plo000000000200095","dis-
playName": "Shu-
chi Lau"}

activityDefinition Course or a recurring {"id": string Yes


course to assign "cours000000000200172",ds
i-
playName":
"21ab"}

targetDate Target Date 2020-09-24 string No

targetDays Target days 100 integer No

Request Body

{
"targetDays": 234,
"source": {
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
},
"targetDate": null,
"activityDefinition": {
"id": "cours000000000200172",
"displayName": "21ab"
REST API Reference | Learning | 1518

},
"assignee": {
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
}
}

Return Values

{
"id": "coact000000000008517",
"displayName": "Quick Blended Course",
"href": "http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008517"
}

UPDATE DETAILS OF A COURSE ACTIVITY

Overview
Allows updating an existing course activity based on the course activity's ID.
Note: Recurring courses are not supported for this endpoint.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/:id

Calling Options
Table 397: Calling Options

Name Description Sample Value Data Type Required?

id Course activity's ID string Yes

targetDate Target date string No

targetDays Target days string No

Request Body

{
"targetDays": 245,
"targetDate":null
}
REST API Reference | Learning | 1519

REMOVE A COURSE OR A RECURRING COURSE FROM A LEARNER

Overview
Removes a course or a recurring course from a learner based on the course activity's ID.

Requires OAuth
No

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/:id

Calling Options
Table 398: Calling Options

Name Description Sample Value Data Type Required?

id Course activity's ID string Yes

CHANGE STATUS OF HELD CERTIFICATION/CURRICULUM

Overview
Allows changing the status (revoke/cancel/delete/changeTargetDate) of the held certification
or curriculum.
Note: At a time you can perform one of the following actions using this API:
• revoke
• cancel
• delete
• changeTargetDate
target_date is required only in case of changeTargetDate action.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/:held_cert_curr_Id
Example:
REST API Reference | Learning | 1520

https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000201818

Calling Options
Table 399: Calling Options

Name Description Sample Value Data Type Required?

held_cert_curr_Id Held Certification/Cur- stuce000000000057260 string Yes


riculum ID
REST API Reference | Learning | 1521

Name Description Sample Value Data Type Required?

action enumerated string Yes


REST API Reference | Learning | 1522

Name Description Sample Value Data Type Required?

Action to be per-
formed on the held
certification/cur-
riculum.
Can be one of the fol-
lowing:

"cancel",

"revoke",

"changeTarget-
Date",

"delete"

The delete action de-


letes the complete
history of the certific-
ate / curriculum from
the learners plan
page.
Note: The Can Com-
pletely Delete Certi-
fication Assignment
History For Self and
Others privilege is
needed on Certificate
/ Curriculum compon-
ent while deleting stu-
dent Certificate / Cur-
riculum from the
learner's profile.
The revoke action has
a boolean flag called
"reassign".

{
"action":"revoke",
"reassign":true,
"auditAction":"Held
certification status
update API"
}

"reassign" gives a
choice to the user if
he/she wants to re-
voke with re-assign-
ment or without re-
assignment. If reas-
sign is set to true then
REST API Reference | Learning | 1523

Name Description Sample Value Data Type Required?

after revoke, the certi-


fication status be-
comes Assigned and
if reassign is set to
false, then after re-
voke, the certification
status becomes Re-
voked.

auditAction Audit action string No

target_date Target Date. 2018-01-01 string No


Note: target_date is
required only in case
of changeTargetDate
action.

Request Body

{
"action":"changeTargetDate",
"target_date": "2017-10-10",
"auditAction":"Test held certification status update API"
}

Learning Module
REST endpoints for the learning data.

CREATE A NEW LEARNING MODULE

Overview
Creates learning module for certification path.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learningmodule
REST API Reference | Learning | 1524

Calling Options
Table 400: Calling Options

Name Description Default Value Data Type Required?

name Name of learning string Yes


module

is_reqd Whether module is re- false string No


quired for certifica-
tion path

notes Notes for learning string No


module

track_id Certification path id track000000000201211 string Yes


to which module is to
be added

re- Required number of string Yes


qd_no_of_items items for learning
module to complete

learningInterven- Learning interven- See the row be- string Yes


tions tions of the module low for sample.

{
"certification_id":"crtfy000000000201127",
"is_reqd":true,
"sequence":1,
"notes":"Module 1 Note",
"learningInterventions":[
{
"is_reqd":false,
"sequence":1,
"owner_id":null,
"is_waiver":false,
"part_id":{
"displayName":"",
"id":"cours000000000203324"
},
"id":""
}
],
"track_id":"track000000000201194",
"name":"Module 1",
"is_waiver":false,
"id":"",
"reqd_no_of_items":1
}

Request Body

{
"name": "New Module",
REST API Reference | Learning | 1525

"reqd_no_of_items": "1",
"certification_id": "crtfy000000000217820",
"track_id": "track000000000206080",
"is_reqd": true,
"sequence": 1,
"is_waiver": false,
"notes": "New module for Core Java path",
"learningInterventions": [
{
"is_reqd": false,
"sequence": 1,
"owner_id": null,
"is_waiver": false,
"part_id": {
"displayName": "",
"id": "cours000000000229892"
},
"id": ""
}
]
}

Return Values

Status: 201

UPDATE DETAILS OF A LEARNING MODULE

Overview
Updates the details of a learning module based on the Module's ID and Certification's ID
passed as parameter values.
Note: You can pass learning interventions in the Request Body to update the learning
interventions of a module. If you pass learning interventions, ensure that you pass all the
learning interventions. This API deletes all those learning interventions in the path which are
not passed in the Request Body, however, if you do not pass any interventions in the Request
Body, the existing interventions will not be deleted.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learningmodule/:id
REST API Reference | Learning | 1526

Calling Options
Table 401: Calling Options

Name Description Sample Value Data Type Required?

id Module's ID string Yes

certification_id Certification's ID crt- string Yes


fy000000000200784

name Name of the learning module modified string Yes


module

sequence Sequence of the string Yes - For ex-


learning module isting learn-
ing interven-
tions. No -
For new
learning in-
terventions

waiver Waiver of the learning false string No


module

notes Notes for the learning note101 string No


module

required Whether the learning true string No


module is required

learningInterven- Learning interven- See the row be- string No


tions tions of module low for sample.

[
{
"owner_id":null,
"is_waiver":false,
"sequence":2,
"is_reqd":false,
"part_id":{
"id":"cours000000000200190",
"displayName":"Quality Assurance in Information Systems"
},
"id":"edupl000000000201545"
},
{
"owner_id":null,
"is_waiver":false,
"is_reqd":false,
"part_id":{
"id":"cours000000000001004",
"displayName":""
}
}
]
REST API Reference | Learning | 1527

Name Description Sample Value Data Type Required?

re- The required number string Yes


qd_no_of_items of items

Request Body

{
"name": "New Module updated",
"reqd_no_of_items": "1",
"certification_id": "crtfy000000000217820",
"track_id": "track000000000206080",
"is_reqd": true,
"sequence": 1,
"is_waiver": false,
"notes": "New module for Core Java path update description",
"learningInterventions": [
{
"is_reqd": false,
"sequence": 1,
"owner_id": null,
"is_waiver": false,
"part_id": {
"displayName": "",
"id": "cours000000000229892"
},
"id": ""
},
{
"is_reqd": false,
"sequence": null,
"owner_id": null,
"is_waiver": false,
"part_id": {
"displayName": "",
"id": "cours000000000229898"
},
"id": ""
}
]
}

DELETE A PARTICULAR MODULE

Overview
Deletes a learning module based on the Learning Module's ID that is passed as a parameter
value.

Requires OAuth
No

Method
DELETE
REST API Reference | Learning | 1528

URL
https://<hostname-api.sabacloud.com>/v1/learningmodule/:learningModuleId

Calling Options
Table 402: Calling Options

Name Description Sample Value Data Type Required?

learningModuleId Learning Module's ID ce- string Yes


grp000000000201381

Return Values

200

Order
REST endpoints for the learning data.

GET ALL ORDERS

Overview
Returns all Orders for the last three months only. You can use FIND DETAILS OF ORDERS API
to get orders for the months beyond the three months range by providing the created_on
search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/order?count=:count&startPage=:startPage

Calling Options
Table 403: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1529

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": true,
"totalResults": 17,
"itemsPerPage": 10
}

FIND DETAILS OF ORDERS

Overview
Returns the details of the Orders along with the ID and the Deeplink URL based on the provided
search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage
Note: If the query contains exter_order_no as a criteria in ?q, the date range criteria will
not be added into the condition list.
Examples:
Searching Orders by Learner
https://<hostname-api.sabacloud.com>/v1/learning/order?q=?q=(learner_id%3D%3Demplo000000000200095)
REST API Reference | Learning | 1530

Searching Orders by Date Range


https://<hostname-api.sabacloud.com>/v1/learning/order?q=(created_on%3Dge%3D2015-01-08,created_on%3Dle%3D2015-04-09)
Searching Orders by Order Number
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(order_no%3D%3D00202910)
Searching Orders by Registration ID
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(registration%3D%3Dregdw000000000004040)
Searching Orders by Custom fields
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(custom0%3D%3Daaa)
Searching Orders by Course No
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(course_no%3D%3DINDEX5)
Searching Orders by Base Organization
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(ord_base_organization%3D%3Dcmpny000000000001000)
Searching Orders by Order Contact
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(ord_contact_username%3D%3DCONE)
Searching Orders by Bill to
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(ord_billto_organization%3D%3Dcmpny000000000001002)
Searching Orders by price
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(exter_total_charges%3D%3D12)
Searching Orders by status
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(ord_status%3D%3DConfirmed)
Searching Orders by Title
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(offering_id%3D%3Ddowbt000000000001590)
Searching Orders by created_on
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(created_on%3Dge%3D2017-01-08,created_on%3Dle%3D2017-04-09)
Searching Orders by method of Payment
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(exter_method_of_payment%3D%3D13)
Supported Values:
• 1 – Credit Card
• 2 – Purchase Order
• 5 – Training Unit
• 8 – Paypal
• 12 – SubscriptionOrder
• 13 – Invoice Me
Searching Orders by Delivery Type
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(delivery_type%3D%3DWEB-BASED)
Searching Orders by Created By
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(exter_created_by%3D%3DUONE)
Searching Orders by Updated By
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(exter_updated_by%3D%3DUONE)
REST API Reference | Learning | 1531

Searching Orders by Updated On


https://<hostname-api.sabacloud.com>/v1/learning/order?q=(exter_updated_on%3Dge%3D2017-01-08,exter_updated_on%3Dle%3D2017-04-09)
Searching Orders by Group Admin
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(group_admin_id%3D%3Demplo000000000001010)
Searching Orders by Account Number
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(ord_account_no%3D%3D001000)
Searching Orders by Approval Status
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(orditem_approval_status%3D%3D400)
Searching Orders by Billing Status
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(orditem_billing_status%3D%3D200)
Searching Orders by Contact First Name,Contact Last Name
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(perso_contact_id_fname%3D%3DClient,perso_contact_id_lname%3D%3DOne)
Searching Orders by Purchase Order Number
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(po_number%3D%3d1919)
Searching Orders by Promotion Code
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(promotion_code%3D%3Dnew1)
Searching Orders by Subscription Order No
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(subscription_no%3D%3d00001012)
Searching Orders by registration
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(registration%3D%3Dregdw000000000004040)
Searching Orders by tu_agreement_id
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(tu_agreement_id%3D%3Dtutpo000000000001004)
Searching Orders by tu_agreement_number
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(tu_agreement_number%3D%3D00001001)
Searching Orders by po_id
https://<hostname-api.sabacloud.com>/v1/learning/order?q=(po_id%3D%3Dpordr000000000001000)
REST API Reference | Learning | 1532

Calling Options
Table 404: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria: created_on string Yes


• learner_id
• created_on
• order_no
• registration
• custom
• course_no
• ord_base_organiza-
tion
• ord_contact_user-
name
• ord_billto_organiza-
tion
• ex-
ter_total_charges
• ord_status
• offering_id
• created_on
• exter_meth-
od_of_payment
• delivery_type
• exter_created_by
• exter_updated_by
• exter_updated_on
• group_admin_id
• ord_account_no
• orditem_approv-
al_status
• or-
ditem_billing_status
• perso_con-
tact_id_fname
• po_number
• promotion_code
• subscription_no
• registration
• tu_agreement_id
• tu_agree-
ment_number
• po_id

field_value The search value for 2015-04-09 string Yes


the specified search
criteria.
REST API Reference | Learning | 1533

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203306",
"displayName": "00202911",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203306"
},
{
"id": "intor000000000203307",
"displayName": "00202912",
"href":
REST API Reference | Learning | 1534

"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203307"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 8,
"itemsPerPage": 10
}

APPROVE / REJECT AN ORDER ITEM

Overview
Allows approving / rejecting an Order Item.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/:regId?action=:action
Note: The people admin can approve or reject an order item by using the following URL that
holds an additional parameter overrideApprovalChain=true:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/regId?overrideApprovalChain=true&action=:action

Calling Options
Table 405: Calling Options

Name Description Sample Value Data Type Required?

regId Registration's ID reg- string Yes


dw000000000004020

action The action to be per- approve string Yes


formed. Can be ap-
prove or reject.

APPROVE / REJECT AN ORDER INVOICE PAYMENT

Overview
Allows approving / rejecting an Order invoice payment.
REST API Reference | Learning | 1535

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/order/:orderId/invoicePaymentApproval?action=:action
Example:
https://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203637/invoicePaymentApproval?action=approve

Calling Options
Table 406: Calling Options

Name Description Sample Value Data Type Required?

orderId Order's ID in- string Yes


tor000000000203637

action The action to be per- approve string Yes


formed. Can be ap-
prove or reject.

Return Values

200 (OK)

APPROVE / REJECT AN ORDER PAID USING TUA

Overview
Allows approving / rejecting an Order paid using TUA.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/order/:orderId/PaymentApproval?action=:action
REST API Reference | Learning | 1536

Calling Options
Table 407: Calling Options

Name Description Sample Value Data Type Required?

orderId Order's ID string Yes

action The action to be per- approve string Yes


formed. Can be ap-
prove or reject.

Return Values

200 (OK)

UPDATE ORDER'S CUSTOM FIELDS

Overview
Updates the values of the Custom fields for the given Order ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/order/:orderId/custom

Calling Options
Table 408: Calling Options

Name Description Sample Value Data Type Required?

orderId Order's ID in- string Yes


tor000000000203218

Request Body

[
"java.util.List",
[
{
"@type": "com.saba.customattribute.CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "com.saba.customattribute.CustomAttributeDatatype",
REST API Reference | Learning | 1537

"value": "18"
},
"value": "RRJCustom",
"displayName": "Custom0",
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail"
},
{
"@type": "com.saba.customattribute.CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "com.saba.customattribute.CustomAttributeDatatype",
"value": "18"
},
"value": "RRJCustom1",
"displayName": "Custom1",
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail"
},
{
"@type": "com.saba.customattribute.CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "com.saba.customattribute.CustomAttributeDatatype",
"value": "18"
},
"value": "RRJCustom2",
"displayName": "Custom2",
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail"
},
{
"@type": "com.saba.customattribute.CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "com.saba.customattribute.CustomAttributeDatatype",
"value": "18"
},
"value": "RRJCustom3",
"displayName": "Custom3",
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail"
},
{
"@type": "com.saba.customattribute.CustomAttributeValueDetail",
"name": "custom4",
"datatype": {
"@type": "com.saba.customattribute.CustomAttributeDatatype",
"value": "18"
},
"value": "RRJCustom4",
"displayName": "Custom4",
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail"
}
]
]
REST API Reference | Learning | 1538

Return Values

{
"learner": null,
"baseCustomer": {
"id": "persn000000000220981",
"displayName": "Update 17 Extern"
},
"orderStatus": "Confirmed",
"price": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": null,
"orderDiscount": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"paidWithPurchaseOrders": false,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"orderContact": "Update 17 Extern",
"skuOrder": null,
"promotionCode": null,
"orderItems": [
{
"learner": {
"id": "persn000000000220981",
"displayName": "Update 17 Extern"
},
"partDetail": {
"abstract": "",
"availableSeats": -1,
"sessionTemplate": null,
"facility": null,
"audienceTypes": null,
"dif": false,
"price": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": null
}
},
"deliveryType": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"offeringTemplate": {
"id": "cours000000000020985",
REST API Reference | Learning | 1539

"displayName": "MOBI-5808 Testing"


},
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "string"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "real wbt"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "bool"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "date wbt"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "ExCustom1"
}
],
"endDate": null,
"startDate": null,
"trainingUnits": null,
"locationDetail": null,
"offeringNumber": "5808TEST",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
REST API Reference | Learning | 1540

},
"availabilityDetails": {
"availableSeats": -1,
"offeringPrice": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "0 USD"
},
"groupAssociatedWithCourse": null,
"class_no": "5808TEST",
"offeringlocked": false,
"delivery_id": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"location_id": null,
"max_ct": 0,
"max_book": 0,
"min_ct": 0,
"csr_id": null,
"session_template": null,
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"disp_for_web": true,
"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": null,
"avail_from": 1421730000000,
"disc_from": null,
"manufacturer_id": null,
"skip_days_map": null,
"learningAssignments": null,
"offering_temp_id": {
"id": "cours000000000020985",
"displayName": "MOBI-5808 Testing"
},
"has_community": false,
"wbt_no": "5808TEST",
"enforced_seq": null,
"creditsCollection": null,
"baseDeliveryType": 200,
"calendarExportURL": null,
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
REST API Reference | Learning | 1541

"publishStatusMessage": null,
"group_id": null,
"endDateI18n": null,
"startDateI18n": null,
"priceDisplayString": "0 USD",
"dropPolicyInfo": {
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null,
"allEffectivePolicies": [
{
"charge": 5,
"chargeType": 1,
"daysFrom": 60,
"daysTo": 99999,
"currency": {
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 5.0 % if dropped 60 day(s) after
order."
},
{
"charge": 50,
"chargeType": 1,
"daysFrom": -99999,
"daysTo": 99999,
"currency": {
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 50.0 % for all other days."
}
]
},
"courseVersion": null,
"diffHours": 0,
"customFields": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "string"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "real wbt"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1542

"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "bool"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "date wbt"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "ExCustom1"
}
],
"durationString": "01:00",
"offering_temp_no": null,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"name": "MOBI-5808 Testing",
"language": {
"id": "lange000000000000001",
"displayName": "English"
},
"resources": [],
"location": null,
"actions": null,
"id": "dowbt000000000015531",
"duration": 60,
"description": "MOBI-5808 Testing",
"status": null
},
"registration": {
"id": "regdw000000000261404",
"displayName": ""
},
"orderItemStatus": {
"orderItemStatus": 100,
"listId": "sysli000000000000131"
},
"price": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": null,
REST API Reference | Learning | 1543

"regDifDetail": null,
"quantity": null,
"groupItem": null,
"totalDiscount": null,
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"itemStatusDescription": "Registered",
"cancellationPolicyInfo": null,
"subDetail": null,
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": null,
"mGracePeriod": null,
"organization": null,
"id": {
"id": "iodwn000000002217509",
"displayName": ""
},
"group": null,
"part": {
"id": "dowbt000000000015531",
"displayName": "MOBI-5808 Testing"
}
}
],
"trainingUnitOrder": false,
"packageorder": false,
"billedTo": {
"id": "persn000000000220981",
"displayName": "U17E"
},
"orderNumber": "00242836",
"orderStatusObj": {
"tagName": "OrderStatus",
"orderStatus": 100,
"description": "Confirmed",
"factoryName": "com.saba.order.OrderStatus",
"name": "Confirmed",
"key": "100"
},
"orderDate": 1421735042000,
"totalPrice": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"totalDropCharges": null,
"payments": [],
"totalDiscount": {
REST API Reference | Learning | 1544

"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": false,
"canPayBySubscriptionOrder": false,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"order": {
"id": "intor000000010556943",
"displayName": ""
}
}

GET ORDER DETAILS OF A PARTICULAR ORDER

Overview
Returns the order details of a particular order.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/order/:id

Calling Options
Table 409: Calling Options

Name Description Sample Value Data Type Required?

id Order's ID in- string Yes


tor000000000203305
REST API Reference | Learning | 1545

Return Values

{
"price": {
"amount": 20.7,
"isocode": "USD",
"amountString": "20.70 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"promotionCode": null,
"orderDiscount": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": null,
"totalPrice": {
"amount": 20.7,
"isocode": "USD",
"amountString": "20.70 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"name": "custom1",
"datatype": {
"value": 2
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 1
},
"value": 0,
"displayName": "custom2"
},
{
"name": "custom3",
"datatype": {
"value": 9
},
"value": false,
REST API Reference | Learning | 1546

"displayName": "custom3"
},
{
"name": "custom4",
"datatype": {
"value": 10
},
"value": null,
"displayName": "custom4"
},
{
"name": "custom5",
"datatype": {
"value": 12
},
"value": null,
"displayName": "custom5"
}
],
"learner": null,
"couponDiscount": null,
"baseCustomer": {
"id": "persn000000000237232",
"displayName": "client one"
},
"orderStatus": "Confirmed",
"billingAddress": {
"componentName": "Address",
"addressString": "Addr1=bill_addr1, Addr2=bill_addr2 Addr3=, City=bill_city, State=bill_state,
Zip=bill_zip, Country=bill_country",
"email": null,
"addr1": "bill_addr1",
"addr2": "bill_addr2",
"city": "bill_city",
"zip": "bill_zip",
"addr3": "",
"incomplete": false,
"tag": 0,
"state": "bill_state",
"country": "bill_country",
"owner": null,
"primaryKey": null,
"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
},
"paidWithPurchaseOrders": false,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"vatNo": "002",
"orderContact": "client one",
"skuOrder": null,
"orderItems": [
{
"price": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
REST API Reference | Learning | 1547

"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": 0,
"learner": {
"id": "persn000000000237232",
"displayName": "client one"
},
"registration": {
"id": "regdw000000000306456",
"displayName": ""
},
"partDetail": {
"price": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": null
}
},
"componentName": "ComponentName",
"abstract": "",
"consumeWithinCert": false,
"trainingUnits": null,
"locationDetail": null,
"deliveryType": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"offeringTemplate": {
"id": "cours000000000005513",
"displayName": "111"
},
"customValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "string"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "int"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "real wbt"
},
{
REST API Reference | Learning | 1548

"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "bool"
},
{
"name": "custom4",
"datatype": {
"value": 9
},
"value": null,
"displayName": "date wbt"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
REST API Reference | Learning | 1549

},
{
"name": "ExCustom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom2"
},
{
"name": "ExCustom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom3"
}
],
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"sessionTemplate": null,
"facility": null,
"availableSeats": -1,
"offeringNumber": "121211221\t121211221",
"cpf": false,
"audienceTypes": null,
"endDate": null,
"startDate": null,
"groupAssociatedWithCourse": null,
"availabilityDetails": {
"availableSeats": -1,
"offeringPrice": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": null
}
},
"offeringPriceDisplay": "20 USD"
},
"class_no": "121211221\t121211221",
"calendarExportURL": null,
"creditsCollection": null,
"offeringlocked": false,
"delivery_id": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"location_id": null,
"max_ct": 0,
"max_book": 0,
"min_ct": 0,
"csr_id": null,
"session_template": null,
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
REST API Reference | Learning | 1550

"disp_for_web": true,
"disp_for_call_center": true,
"facility_id": null,
"vendor_id": null,
"open_enroll": null,
"open_enroll_for_all": null,
"enroll_close": null,
"post_order": null,
"post_completion": null,
"stop_auto_promotion": null,
"vleInfo": null,
"do_not_drop_post": null,
"start_date": null,
"avail_from": 1376712000000,
"disc_from": null,
"manufacturer_id": null,
"skip_days_map": null,
"learningAssignments": null,
"offering_temp_id": {
"id": "cours000000000005513",
"displayName": "111"
},
"has_community": false,
"wbt_no": "121211221\t121211221",
"enforced_seq": null,
"classDescription": "121211221",
"baseDeliveryType": 200,
"customFieldsValue": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "string"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "int"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "real wbt"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "bool"
},
{
"name": "custom4",
REST API Reference | Learning | 1551

"datatype": {
"value": 9
},
"value": null,
"displayName": "date wbt"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
},
{
"name": "ExCustom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom2"
},
REST API Reference | Learning | 1552

{
"name": "ExCustom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom3"
}
],
"ownersValue": null,
"customFields": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "string"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "int"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "real wbt"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "bool"
},
{
"name": "custom4",
"datatype": {
"value": 9
},
"value": null,
"displayName": "date wbt"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom5"
},
{
"name": "custom6",
"datatype": {
REST API Reference | Learning | 1553

"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom9"
},
{
"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom1"
},
{
"name": "ExCustom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom2"
},
{
"name": "ExCustom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom3"
}
],
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"group_id": null,
"endDateI18n": null,
"startDateI18n": null,
"priceDisplayString": "20 USD",
REST API Reference | Learning | 1554

"dropPolicyInfo": {
"allEffectivePolicies": [
{
"daysFrom": -99999,
"daysTo": 99999,
"charge": 10,
"timeEntryId": "",
"chargeType": 1,
"currency": {
"id": "crncy000000000000167",
"displayName": null
},
"displayString": "Cancellation charge of 10.0 % for all other days."
}
],
"lastDateToDropWithoutCharge": null,
"trainingUnitDropPolicyInfo": null
},
"courseVersion": null,
"durationString": "02:00",
"offering_temp_no": null,
"cpfMins": 0,
"registeredCount": 0,
"waitListedCount": 0,
"statusNumValue": null,
"suppressScoreForOT": false,
"inheritedTrainingUnits": null,
"courseDescription": "descri yeh kya hai",
"courseCustomValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": "H",
"displayName": "Registration Link"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Cancellation Link"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
REST API Reference | Learning | 1555

"name": "ExCustom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "change"
},
{
"name": "ExCustom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom3"
},
{
"name": "ExCustom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom4"
},
{
"name": "ExCustom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom5"
},
{
"name": "ExCustom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom8"
},
{
"name": "ExCustom9",
"datatype": {
"value": 1
},
"value": null,
"displayName": "ExCustom9"
},
{
"name": "ExCustom11",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom11"
},
{
"name": "ExCustom12",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom12"
REST API Reference | Learning | 1556

},
{
"name": "ExCustom14",
"datatype": {
"value": 10
},
"value": null,
"displayName": "ExCustom14"
},
{
"name": "ExCustom16",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom16"
}
],
"creditString": null,
"description": "121211221",
"duration": 120,
"status": null,
"name": "111",
"language": {
"id": "lange000000000000001",
"displayName": "English"
},
"resources": [],
"location": null,
"actions": null,
"id": "dowbt000000000009501"
},
"couponDiscount": 0,
"orderItemStatus": {
"orderItemStatus": 100,
"listId": "sysli000000000000131"
},
"quantity": null,
"regCPFDetail": null,
"regDifDetail": null,
"displayPrice": {
"amount": 20.7,
"isocode": "USD",
"amountString": "20.70 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"taxItems": [
{
"code": "4091",
"amount": 0.7,
"codeString": "Tax on Item List Price",
"payDate": 1461314771000,
"refId": "",
"taxPercentage": 3.5,
"note": "Tax Name State tax\nJurisdiction Name : CA\nJurisdiction type :
State\nTax Rate 2.0\nTax Amount 0.4 USD\nTax Name County tax\nJurisdiction Name :
CA\nJurisdiction type : County\nTax Rate 1.5\nTax Amount 0.3 USD",
"customValues": [],
"auditReason": "audit with reason",
REST API Reference | Learning | 1557

"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "iotax000000000006740",
"displayName": null
}
],
"itemStatusDescription": "Registered",
"cancellationPolicyInfo": null,
"subDetail": null,
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": null,
"mGracePeriod": null,
"totalDiscount": 0,
"waivePrerequisite": false,
"groupOrderable": null,
"groupItem": null,
"taxStatus": {
"taxStatus": 200,
"displayName": "Taxable"
},
"totalTax": {
"amount": 0.7,
"isocode": "USD",
"amountString": "0.70 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"organization": null,
"group": null,
"part": {
"id": "dowbt000000000009501",
"displayName": "111"
},
"id": {
"id": "iodwn000000002249323",
"displayName": ""
}
}
],
"skuOrderNo": null,
"marketingCampaign": null,
"packageorder": false,
"billedTo": {
"id": "cmpny000000000003945",
"displayName": "Name saba_ext_org1062"
},
"orderNumber": "00789375",
"orderStatusObj": {
"orderStatus": 100,
"description": "Confirmed",
"name": "Confirmed",
"key": "100"
},
"orderDate": 1461314812000,
"totalDropCharges": null,
"payments": [
{
REST API Reference | Learning | 1558

"gatewayResult": null,
"gatewayTransactionId": "4613148193746322501518",
"gatewayReferenceNo": null,
"amount": {
"amount": 20.7,
"isocode": "USD",
"amountString": "20.70 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": null,
"subscriptionId": null,
"paymentType": {
"paymentType": 11,
"name": "CyberSource",
"displayName": "CyberSource"
},
"subscriptionNo": null,
"trainingUnitAgreement": null,
"purchaseOrder": null,
"paymentStatus": {
"paymentStatus": 1,
"name": "PaymentCompleted",
"displayName": "Payment completed"
},
"learningSubscriptionId": null,
"invoiceNo": null,
"address": {
"componentName": "Address",
"addressString": "Addr1=billing1, Addr2=b2 Addr3=b3, City=bc, State=bs, Zip=bz,
Country=AL",
"email": null,
"addr1": "billing1",
"addr2": "b2",
"city": "bc",
"zip": "bz",
"addr3": "b3",
"incomplete": false,
"tag": 0,
"state": "bs",
"country": "AL",
"owner": null,
"primaryKey": null,
"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
},
"id": "mopay000000000010420",
"owner": {
"id": "intor000000011130229",
"displayName": null
}
}
],
"totalDiscount": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
REST API Reference | Learning | 1559

"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": true,
"canPayBySubscriptionOrder": false,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"totalDropChargesBeforeTax": null,
"totalTaxOnDropCharges": null,
"regCpfDetail": null,
"hasCcPoSplitPayment": false,
"trainingUnitOrder": false,
"totalTax": {
"amount": 0.7,
"isocode": "USD",
"amountString": "0.70 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"profileDiscount": null,
"profileDiscountValue": null,
"taxStatusInfo": {
"code": "200",
"detailCode": null,
"displayName": "Taxable"
},
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"order": {
"id": "intor000000011130229",
"displayName": ""
},
"address": {
"componentName": "Address",
"addressString": "Addr1=saddr1, Addr2=saddr2 Addr3=saddr3, City=scity, State=sstate,
Zip=szip, Country=AS",
"email": null,
"addr1": "saddr1",
"addr2": "saddr2",
"city": "scity",
"zip": "szip",
"addr3": "saddr3",
"incomplete": false,
"tag": 0,
"state": "sstate",
"country": "AS",
"owner": null,
"primaryKey": null,
REST API Reference | Learning | 1560

"locale": null,
"id": null,
"displayName": null,
"updateMetadata": null,
"auditReason": "audit with reason"
}
}

MARK ORDER ITEM AS BILLED

Overview
Marks order item as billed based on the registration ID or the Order Item ID passed as the
parameter.
Note: This API accepts order items in delivered status or orders of type: Cancelled With
Charge Order Item or Training Unit Agreement Order Item only. If not, then an appropriate
error is thrown.
The logged in user needs to have the "Can mark Order Billed" privileges on the "External Order"
component.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/order/billing/:orderItemId_OR_RegistrationId
Note:
This API also accepts Training Unit Agreement Order Item Id:
https://<hostname-api.sabacloud.com>/v1/learning/order/billing/:TUAorderItemId
e.g.: https://<hostname-api.sabacloud.com>/v1/learning/order/billing/iotru000000000003080

Calling Options
Table 410: Calling Options

Name Description Sample Value Data Type Required?

order- Order Item's ID or Re- reg- string Yes


ItemId_OR_Regis- gistration's ID dw000000000004242
trationId
OR
ioreg000000000001140

billNumber The bill number 123 string No

billingDate The bill date 2017-12-12 string No


REST API Reference | Learning | 1561

Name Description Sample Value Data Type Required?

reason Audit reason Reason string No

Request Body

{
"billingDate": "2017-07-11",
"billNumber": "12345678"
}

GET ORDER ITEM BILLING DETAILS

Overview
Get details of the billed information of a particular order item.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/order/billing/:orderItemId_OR_RegistrationId

Calling Options
Table 411: Calling Options

Name Description Sample Value Data Type Required?

order- Order Item's ID or Re- reg- string Yes


ItemId_OR_Regis- gistration ID dw000000000004242
trationId
OR
ioreg000000000001140

Return Values

{
"billingDate": "2017-07-11",
"billNumber": "12345678",
"billingStatusDescription": "Billed",
"billingStatus" : "100"
}
REST API Reference | Learning | 1562

CANCEL AN ORDER

Overview
Cancels an order.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/order/cancel

Calling Options
Table 412: Calling Options

Name Description Default Value Data Type Required?

id Order's ID in- string No


tor000000000200174

order_number Order number 00204724 string No

cancel- Cancel order with false string No


WithCharge charge

reason Order cancel reason Test reason string No

Request Body

{
"order_number":"00204724",
"order_id":"intor000000000200174",
"cancelWithCharge":true,
"reason":"Test reason"
}

Return Values

Status: 204 No Content

Path
REST endpoints for the learning data.
REST API Reference | Learning | 1563

CREATE A NEW PATH

Overview
Creates a certification path.

Requires OAuth
No

URL
http://<hostname-api.sabacloud.com>/v1/path

Calling Options
Table 413: Calling Options

Name Description Default Value Data Type Required?

name Name of the certifica- string Yes


tion path

is_default_path Whether is a default false string No


path of certification

is_path_recalcula- Whether path recalcu- false string No


tion_done lation is done or not

isrecertifica- Whether is a recertific- string No


tion_track ation path

disc_from Discontinuation date 2021-01-01 string No


of a path
REST API Reference | Learning | 1564

Name Description Default Value Data Type Required?

learningModules Learning modules of See the row be- string Yes


path low for sample.

[
{
"is_reqd":true,
"sequence":1,
"notes":"Test module 2",
"name":"Module 1",
"is_waiver":false,
"reqd_no_of_items":1,
"learningInterventions":[
{
"is_reqd":false,
"sequence":1,
"owner_id":null,
"is_waiver":false,
"part_id":{
"displayName":"",
"id":"cours000000000203297"
}
}
]
}
]

Request Body

{
"name": "Path2",
"isrecertification_track": false,
"certification_id": "crtfy000000000200784",
"disc_from": "2021-06-25",
"learningModules": [
{
"name": "Path1 Module1",
"sequence": 1,
"is_reqd": true,
"reqd_no_of_items": 1,
"notes": "Module1 description",
"learningInterventions": [
{
"sequence": 1,
"is_reqd": false,
"part_id": {
"id": "cours000000000200002",
"displayName": "Downloadable Product 3"
},
"is_waiver": false,
"owner_id": null
}
],
"is_waiver": true
}
]
}
REST API Reference | Learning | 1565

Return Values

Status: 201

UPDATE DETAILS OF A PATH

Overview
Updates the details of a path based on the Path's ID and Certification's ID passed as parameter
values.
Note: You can now pass the learning modules attribute in the Request Body to update
modules of a path. If you pass the modules, ensure that you pass all the modules in the path.
This API deletes all those learning modules in the path which are not passed in the Request
Body, however, if you do not pass any modules in the Request Body, the existing modules
will not be deleted.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/path/:id

Calling Options
Table 414: Calling Options

Name Description Sample Value Data Type Required?

id Path's ID string Yes

certification_id Certification's ID crt- string Yes


fy000000000200784

isrecertifica- Is it a recertification false string No


tion_track track

name Name of the path Path101 modified string Yes

sequence Sequence of the string Yes - For ex-


learning module isting learn-
ing modules.
No - For new
learning
modules

is_default_path Is is a default path true string No

disc_from Discontinuation date 2021-01-01 string No


of path
REST API Reference | Learning | 1566

Name Description Sample Value Data Type Required?

learningModules Learning modules of See the row be- string No


path low for sample.

[
{
"learningInterventions":[
{
"owner_id":null,
"sequence":1,
"is_reqd":false,
"part_id":{
"id":"cours000000000200402",
"displayName":"TestCourse3"
},
"is_waiver":false,
"id":"edupl000000000201444"
}
],
"name":"Core Java Chapter2 updated",
"sequence":1,
"is_reqd":true,
"is_waiver":true,
"reqd_no_of_items":1,
"notes":null,
"id":"cegrp000000000201225"
},
{
"learningInterventions":[
{
"owner_id":null,
"sequence":2,
"is_reqd":false,
"part_id":{
"id":"cours000000000200187",
"displayName":""
},
"is_waiver":false
}
],
"name":"Core Java Chapter3 added",
"sequence":2,
"is_reqd":true,
"is_waiver":true,
"reqd_no_of_items":1,
"notes":null
}
]

customValues Custom Values string No

Request Body

{
"name": "Path2 Updated",
"isrecertification_track": false,
REST API Reference | Learning | 1567

"certification_id": "crtfy000000000200784",
"disc_from": "2021-06-25",
"learningModules": [
{
"name": "Path1 Module1",
"sequence": 1,
"is_reqd": true,
"reqd_no_of_items": 1,
"notes": "Module1 description updated",
"learningInterventions": [
{
"sequence": 1,
"is_reqd": false,
"part_id": {
"id": "cours000000000200002",
"displayName": "Downloadable Product 3"
},
"is_waiver": false,
"owner_id": null
},
{
"sequence": 2,
"is_reqd": false,
"part_id": {
"id": "cours000000000200010",
"displayName": "Downloadable Product 4"
},
"is_waiver": false,
"owner_id": null
}
],
"is_waiver": true
},
{
"name": "Path1 Module2",
"sequence": 1,
"is_reqd": true,
"reqd_no_of_items": 1,
"notes": "Module2 description",
"learningInterventions": [
{
"sequence": 1,
"is_reqd": false,
"part_id": {
"id": "cours000000000200005",
"displayName": "Java Coruse"
},
"is_waiver": false,
"owner_id": null
}
],
"is_waiver": true
}
]
}

Return Values

Status: 204 No Content


REST API Reference | Learning | 1568

DELETE A PARTICULAR PATH

Overview
Deletes a path based on the Learning Path's ID that is passed as a parameter value.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/path/:pathId

Calling Options
Table 415: Calling Options

Name Description Sample Value Data Type Required?

pathId Learning Path's ID track000000000201129 string Yes

Return Values

200

Packages
REST endpoints for the learning data.

FIND THE DETAILS OF THE PACKAGES

Overview
Returns the details of the Packages along with the ID, Name and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No

Method
GET
REST API Reference | Learning | 1569

URL
https://<hostname-api.sabacloud.com>/v1/package?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 416: Calling Options

Name Description Default Value Data Type Required?

criteria The search criteria i.e. avail- string Yes


the criteria field with able_from%3Dge%3D2011-
search value. 01-29 01:29:32 AM
Supported search cri-
teria:
• name
• package_no
• available_from
• administrator_id
• gov_owner
• admin_fname
• admin_lname
• category_id
• includeChildCat-
egories
• custom1
• custom2
• custom3
• custom4
• custom5
• custom6
• custom7
• custom8
• custom9
• custom0
• description
• discontinued_from
• domain_id
• no_of_items
• pricing_type
• training_units

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.
REST API Reference | Learning | 1570

Return Values

{
"securityDomain": {
"id": "domin000000000001000",
"displayName": "Domain1"
},
"customValues": {
"custom0": "Sandeep",
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"category": null,
"owners": [
[
"gvern000000000005602",
{
"hasEdit": false,
"hasView": false,
"ownerType": "100",
"sequence": 1,
"parent": {
"id": "pckge000000000001922",
"displayName": null
},
"type": "100",
"owner": {
"id": "emplo000000000001000",
"displayName": "User One"
},
"id": "gvern000000000005602"
}
],
[
"gvern000000000005603",
{
"hasEdit": false,
"hasView": false,
"ownerType": "100",
"sequence": 2,
"parent": {
"id": "pckge000000000001922",
"displayName": null
},
"type": "100",
"owner": {
"id": "persn000000000200487",
"displayName": "Sandeep Chaudhary"
},
"id": "gvern000000000005603"
}
],
[
"gvern000000000005604",
{
"hasEdit": false,
REST API Reference | Learning | 1571

"hasView": false,
"ownerType": "100",
"sequence": 3,
"parent": {
"id": "pckge000000000001922",
"displayName": null
},
"type": "100",
"owner": {
"id": "persn000000000001000",
"displayName": "Joe Makers"
},
"id": "gvern000000000005604"
}
]
],
"audienceType": [],
"keywords": [],
"packageItems": [
{
"packageChoices": [
{
"learningitem_id": {
"id": "cours000000000204716",
"displayName": "106360_Course1"
},
"packageitem_id": {
"id": "pkgit000000000002481",
"displayName": "item1"
},
"sequence": 1,
"deliverytype_id": {
"id": "eqcat000000000000001",
"displayName": "Course"
},
"baseDeliveryType": null,
"id": "pkgch000000000002681"
}
],
"effectivePrice": null,
"package_id": {
"id": "pckge000000000001922",
"displayName": "19Jan_Package"
},
"no_of_choices": 1,
"sequence": 1,
"training_units": 51,
"name": "item1",
"description": "item description",
"id": "pkgit000000000002481"
},
{
"packageChoices": [
{
"learningitem_id": {
"id": "cours000000000202571",
"displayName": "00000000AdobeAttendanceCase"
},
"packageitem_id": {
"id": "pkgit000000000002482",
"displayName": "item2"
},
REST API Reference | Learning | 1572

"sequence": 1,
"deliverytype_id": {
"id": "eqcat000000000000001",
"displayName": "Course"
},
"baseDeliveryType": null,
"id": "pkgch000000000002682"
},
{
"learningitem_id": {
"id": "class000000000204843",
"displayName": "106360_Course2"
},
"packageitem_id": {
"id": "pkgit000000000002482",
"displayName": "item2"
},
"sequence": 2,
"deliverytype_id": {
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"baseDeliveryType": 100,
"id": "pkgch000000000002683"
}
],
"effectivePrice": null,
"package_id": {
"id": "pckge000000000001922",
"displayName": "19Jan_Package"
},
"no_of_choices": 2,
"sequence": 2,
"training_units": 50,
"name": "item2",
"description": null,
"id": "pkgit000000000002482"
}
],
"image": null,
"effectivePrice": null,
"no_of_items": 1,
"pricing_type": "100",
"package_no": "00001561",
"language_id": null,
"displayfor_web": false,
"featured": false,
"available_from": "2019-01-19T00:00:00.000+0000",
"training_units": 101,
"discontinued_from": null,
"priceband_units": null,
"priceband_id": null,
"administrator_id": {
"id": "emplo000000000200707",
"displayName": "ABC"
},
"name": "19Jan_Package",
"description": null,
"id": "pckge000000000001922",
"displayfor_callcenter": false
}
REST API Reference | Learning | 1573

GET ALL PACKAGES

Overview
Returns all Packages for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/package?count=:count&startPage=:startPage

Calling Options
Table 417: Calling Options

Name Description Default Value Data Type Required?

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.

Return Values

{
"totalResults": 79,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"name": "19Jan_Package",
"id": "pckge000000000001922",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001922"

},
{
"name": "20Jan2018",
"id": "pckge000000000001923",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001923"

},
{
"name": "21Jan2018",
"id": "pckge000000000001926",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001926"

},
REST API Reference | Learning | 1574

{
"name": "22Jan2018",
"id": "pckge000000000001928",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001928"

},
{
"name": "23Jan2018",
"id": "pckge000000000001929",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001929"

},
{
"name": "26Jan2018",
"id": "pckge000000000001932",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001932"

},
{
"name": "359PM",
"id": "pckge000000000001963",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001963"

},
{
"name": "aaacou_for_package_with_no_price",
"id": "pckge000000000001092",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001092"

},
{
"name": "aaa_package_in_domain1",
"id": "pckge000000000001089",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001089"

},
{
"name": "AdhocPackageTesting",
"id": "pckge000000000001622",
"href": "https://<hostname>/Saba/api/component/package/pckge000000000001622"

}
],
"facets": []
}

GET THE DETAILS OF A PARTICULAR PACKAGE

Overview
Returns complete information about a package based on the package's ID that is passed as
a parameter value.

Requires OAuth
No
REST API Reference | Learning | 1575

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/package/:id:(:searchFields)

URL (User-friendly)
You can use a user-friendly URL which accepts the packageNo instead of the internal
Package's ID.
https://<hostname-api.sabacloud.com>/v1/package/packageNo=<packageNo>

Calling Options
Table 418: Calling Options

Name Description Default Value Data Type Required?

id Package's ID pckge000000000001818 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "default",
"custom1": "cus1",
"custom2": "2",
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"category": null,
"owners": [
[
"gvern000000000005422",
{
"ownerType": "100",
"sequence": 1,
"hasEdit": false,
"hasView": false,
"parent": {
"id": "pckge000000000002045",
"displayName": null
REST API Reference | Learning | 1576

},
"type": "100",
"owner": {
"id": "emplo000000000001001",
"displayName": "User Two"
},
"id": "gvern000000000005422"
}
]
],
"audienceType": [
{
"offering_temp_id": {
"id": "pckge000000000002045",
"displayName": "packageTestA07A"
},
"audience_type_id": {
"id": "audie000000000001121",
"displayName": "Recruiting"
}
},
{
"offering_temp_id": {
"id": "pckge000000000002045",
"displayName": "packageTestA07A"
},
"audience_type_id": {
"id": "seatc000000000001020",
"displayName": "aud_11"
}
}
],
"keywords": [
{
"id": "kywrd000000000200466",
"displayName": "Java"
},
{
"id": "kywrd000000000200465",
"displayName": "abc"
}
],
"packageItems": [
{
"packageChoices": [
{
"sequence": 1,
"deliverytype_id": {
"id": "eqcat000000000000001",
"displayName": "Course"
},
"learningitem_id": {
"id": "cours000000000200060",
"displayName": "wbt_basic"
},
"packageitem_id": {
"id": "pkgit000000000002525",
"displayName": "item01"
},
"baseDeliveryType": null,
"id": "pkgch000000000002746"
}
REST API Reference | Learning | 1577

],
"effectivePrice": null,
"sequence": 1,
"training_units": 12,
"package_id": {
"id": "pckge000000000002045",
"displayName": "packageTestA07A"
},
"no_of_choices": 1,
"name": "item01",
"description": "item description",
"id": "pkgit000000000002525"
}
],
"image": null,
"effectivePrice": null,
"pricing_type": "100",
"language_id": null,
"available_from": "2013-08-12T00:00:00.000+0000",
"training_units": 12,
"discontinued_from": "2018-11-12T00:00:00.000+0000",
"displayfor_web": true,
"no_of_items": 1,
"featured": true,
"priceband_units": null,
"package_no": "T000A7",
"priceband_id": null,
"administrator_id": {
"id": "emplo000000000200003",
"displayName": "HCADMIN"
},
"name": "packageTestA07A",
"description": "description text",
"id": "pckge000000000002045",
"displayfor_callcenter": true
}

CREATE A NEW PACKAGE

Overview
Creates a new Package

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/package
REST API Reference | Learning | 1578

Calling Options
Table 419: Calling Options

Name Description Default Value Data Type Required?

name Package name package01 string Yes

package_no Package Number 001 string Yes

securityDomain Domain {"id":"dom- string Yes


in000000000000001",
Supports lookup.
"display-
Name":"world"}

description Package description this is a new string No


package

administrator_id Package Adminstrat- {"id":"em- string No


or plo000000000200003",
"display-
Supports lookup.
Name":"Dummy1"}

currency Package Currency {d


"i ":crncy000000000000001",ds
i- string Yes
playName":"USD"}
Supports lookup.

available_from Package stat date 2018-08- string No


12T00:00:00

discontin- Package end date 2019-10- string No


ued_from 12T00:00:00

featured defines whether true string No


package is feature
package or not

displayfor_call- Display for Call Center true string No


center

displayfor_web Display for Web true string No

pricingType Package Pricing Type. 100 number Yes


Pricing Type for Pack-
age: Package level /
Item level
value 100 is for Pack-
age level pricing
value 200 is for item
level pricing
REST API Reference | Learning | 1579

Name Description Default Value Data Type Required?

multicur- Multicurrency Prefer- 1 number No


rency_pref ence
Default value is 1. i.e.
only in selected cur-
rency:
• 1 means selected
currency
• 2 means selected
currency and de-
fault currency
• 3 means all cur-
rency

price Package Price 100.00 string Yes

items Package Items. [{"name":"item01","de- string Yes


scription":"item
Min one item is re-
descrip-
quired for package
tion","train-
1. name: Name of n
ig i _untis"1:0,"prc
i e"1:000
. 0,"choc
i eL-
Item s
it[":{d
"i"c
: ours000000000200060"d ,s
i-
2. price: Price for play-
Item (Required in Name":"course","type":1}]}]
case of Item level
Pricing)
3. currency: currency
for item price. (Re-
quired in case of
Item level Pricing)
4. choiceList: Choice
for an item. Min
one choice is re-
quired for an item.
• Id: Id for class
(can have look-
up with part_no
and delivery-
Type) or course
(can have look-
up with display-
name and ver-
sion)
• type: accepts 1 -
course or 2 -
class.
Note: type is re-
quired for look-
up of
itemChoice
(course, class)
REST API Reference | Learning | 1580

Name Description Default Value Data Type Required?

owners List of Owners [{"id":"em- string No


plo000000000001001","dis-
Supports lookup.
playName":"UT-
WO"}]

customValues Custom Values {"custom0":"001"} string No

audienceType Audience Type [{"d


i ":aude
i 000000000001121",ds
i- string No
play-
Supports lookup.
Name":"aud_1"}]

pack- Package Keywords [{ "displayName": string No


ageKeywords "Java", "ac-
tion":"delete" }]

dropPolicyInfo Drop Policy. All values {"charge":20.00,"char- string No


are required i.e. geType":1,"cur-
charge, chargeType, rency{d
:"ic
":rncy00000000000000d
"1,si-
currency. play-
Name":"USD"}}

category Category [{"display- string No


Name":"test_cat-
Supports lookup.
egory"}]

Request Body

{
"name":"packageTestA06",
"package_no":"T000A6",
"securityDomain”: {
"id":"domin000000000000001",
"displayName":"world"
},
"description":"description text",
"administrator_id": {
"id":"emplo000000000200003",
"displayName":"Dummy1"
},
"currency": {
"id":"crncy000000000000001",
"displayName":"USD"
},
"available_from":"2013-08-12T00:00:00",
"discontinued_from":"2018-11-12T00:00:00",
"featured":true,
"displayfor_callcenter": true,
"displayfor_web":true,
"pricingType":100,
"multicurrency_pref":1,
"price":"10.00",
"training_units":"12",
"items": [
{
"name":"item01",
REST API Reference | Learning | 1581

"description":"item description",
"traininig_units":10,
"price":"100.00",
"choiceList": [
{
"id":"cours000000000200060",
"displayName":"course",
"version":"1",
"type":1
},
{
"id":"cours000000000200060",
"part_no":"cwbt_class",
"deliveryType":"Web-Based",
"type":2
}
]
}
],
"owners": [
{
"id":"emplo000000000001001",
"displayName":"UTWO"
}
],
"customValues": {
"custom1":"cus1",
"custom2":"2",
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0":"default"
},
"audienceType": [
{
"id":"audie000000000001121",
"displayName":"aud_1"
},
{
"displayName":"aud_11"
}
],
"packageKeywords": [
{ "displayName": "Java", "action":"delete" }
],
"dropPolicyInfo": {
"charge":"20.00",
"chargeType":1,
"currency": {
"id":"crncy000000000000001",
"displayName":""
}
},
"category":[
{
"displayName":"test_category"
}
REST API Reference | Learning | 1582

]
}

Return Values

{
"id": "pckge000000000002045",
"displayName": "packageTestA07",
"href": "https://<hostname>/v1/package/pckge000000000002045"
}

UPDATE THE DETAILS OF A PACKAGE

Overview
Update a Package

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/package/:packageid

URL (User-friendly)
You can use a user-friendly URL which accepts the packageNo instead of the internal
Package's ID.
https://<hostname-api.sabacloud.com>/v1/package/packageNo=<packageNo>

Calling Options
Table 420: Calling Options

Name Description Default Value Data Type Required?

packageid Package's ID pckge000000000001818 string Yes

name Package name package01 string No

package_no Package Number 001 string No

securityDomain Domain {"id":"dom- string No


in000000000000001",
Supports lookup.
"display-
Name":"world"}

description Package description this is a new string No


package
REST API Reference | Learning | 1583

Name Description Default Value Data Type Required?

administrator_id Package Adminstrat- {"id":"em- string No


or plo000000000200003",
"display-
Supports lookup.
Name":"Dummy1"}

currency Package Currency {d


"i ":crncy000000000000001",ds
i- string No
playName":"USD"}
Supports lookup.

available_from Package stat date 2018-08- string No


12T00:00:00

discontin- Package end date 2019-10- string No


ued_from 12T00:00:00

featured defines whether true string No


package is feature
package or not

displayfor_call- Display for Call Center true string No


center

displayfor_web Display for Web true string No

pricingType Package Pricing Type. 100 string No


Pricing Type for Pack-
age: Package level /
Item level
value 100 is for Pack-
age level pricing
value 200 is for item
level pricing

multicur- Multicurrency Prefer- 1 string No


rency_pref ence.
Default value is 1. i.e.
only in selected cur-
rency:
• 1 means selected
currency
• 2 means selected
currency and de-
fault currency
• 3 means all cur-
rency
update supports val-
ues 1 and 3 only.

price Package Price 100.00 string No


REST API Reference | Learning | 1584

Name Description Default Value Data Type Required?

items Package Items. [{"name":"item01","de- string No


scription":"item
Min one item is re-
descrip-
quired for package
tion","train-
1. name: Name of n
ig i _untis"1:0,"prc
i e"1:000
. 0,"choc
i eL-
Item s
it[":{d
"i"c
: ours000000000200060"d ,s
i-
2. price: Price for play-
Item (Required in Name":"course","type":1}]}]
case of Item level
Pricing)
3. currency: currency
for item price. (Re-
quired in case of
Item level Pricing)
4. choiceList: Choice
for an item. Min
one choice is re-
quired for an item.
• Id: Id for class
(can have look-
up with part_no
and delivery-
Type) or course
(can have look-
up with display-
name and ver-
sion)
• type: accepts 1 -
course or 2 -
class.
Note: type is re-
quired for look-
up of
itemChoice
(course, class)

owners List of Owners [{"id":"em- string No


plo000000000001001","dis-
Supports lookup.
playName":"UT-
WO"}]

customValues Custom Values 001 string No

audienceType Audience Type [{"d


i ":aude
i 000000000001121",ds
i- string No
play-
Supports lookup.
Name":"aud_1"}]

pack- Package Keywords [{ "displayName": string No


ageKeywords "Java", "ac-
tion":"delete" }]
REST API Reference | Learning | 1585

Name Description Default Value Data Type Required?

dropPolicyInfo Drop Policy. All values {"charge":20.00,"char- string No


are required i.e. geType":1,"cur-
charge, chargeType, rency{d
:"ic
":rncy00000000000000d
"1,si-
currency. play-
Name":"USD"}}

category Category [{"display- string No


Name":"test_cat-
Supports lookup.
egory"}]

Request Body

{
"name":"packageTestA06",
"package_no":"T000A6",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"description":"description text",
"administrator_id":{
"id":"emplo000000000200003",
"displayName":"Dummy1"
},
"available_from":"2013-08-12T00:00:00",
"discontinued_from":"2018-11-12T00:00:00",
"featured":true,
"displayfor_callcenter":true,
"displayfor_web":true,
"pricingType":100,
"multicurrency_pref":1,
"price":"10.00",
"training_units":"12",
"items":[
{
"name":"item01",
"description":"item description",
"traininig_units":10,
"price":"100.00",
"action":"delete",
"choiceList":[
{
"id":"cours000000000200060",
"displayName":"course",
"type":1,
"action":"delete",

}
]
}
],
"owners":[
{
"id":"emplo000000000001001",
"displayName":"UTWO",
"action":"delete"
}
REST API Reference | Learning | 1586

],
"customValues":{
"custom1":"cus1",
"custom2":"2",
"custom3":null,
"custom4":null,
"custom5":null,
"custom6":null,
"custom7":null,
"custom8":null,
"custom9":null,
"custom0":"default"
},
"audienceType":[
{
"id":"audie000000000001121",
"displayName":"aud_1"
},
{
"displayName":"aud_11",
"action":"delete"
}
],
"packageKeywords":[
{ "displayName": "Java", "action":"delete" }
],
"dropPolicyInfo":{
"charge":"20.00",
"chargeType":1,
"action":"delete",
"currency":{
"id":"crncy000000000000001",
"displayName":""
}
},
"category":[
{
"displayName":"test_category",
"action":"delete"
}
]
}

DELETE PACKAGE

Overview
Delete particular package.

Requires OAuth
No

Method
DELETE
REST API Reference | Learning | 1587

URL
https://<hostname-api.sabacloud.com>/v1/package/:packageid

URL (User-friendly)
You can use a user-friendly URL which accepts the packageNo instead of the internal
Package's ID.
https://<hostname-api.sabacloud.com>/v1/package/packageNo=<packageNo>

Calling Options
Table 421: Calling Options

Name Description Default Value Data Type Required?

packageid Package Id pckge000000000001818 string Yes

Purchase Order
REST endpoints for the learning data.

GET ALL PURCHASE ORDERS

Overview
Returns all Purchase Orders for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"id": "pordr000000000001040",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001040"
},
{
REST API Reference | Learning | 1588

"id": "pordr000000000001044",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001044"
},
{
"id": "pordr000000000001367",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001367"
},
{
"id": "pordr000000000001048",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001048"
},
{
"id": "pordr000000000001060",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001060"
},
{
"id": "pordr000000000001081",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001081"
},
{
"id": "pordr000000000001082",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001082"
},
{
"id": "pordr000000000001126",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001126"
},
{
"id": "pordr000000000001142",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001142"
},
{
"id": "pordr000000000001145",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001145"
}
],
"totalResults": 112,
"hasMoreResults": true,
"itemsPerPage": 10
}

FIND DETAILS OF PURCHASE ORDER

Overview
Returns the details of the purchase order along with the ID and the Deeplink URL based on
the provided search criteria.

Requires OAuth
No
REST API Reference | Learning | 1589

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 422: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. po_no string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for 12345 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "pordr000000000001060",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001060"
}
],
"totalResults": 1,
"startIndex": 1
}
REST API Reference | Learning | 1590

FIND DETAILS OF PURCHASE ORDER (Using POST - Range based


search)

Overview
Returns the details of the purchase order along with the ID and the Deeplink URL based on
the provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 423: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search criteria i.e. initial_cr string Yes


name the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

conditions > value The search value for 10 string Yes


the specified search
criteria.

conditions > oper- The search operator =gt= string Yes


ator such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=
REST API Reference | Learning | 1591

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions": [
{
"name": "initial_cr",
"operator": "=gt=",
"value": "10"
},
{
"name": "initial_cr",
"operator": "=lt=",
"value": "1000"
}
]
}

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "pordr000000000001081",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001081"
},
{
"id": "pordr000000000001060",
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001060"
}
],
"totalResults": 2,
"startIndex": 1
}

GET DETAILS OF A PARTICULAR PURCHASE ORDER

Overview
Returns complete information about a purchase order based on the PO's ID that is passed
as a parameter value.
REST API Reference | Learning | 1592

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the po_no instead of the internal
PurchaseOrder's ID.
https://<hostname-api.sabacloud.com>/v1/purchaseorder/po_no%3D<PurchaseOrderNo>

Calling Options
Table 424: Calling Options

Name Description Sample Value Data Type Required?

id PurchaseOrder's ID pordr000000000001000 string Yes

Return Values

{
"expiry_dt": null,
"po_no": "00001060",
"acct_id": {
"id": "accnt000000000001348",
"displayName": "00001428"
},
"currency_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"amt_booked": 10,
"terms": "0",
"po_status": "100",
"initial_cr": 100,
"external_po_no": "001",
"contact_id": null,
"organization": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers"
},
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
REST API Reference | Learning | 1593

"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "pordr000000000001060"
}

GET META DETAILS OF PURCHASE ORDER

Overview
Returns the meta details of the purchase order.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder/meta

Return Values

{
"sampleData": {
"po_no": "",
"acct_id": null,
"currency_id": null,
"amt_booked": 0,
"terms": "0",
"po_status": "100",
"initial_cr": 0,
"external_po_no": null,
"contact_id": null,
"expiry_dt": null,
"organization": null,
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000000001"
},
"name": "Purchase Order",
"displayName": "Purchase Order",
"attributes": [
{
"name": "acct_id",
"displayName": "Account",
"description": null,
"isRequired": true,
REST API Reference | Learning | 1594

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "amt_booked",
"displayName": "Amount Booked",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "contact_id",
"displayName": "Contact",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "currency_id",
"displayName": "Currency",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "expiry_dt",
"displayName": "Expiration Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "external_po_no",
"displayName": "Purchase Order Number",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "id",
REST API Reference | Learning | 1595

"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "initial_cr",
"displayName": "Purchase Order Amount",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "organization",
"displayName": "Organization",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "po_no",
"displayName": "Purchase Order ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "po_status",
"displayName": "Purchase Order Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/sysli000000000000101/values"
},
"display": true
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Learning | 1596

"type": "object",
"isReference": true,
"display": true
},
{
"name": "status_flags",
"displayName": "Status Flags",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 10,
"maximumLength": 10,
"isSearchFilter": false
},
{
"name": "terms",
"displayName": "Terms",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/sysli000000000000102/values"

},
"display": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
REST API Reference | Learning | 1597

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom7",
REST API Reference | Learning | 1598

"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

CREATE A NEW PURCHASE ORDER

Overview
Allows creating a new purchase order.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder
REST API Reference | Learning | 1599

Calling Options
Table 425: Calling Options

Name Description Sample Value Data Type Required?

external_po_no External Purchase Or- 00111 string Yes


der Number

po_no Purchase Order Num- string No


ber

organization Account for PO {"id": object Yes


"cmpny000000000200020",
Supports lookup (Or-
"displayName":
ganization).
"CEOrg1"}

terms Terms for PO 0 string Yes

contact_id Contact for PO {"id": "per- object No


sn000000000200147",
Supports lookup (Per-
"displayName": "a
son).
one"}

expiry_dt Expiry date for PO 2016-04-30 string No

po_status Status for PO 100 string Yes

initial_cr Purchase Order 10000 string Yes


Amount

amt_booked Amount Booked 0 string No

currency_id Currency for PO object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"USD"}

customValues Custom values {"custom0": string No


"po1custom0"}

securityDomain The domain for the object Yes


facility {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "displayName":
"world"
}

Request Body

{
"expiry_dt": "2016-04-30",
"currency_id": {
REST API Reference | Learning | 1600

"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"amt_booked": 10,
"terms": "0",
"po_status": "100",
"initial_cr": 100,
"external_po_no": "00111",
"contact_id": null,
"organization": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers"
},
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

The lookup support is now available for this REST API.


JSON Attribute UI Attribute Component Name

organization Organization number / Organ- Organization, External


ization name

currency_id ISO code of currency Currency

contact_id Username of Person Person, External

securityDomain Domain name Domain

Return Values

{
"id": "pordr000000000001192",
"displayName": null,
"href": "https://<hostname-api.sabacloud.com>/v1/purchaseorder/pordr000000000001192"
}

UPDATE DETAILS OF A PURCHASE ORDER

Overview
Allows updating an existing purchase order based on the PO's ID.
REST API Reference | Learning | 1601

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the po_no instead of the internal
PurchaseOrder's ID.
https://<hostname-api.sabacloud.com>/v1/purchaseorder/po_no%3D<PurchaseOrderNo>

Calling Options
Table 426: Calling Options

Name Description Sample Value Data Type Required?

id PO's ID pordr000000000001000 string Yes

external_po_no External Purchase Or- CO1PO1 string No


der Number

organization Account for PO {"id": object Yes


"cmpny000000000200020",
Supports lookup (Or-
"displayName":
ganization).
"CEOrg1"}

terms Terms for PO 0 string No

contact_id Contact for PO {"id": "per- object No


sn000000000200147",
Supports lookup (Per-
"displayName": "a
son).
one"}

expiry_dt Expiry date for PO 2016-04-30 string No

po_status Status for PO 100 string No

initial_cr Purchase Order 10000 string No


Amount

amt_booked Amount Booked 0 string No

currency_id Currency for PO object No


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"USD"}

customValues Custom values string No


REST API Reference | Learning | 1602

Name Description Sample Value Data Type Required?

securityDomain The domain for the PO object No


{
Supports lookup (Do- "id": "dom►
main). in000000000000001",
"displayName":
"world"
}

Request Body

{
"expiry_dt": "2016-04-30",
"currency_id": {
"id": "crncy000000000000167",
"displayName": "USD"
},
"amt_booked": 10,
"terms": "0",
"po_status": "100",
"initial_cr": 100,
"external_po_no": "00111",
"contact_id": null,
"organization": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers"
},
"customValues": {
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

The lookup support is now available for this REST API.


JSON Attribute UI Attribute Component Name

organization Organization number / Organ- Organization, External


ization name

currency_id ISO code of currency Currency

contact_id Username of Person Person, External

securityDomain Domain name Domain


REST API Reference | Learning | 1603

DELETE DETAILS OF A PARTICULAR PURCHASE ORDER

Overview
Delete a purchase order based on the PO's ID that is passed as a parameter value.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/purchaseorder/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the po_no instead of the internal
PurchaseOrder's ID.
https://<hostname-api.sabacloud.com>/v1/purchaseorder/po_no%3D<PurchaseOrderNo>

Calling Options
Table 427: Calling Options

Name Description Sample Value Data Type Required?

id PurchaseOrder's ID pordr000000000001000 string Yes

Price List
REST endpoints for the learning data.

GET DETAILS OF PRICELIST

Overview
Returns details of the price list.

Requires OAuth
No

Method
GET
REST API Reference | Learning | 1604

URL
https://<hostname-api.sabacloud.com>v1/learning/pricelist/:id

Calling Options
Table 428: Calling Options

Name Description Default Value Data Type Required?

id ID of PriceList string No

Return Values

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "p1",
"owner_id": {
"id": "audie000000000000002",
"displayName": "External"
},
"start_date": "2020-08-26T00:00:00.000+0000",
"end_date": null,
"id": "prlst000000000003103"
}

SEARCH PRICELIST BY CRITERIA

Overview
Searches the price list with criteria such as owner.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1
/pricelist?q=(:criteria)&count=:count&startPage=:startPage
REST API Reference | Learning | 1605

Calling Options
Table 429: Calling Options

Name Description Default Value Data Type Required?

criteria The search criteria i.e. string Yes


owner%3D%3D
the criteria field name
with search value. audie000000000000002

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.

Return Values

{
"totalResults": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "p1",
"owner_id": {
"id": "audie000000000000002",
"displayName": "External"
},
"start_date": "2020-08-26T00:00:00.000+0000",
"end_date": null,
"id": "prlst000000000003103"
}
],
"facets": []
}

Price List Entry


REST endpoints for the learning data.
REST API Reference | Learning | 1606

GET DETAILS OF PRICELISTENTRY ON COURSE, DELIVERY MODE,


OFFERING, PACKAGE, TRAINING UNIT

Overview
Returns details of the price list entry on course, delivery mode, offering, package, training
unit.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>v1/learning/pricelistentry/:id

Calling Options
Table 430: Calling Options

Name Description Default Value Data Type Required?

id ID of PriceListEntry string No

Return Values

{
"id": "plent000000000046771",
"pricelist": {
"displayName": "Master Price List",
"id": "prlst000000000000004"
},
"currency": {
"displayName": "US Dollars",
"id": "crncy000000000000167"
},
"part": {
"displayName": "pricelist-course",
"id": "cours000000000040546"
},
"base": false,
"overridden": false,
"amount": 10
}
REST API Reference | Learning | 1607

SEARCH PRICELIST ENTRY BY CRITERIA

Overview
Searches the various price list entries with criteria such as title, part_id, currency_id,
currency_iso, currency_name, pricelist_id, owner_id and pricelist_name.
Note: This API supports retrieving overridden or inherited prices (such as price defined at
course level, overridden at delivery mode level or at class level) at every level. To do so, use
the showInherited==true criteria as an additional condition to retrieve all such prices.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1
/pricelistentry?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 431: Calling Options

Name Description Default Value Data Type Required?

criteria The search criteria i.e. part_id%3D%3D string Yes


the criteria field name
cours000000000001020
with search value.

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.

Return Values

{
"totalResults": 10,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 1,
"results": [
{
"id": "plent000000000038780",
"pricelist": {
"id": "prlst000000000003103",
"displayName": "Price List External"
},
"currency": {
REST API Reference | Learning | 1608

"id": "crncy000000000000142",
"displayName": "Swiss Francs"
},
"part": {
"id": "dowbt000000000034739",
"displayName": "Content view course"
},
"base": false,
"overridden": false,
"amount": 12,
"audienceType": {
"id": "audie000000000000002",
"displayName": "External"
},
"href":
"https://<hostname-api.sabacloud.com>/v1/PriceListEntry/plent000000000038780"
}
],
"facets": []
}

SEARCH PRICELIST ENTRY BY CRITERIA POST BASED SEARCH

Overview
Searches the various price list entries with criteria such as title, part_id, currency_id,
currency_iso, currency_name, pricelist_id, owner_id and pricelist_name.
Note: This API supports retrieving overridden or inherited prices (such as price defined at
course level, overridden at delivery mode level or at class level) at every level. To do so, use
the showInherited==true criteria as an additional condition to retrieve all such prices.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/pricelistentry/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 432: Calling Options

Name Description Default Value Data Type Required?

conditions Search conditions [{"name": string Yes


"part_id", "operat-
or" : "==","value" :
"cours000000000001020"}]

count 10 string No

startPage 1 string No
REST API Reference | Learning | 1609

Return Values

{
"totalResults": 10,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 1,
"results": [
{
"id": "plent000000000038780",
"pricelist": {
"id": "prlst000000000003103",
"displayName": "Price List External"
},
"currency": {
"id": "crncy000000000000142",
"displayName": "Swiss Francs"
},
"part": {
"id": "dowbt000000000034739",
"displayName": "Content view course"
},
"base": false,
"overridden": false,
"amount": 12,
"audienceType": {
"id": "audie000000000000002",
"displayName": "External"
},
"href":
"https://<hostname-api.sabacloud.com>/v1/PriceListEntry/plent000000000038780"
}
],
"facets": []
}

CREATE A NEW PRICELIST ENTRY FOR A LEARNING ITEM

Overview
Allows creating a new price list entry for course, delivery mode, offering, package and training
unit.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/learning/pricelistentry
REST API Reference | Learning | 1610

Calling Options
Table 433: Calling Options

Name Description Default Value Data Type Required?

pricelist The pricelist for the {"id": string Yes


learning item "prlst000000000001021",
"displayName":
"PriceList3"}

currency The currency for price {"id": string Yes


list entry "crncy000000000000001",
"displayName":
"US Dollars"}

part The ID for the learning {"id": string Yes


item "cours000000000001000",
"displayName":
"Course1"}

amount Amount 10 string Yes

Request Body

{
"pricelist": {
"displayName": "Master Price List",
"id": "prlst000000000000004"
},
"currency": {
"displayName": "USD",
"id": "crncy000000000000167"
},
"part": {
"displayName": "pricelist-course",
"id": "cours000000000040546"
},
"base": false,
"overridden": false,
"amount": 10
}

UPDATE PRICELIST ENTRY FOR A LEARNING ITEM

Overview
Allows updating an existing price list entry for course, delivery mode, offering, package and
training unit.

Requires OAuth
No
REST API Reference | Learning | 1611

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/pricelistentry/:id

Calling Options
Table 434: Calling Options

Name Description Default Value Data Type Required?

id ID of Pricelistentry string Yes

pricelist The pricelist for the {"id": string Yes


learning item "prlst000000000001021",
"displayName":
"PriceList3"}

currency The currency for price {"id": string Yes


list entry "crncy000000000000001",
"displayName":
"US Dollars"}

part The ID for the learning {"id": string Yes


item "cours000000000001000",
"displayName":
"Course1"}

amount Amount 10 string Yes

Request Body

{
"pricelist": {
"displayName": "Master Price List",
"id": "prlst000000000000004"
},
"currency": {
"displayName": "USD",
"id": "crncy000000000000167"
},
"part": {
"displayName": "pricelist-course",
"id": "cours000000000040546"
},
"base": false,
"overridden": false,
"amount": 10
}
REST API Reference | Learning | 1612

DELETE A PARTICULAR PRICELIST ENTRY

Overview
Allows deleting an existing price list entry.

Requires OAuth
No

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/learning/pricelistentry/:id

Calling Options
Table 435: Calling Options

Name Description Default Value Data Type Required?

id ID of Pricelistentry string Yes

Resource
REST endpoints for the learning data.

SEARCH RESOURCE BASED ON TYPE

Overview
Searches resource based on type.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resource?type=:resourcetype&count=:count&startPage=:startPage
REST API Reference | Learning | 1613

Calling Options
Table 436: Calling Options

Name Description Sample Value Data Type Required?

resourcetype person enumerated Yes


REST API Reference | Learning | 1614

Name Description Sample Value Data Type Required?

Desired resourcetype
Searching resource
list depends upon the
specified resource
type:
• person
• equipments
• inventory
• classrooms
The filter parameter
are different for each
type:
Person:
• resource_name is
the name of person
(username / first-
name / lname)
q=(re-
source_name%3d%3dP001)
• location
q=(loca-
tion%3d%3dPune)

• available_re-
sources_offering
is the offering
q=(available_re-
sources_offer-
n
i g%3d%3dca
l ss00000000000170)
Classrooms:
• name
q=(name%3d%3dCa
l ssRomm101)
• location_name
q=(loca-
tion_name%3d%3dPune)
• disabled
q=(disabled=false)
Permissible values:
true/false
• capacity
q=(capa-
city%3d%3d30)
• room_no
REST API Reference | Learning | 1615

Name Description Sample Value Data Type Required?

q=(room_no%3D%3D001003)

Inventory:
• name
q=(name%3d%3dIn-
ventoryResource)
• equip_cat_id
q=(equip_cat_id%3d%3dBook
Offering)
• manufacturer_id
q=(manufac-
turer_id%3d%3dMan-
ufacturer_Dell)
• quantity
q=(quant-
ity%3d%3d9)
• avail_from
• disc_from
• vendor_id
Equipment:
• equip_no
q=(equip_no%3d%3dGUI-
TAR_EQUIPMENT)
• catalog_id
q=(cata-
log_id%3d%3dIn-
structor Laptop)
• location_id
q=(loca-
tion_id%3d%3dPune)
• status
q=(status%3d%3dAVL)
Permissible values:
AVL/DON/REP/DIS/REC
• manufacturer_id

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Learning | 1616

Return Values

{
"facets": null,
"startIndex": 1,
"results": [
{
"name": "user test1",
"id": "emplo000000000022475",
"href": "http:\\localhost\v1\learning\resource\emplo000000000022475"
}
],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

SEARCH RESOURCE BASED ON TYPE AND CRITERIA

Overview
Searches resource based on type and criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resource?type=:resourcetype&q=(:criteria)&count=:count&startPage=:startPage
REST API Reference | Learning | 1617

Calling Options
Table 437: Calling Options

Name Description Sample Value Data Type Required?

resourcetype person enumerated Yes


REST API Reference | Learning | 1618

Name Description Sample Value Data Type Required?

Desired resourcetype.
Searching resource
list depends upon the
specified resource
type:
• person
• equipments
• inventory
• classrooms
The filter parameter
are different for each
type:
Person:
• resource_name is
the name of person
(username / first-
name / lname)
q=(re-
source_name%3d%3dP001)
• location
q=(loca-
tion%3d%3dPune)

• available_re-
sources_offering
is the offering
q=(available_re-
sources_offer-
n
i g%3d%3dca
l ss00000000000170)
Classrooms:
• name
q=(name%3d%3dCa
l ssRomm101)
• location_name
q=(loca-
tion_name%3d%3dPune)
• disabled
q=(disabled=false)
Permissible values:
true/false
• capacity
q=(capa-
city%3d%3d30)
• room_no
REST API Reference | Learning | 1619

Name Description Sample Value Data Type Required?

q=(room_no%3D%3D001003)

Inventory:
• name
q=(name%3d%3dIn-
ventoryResource)
• equip_cat_id
q=(equip_cat_id%3d%3dBook
Offering)
• manufacturer_id
q=(manufac-
turer_id%3d%3dMan-
ufacturer_Dell)
• quantity
q=(quant-
ity%3d%3d9)
• avail_from
• disc_from
• vendor_id
Equipment:
• equip_no
q=(equip_no%3d%3dGUI-
TAR_EQUIPMENT)
• catalog_id
q=(cata-
log_id%3d%3dIn-
structor Laptop)
• location_id
q=(loca-
tion_id%3d%3dPune)
• status
q=(status%3d%3dAVL)
Permissible values:
AVL/DON/REP/DIS/REC
• manufacturer_id

criteria Search criteria loca- string Yes


tion%3d%3dPune

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1620

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": null,
"startIndex": 1,
"results": [
{
"name": "user test1",
"id": "emplo000000000022475",
"href": "http:\\localhost\v1\learning\resource\emplo000000000022475"
}
],
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

GET RESOURCE DETAILS

Overview
Gets the resource details.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resource/:resourceId

Calling Options
Table 438: Calling Options

Name Description Sample Value Data Type Required?

resourceId Resource's ID string Yes

Return Values

{
"@type": "com.saba.learning.services.resource.ResourceInfoDetail",
REST API Reference | Learning | 1621

"resourceType": 200,
"qualified": false,
"personProfile": {
"@type": "persndto",
"personId": "emplo000000000022475",
"pictureURL":
"http:\\<hostname-api.sabacloud.com>\assets\spf\skin\wireframe\media\icons\summit\39ProfileMale.png",

"timeDiff": 0,
"guid": "01FEBBE185B6BB6FE0530100007FB785",
"fullName": "user test1"
},
"addInfo": {
"@type": "map"
},
"resourceStartDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInUserTimeZone": "12:00 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "06\24\1997",
"date": 867090600000,
"locale": "06\24\1997"
},
"resourceEndDate": null,
"resourcePictureURL":
"http:\\<hostname-api.sabacloud.com>\assets\spf\skin\wireframe\media\icons\summit\39ProfileMale.png",

"resourceLocation": null,
"resourceFacility": null,
"resourceRates": [
"list",
[
{
"@type": "com.saba.currency.Money",
"amount": [
"java.math.BigDecimal",
100
],
"currency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000167",
"displayName": null
},
"isocode": "USD",
"string": "100 USD"
}
]
],
"resourceCatalog": null,
"disabled": false,
"resource": {
"@type": "ServiceObjectReference",
"id": "emplo000000000022475",
"displayName": "user test1"
},
"type": "TYPE_PERSON"
}
REST API Reference | Learning | 1622

SEARCH PURPOSE LIST

Overview
Retreives a list of purpose for the given type: person/equipments/inventory/classrooms.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resource/purpose?type=:resourcetype&count=:count&startPage=:startPage

Calling Options
Table 439: Calling Options

Name Description Sample Value Data Type Required?

resourcetype The name of the de- person enumerated Yes


sired component.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 1,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"name": "1- Instructor",
"id": "recat000000000000504",
"href":
"https:\\<hostname-api.sabacloud.com>\Saba\api\businesscomponent\learning\resource\purpose\recat000000000000504"

}
],
"facets": null,
"hasMoreResults": false
}
REST API Reference | Learning | 1623

GET PURPOSE DETAILS

Overview
Gets the purpose detail.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resource/purpose/:purposeId

Calling Options
Table 440: Calling Options

Name Description Sample Value Data Type Required?

purposeId Purpose's ID string Yes

Return Values

GET RESOURCE FOR A GIVEN OFFERING

Overview
Retreives a list of assigned resources IDs and the URLs for getting details about the resource.
:offeringId refers to offering ID against whom resource list is to be fetched.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId/assignedresources?includeDetails=:includeDetails

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/<offeringType>/<offeringNumber>/assignedresources?includeDetails=:includeDetails
REST API Reference | Learning | 1624

Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 441: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID string Yes

includeDetails Returns the list of all true string No


resources for a class
with all the details for
a resource as dis-
played in UI.

Return Values

[
"list",
[
{
"@type": "org.codehaus.jackson.node.ObjectNode",
"id": "assnm000000000001050",
"offeringId": "class000000000002821",
"href":
"http:\\<hostname-api.sabacloud.com>\v1\learning\resourceassign\assnm000000000001050"

}
]
]

Return Values (includeDetails=true)

[
"list",
[
{
"@type": "com.fasterxml.jackson.databind.node.ObjectNode",
"quantity": 1,
"resourceNo": "P4-001",
"purpose": {
"displayName": "2 CPU UltraSparc",
"id": "recat000000000000006"
},
"resource": {
"rate": "USD 100",
"displayName": "00200000",
"id": "equip000000000200000"
},
"id": "assnm000000000200409",
"offeringId": "class000000000201618",
"resourceType": "Equipments",
"href":
REST API Reference | Learning | 1625

"http://localhost/Saba/api/businesscomponent/learning/resourceassign/assnm000000000200409"

},
{
"@type": "com.fasterxml.jackson.databind.node.ObjectNode",
"quantity": 1,
"resourceNo": "001000",
"purpose": {
"displayName": "Owner",
"id": "recat000000000000009"
},
"resource": {
"rate": "USD 50",
"qualificationLevel": null,
"displayName": "User One",
"id": "emplo000000000001000"
},
"id": "assnm000000000200407",
"offeringId": "class000000000201618",
"resourceType": "Person",
"href": "http://localhost/Saba/api/businesscomponent
/learning/resourceassign/assnm000000000200407"
}
]
]

GET SESSION FOR A GIVEN OFFERING

Overview
Gets the session for a given offering.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId/session

Calling Options
Table 442: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID string Yes


REST API Reference | Learning | 1626

Return Values

[
"list",
[
{
"@type": "org.codehaus.jackson.node.ObjectNode",
"endDate": {
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "20.06.2016",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"date": 1466395200000,
"locale": "20.06.2016"
},
"startDate": {
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "20.06.2016",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"date": 1466395200000,
"locale": "20.06.2016"
},
"title": null,
"startTime": "09:00",
"endTime": "17:00",
"id": "timel000000000020637",
"href":
"https:\\<hostname-api.sabacloud.com>\v1\learning\resourceassign\class000000000007886\session\timel000000000020637"

}
]
]

RETRIEVE DETAILS OF AN INDIVIDUAL SESSION

Overview
Retrieves the details of an individual session.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId/session/:sessionId
REST API Reference | Learning | 1627

Calling Options
Table 443: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID string Yes

sessionId Session's ID string Yes

Return Values

{
"@type": "com.saba.rest.businesscomponent.WeeklyTimeElementDetailDTO",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "20.06.2016",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"date": 1466395200000,
"locale": "20.06.2016"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "20.06.2016",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"date": 1466395200000,
"locale": "20.06.2016"
},
"title": null,
"startTime": "09:00",
"endTime": "17:00",
"id": "timel000000000020637"
}

RETRIEVE ASSIGNMENT DETAILS

Overview
Retrieves the assignment details.

Requires OAuth
No

Method
GET
REST API Reference | Learning | 1628

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:assignId?ignoreConflicts=true

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID and the resourceName instead of the internal Assignment's ID.
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/
<offeringType>/<offeringNumber>/<resourceType>/
<resourceName>?ignoreConflicts=true
Note: Resource type can be (person, room, inventory or equipment). For custom delivery
types, delivery type name itself would be considered as offering type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 444: Calling Options

Name Description Sample Value Data Type Required?

assignId Assignment's ID string Yes

Return Values

{
"@type": "com.saba.rest.businesscomponent.impl.ResourceAssignmentRESTDTO",
"id": "assnm000000000200407",
"offering": {
"@type": "ServiceObjectReference",
"id": "class000000000201618",
"displayName": "111ILT102"
},
"resource": {
"@type": "ServiceObjectReference",
"id": "emplo000000000001000",
"displayName": "User One"
},
"purpose": {
"@type": "ServiceObjectReference",
"id": "recat000000000000009",
"displayName": "Owner"
},
"quantity": 1,
"role": null,
"selectSessions": [
"java.util.HashSet",
[
{
"@type": "ServiceObjectReference",
"id": "timel000000000004664",
"displayName": ""
}
]
],
REST API Reference | Learning | 1629

"unSelectSessions": null,
"resourcetype": "Person",
"allSessions": false,
"resourceNo": "001000"
}

ASSIGN A RESOURCE TO AN OFFERING

Overview
Assigns a resource to an offering depending on the parameters provided in the request
JSON.
The Request Body should contain the following mandatory parameters:
1. Purpose ID
2. Resource ID: person/inventory/classroom/equipment
3. Session Set: Set of IDs of the session within the offering.
4. Role: {100/200}. This is applicable for Virtual class and Blended class to choose role for
person resource as lead/copresentor
5. Quantity: 1 for person/classroom/equipment and positive value for inventory eg. quantity
= 10
Note: If a resource has conflict, it would not be assigned.To handle such scenario use the
"ignoreConflicts" flag to ignore conflicts in sessions possible value for this flag are true/false.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId?ignoreConflicts=true

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID.
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/<offeringType>/<offeringNumber>?ignoreConflicts=true
Note: For custom delivery types, delivery type name itself would be considered as offering
type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.
REST API Reference | Learning | 1630

Calling Options
Table 445: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID string Yes

purpose Purpose re- string Yes


cat000000000000503

resource Resource Person User em- string Yes


plo000000000022474

selectSessions Select the sessions string Yes

role role 100 integer Yes

quantity Quantity 1 integer Yes

@type @type com.saba.rest.busi- string Yes


nesscompon-
ent.impl.Resour-
ceAssignmen-
tRESTDTO

Request Body

{
"quantity": 1,
"purpose": {
"@type": "ServiceObjectReference",
"displayName":"Instructor"
},
"resource": {
"@type": "ServiceObjectReference",
"id":"emplo000000000001000"
},
"resourcetype":"Person",
"@type": "com.saba.rest.businesscomponent.impl.ResourceAssignmentRESTDTO",
"selectSessions": [
"java.util.HashSet",
[
{
"@type": "ServiceObjectReference",
"id": "timel000000000013671"
}
]
],
"role":100
}

Return Values

{
id: "assnm000000000001215"
offeringId: "class000000000002821"
REST API Reference | Learning | 1631

href: "http://localhost/v1/learning/resourceassign/assnm000000000001215"
}

UPDATE AN EXISTING RESOURCE ASSIGNMENT

Overview
Updates an existing resource assignment.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:assignId?ignoreConflicts=true

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID and the resourceName instead of the internal Assignment's ID.
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/<offeringType>/<offeringNumber>/<resourceType>/<resourceName>?ignoreConflicts=true
Note: Resource type can be (person, room, inventory or equipment). For custom delivery
types, delivery type name itself would be considered as offering type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 446: Calling Options

Name Description Sample Value Data Type Required?

assignId Assignment's ID string Yes

purpose Purpose re- string Yes


cat000000000000503

resource Resource Person User em- string Yes


plo000000000022474

selectSessions Select the sessions string Yes

role Role 100 integer Yes

quantity Quantity 1 integer Yes


REST API Reference | Learning | 1632

Name Description Sample Value Data Type Required?

@type @type com.saba.rest.busi- string Yes


nesscompon-
ent.impl.Resour-
ceAssignmen-
tRESTDTO

Request Body

{
"quantity": 1,
"purpose": {
"@type": "ServiceObjectReference",
"id": "recat000000000000503"
},
"resource": {
"@type": "ServiceObjectReference",
"displayName": "Person User",
"id": "emplo000000000022474"
},
"@type": "com.saba.rest.businesscomponent.impl.ResourceAssignmentRESTDTO",
"selectSessions": [
"java.util.HashSet",
[
{
"@type": "ServiceObjectReference",
"id": "timel000000000013671"
}
]
],
"role":100
}

Return Values

{
id: "assnm000000000001215"
offeringId: "class000000000002821"
href: "http://localhost/v1/learning/resourceassign/assnm000000000001215"
}

REMOVE AN EXISTING ASSIGNED RESOURCE

Overview
Deletes the existing assigned resource.It returns a status indicating successful deletion.

Requires OAuth
No

Method
DELETE
REST API Reference | Learning | 1633

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:assignId?ignoreConflicts=true

URL (User-friendly)
You can use a user-friendly URL which accepts the offeringNumber instead of the internal
Offering's ID and the resourceName instead of the internal Assignment's ID.
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/<offeringType>/<offeringNumber>/<resourceType>/<resourceName>?ignoreConflicts=true
Note:
Resource type can be (person, room, inventory or equipment). For custom delivery types,
delivery type name itself would be considered as offering type.
For offeringType, you can pass ilt for ILT Offering, wbt for WBT Offering, vc for Virtual Class
Offering and blended for Blended Offering.

Calling Options
Table 447: Calling Options

Name Description Sample Value Data Type Required?

assignId Assignment's ID string Yes

GET ALL EXTERNAL CO-PRESENTERS OF VC OFFERING

Overview
Retrieves all the co-presenters of the specified VC offering.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId/external-co-presenter

Calling Options
Table 448: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID virtc000000000201503 string Yes


REST API Reference | Learning | 1634

Return Values

[
{
"fname": "fnextinst2",
"lname": "lnextinst2",
"login": "extinst2@outside.com"
},
{
"fname": "fnextinst",
"lname": "lnextinst",
"login": "extinst@outside.com"
}
]

ASSIGN EXTERNAL CO-PRESENTERS TO VC OFFERING

Overview
Assigns external co-presenters to the specified vc offering.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId/external-co-presenter

Calling Options
Table 449: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID virtc000000000201503 string Yes

externalUsers List of external users string Yes


[{"fname":"first►
Name",
"lname":"last►
Name",
"lo►
gin":"user@out►
side.com"}]

Request Body

[
{
REST API Reference | Learning | 1635

"fname": "fnextinst2",
"lname": "lnextinst2",
"login": "extinst2@outside.com"
},
{
"fname": "fnextinst",
"lname": "lnextinst",
"login": "extinst@outside.com"
}
]

DELETE EXTERNAL CO-PRESENTERS FROM VC OFFERING

Overview
Deletes the external co-presenter from a specified VC offering based on the Login ID of
external co-presenter.

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/learning/resourceassign/:offeringId/external-co-presenter/:loginId

Calling Options
Table 450: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering ID or offering virtc000000000201503 string Yes


number

loginId Login ID of external user@out- string Yes


co-presenter side.com

Subscription
REST endpoints for the learning data.

GET META DETAILS OF SUBSCRIPTION

Overview
Returns the meta details of the subscription.
REST API Reference | Learning | 1636

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subscription/meta:(:searchFields)

Calling Options
Table 451: Calling Options

Name Description Sample Value Data Type Required?

searchFields You can filter data by string No


providing fields that
you require to be re-
turned. Acceptable
values are case-sens-
itive.

Return Values

{
"sampleData": {
"description": "",
"days_limit": null,
"subscription_no": null,
"allAudienceTypes": {
"audience_type_id": null,
"offering_temp_id": null
},
"avail_call_center": true,
"updated_by": null,
"updated_on": null,
"created_by": null,
"avail_from": "2015-04-24T14:21:34.367+0530",
"disc_from": null,
"title": "",
"avail_web": true,
"cost_limit": null,
"before_expiry": null,
"allPrices": null,
"allCostLimits": null,
"reg_limit": null,
"training_units": null,
"entire_catalog": false,
"grace_period": null,
"allSubscriptionItems": null,
"id": null,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
REST API Reference | Learning | 1637

"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"href": "http://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000000001"

},
"name": "Subscription",
"displayName": "Subscription",
"attributes": [
{
"name": "allAudienceTypes",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": false,
"display": true,
"component": {
"name": "OfferingTemplateAudienceType",
"displayName": "Course Audience Type",
"attributes": [
{
"name": "audience_type_id",
"displayName": "Audience Type",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "AudienceType ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "inherit",
"displayName": "Inherit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Learning | 1638

{
"name": "inherited_from",
"displayName": "Inherited From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "offering_temp_id",
"displayName": "Course",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "allCostLimits",
"displayName": "Cost Limit",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "Price List Entry",
"displayName": "Price List Entry",
"attributes": [
{
"name": "amount",
"displayName": "Amount",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "charge_type",
"displayName": "Charge Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "curr_id",
REST API Reference | Learning | 1639

"displayName": "Currency Id",


"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "displayValue",
"displayName": "Display Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "part_id",
"displayName": "Part Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price_list_id",
"displayName": "Price List ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price_type",
"displayName": "Price Type",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
REST API Reference | Learning | 1640

"isSearchFilter": false
}
]
}
},
{
"name": "allPrices",
"displayName": "Prices",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"componentName": "Price List Entry",
"href": "http://<hostname-api.sabacloud.com>/v1/pricelistentry/meta",
"description": "Table: tpt_pl_list_entry.Price lists are made up of individual price list
entries, each of which represents a single price for a single item in the Learning Catalog.
Price list entry security is based on the domain of the object for which the price list entry
was created."
}
},
{
"name": "allSubscriptionItems",
"displayName": "Subscription Items",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "SubscriptionItemChoice",
"displayName": "Subscription Item Choice",
"attributes": [
{
"name": "criteria",
"displayName": "Criteria",
"description": "Criteria of Subscription Item",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "delivery_id",
"displayName": "Delivery ID",
"description": "Delivery type id for the subscription",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": "Cornerstone SBX internal id",
REST API Reference | Learning | 1641

"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "subscription_id",
"displayName": "Subscription ID",
"description": "Subscription Id, this owner of this object",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "type",
"displayName": "Type",
"description": "Type of Subscription Item",
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "avail_call_center",
"displayName": "Display for Call Center",
"description": "Subscription is available to registrar or not",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "avail_from",
"displayName": "Available From",
"description": "Date from which this subscription will available to user",
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "avail_web",
"displayName": "Display for Learner",
"description": "Subscription is available to learner or not",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
REST API Reference | Learning | 1642

"display": true,
"isSearchFilter": false
},
{
"name": "before_expiry",
"displayName": "Reminder before expiration date (days)",
"description": "Days before expiry to send notification",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "cost_limit",
"displayName": "Limit in Cost",
"description": "Limit in cost of purchased items, till subscription will be active after
purchase",
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": "Created by",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": "Cornerstone SBX id of person who created new subscription",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created On",
"description": "Created on",
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 1643

"name": "days_limit",
"displayName": "Limit in Days",
"description": "Limit in number of days subscription will be active after purchase",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "description",
"displayName": "Description",
"description": "Description of subscription",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": true
},
{
"name": "disc_from",
"displayName": "Discontinued From",
"description": "Date from which this subscription will be no longer available to user",

"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "entire_catalog",
"displayName": "Subscribe Entire Catalog",
"description": "Subscription is for entire learning catalog",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "grace_period",
"displayName": "No of Days for Grace Period(days)",
"description": "Number of Days",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": "Cornerstone SBX internal id",
"isRequired": true,
REST API Reference | Learning | 1644

"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "reg_limit",
"displayName": "No of Maximum Registration",
"description": "Number of Days",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": "Security Domain of subscription",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "subscription_no",
"displayName": "Subscription Number",
"description": "Part number of subscription",
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "title",
"displayName": "Title",
"description": "Title of subscription",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "training_units",
"displayName": "Training Units",
"description": "Training units required to purchase subscription",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
REST API Reference | Learning | 1645

"display": true,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": "Updated by",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": "Updated on",
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "Custom0 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "Custom1 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "Custom2 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
REST API Reference | Learning | 1646

"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "Custom3 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "Custom4 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "Custom5 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "Custom6 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "Custom7 field",
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Learning | 1647

"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "Custom8 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "Custom9 field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
}
]
}

GET DETAILS OF A PARTICULAR SUBSCRIPTION

Overview
Returns complete information about a purchase subscription based on the Subscription's
ID that is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subscription/:id:(:searchFields)

URL (User-friendly)
You can use a user-friendly URL which accepts the subscription_no instead of the internal
Subscription's ID.
REST API Reference | Learning | 1648

https://<hostname-api.sabacloud.com>/v1/subscription/subscription_no %3D<SubscriptionNo>

Calling Options
Table 452: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001200

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
description:null,
avail_from:"2014-12-26T00:00:00.000+0530",
disc_from:null,
title:"Subscription 8",
avail_web:true,
allPrices:[
{
amount:10,
curr_id:{
id:"crncy000000000000001",
displayName:"US Dollars"
},
displayValue:null,
id:"plent000000000203956"
},
{
amount:12.3,
curr_id:{
id:"crncy000000000001005",
displayName:"Currency1"
},
displayValue:null,
id:"plent000000000203957"
},
{
amount:8.2,
curr_id:{
id:"crncy000000000001006",
displayName:"Currency2"
},
displayValue:null,
id:"plent000000000203958"
},
{
amount:20,
curr_id:{
id:"crncy000000000200968",
displayName:"Rupees"
},
REST API Reference | Learning | 1649

displayValue:null,
id:"plent000000000203959"
}
],
training_units:0,
updated_by:"uone",
updated_on:"2014-12-26T17:10:28.000+0530",
created_by:"uone",
avail_call_center:true,
grace_period:null,
cost_limit:0,
before_expiry:0,
is_featured:true,
allAudienceTypes:[

],
reg_limit:null,
subscription_no:"00001025",
entire_catalog:false,
allSubscriptionItems:[
{
type:{
value:300
},
subscription:{
id:"sbscr000000000001045",
displayName:"Subscription 8"
},
criteria:false,
componentName:"SubscriptionItemChoice",
subscriptionItem:{
id:"dowbt000000000001591",
displayName:"#12"
}
},
{
type:{
value:300
},
subscription:{
id:"sbscr000000000001045",
displayName:"Subscription 8"
},
criteria:false,
componentName:"SubscriptionItemChoice",
subscriptionItem:{
id:"dowbt000000000001592",
displayName:"#12#12"
}
}
],
allCostLimits:[

],
days_limit:0,
create_group:false,
id:"sbscr000000000001045",
customValues:{
custom9:null,
custom0:null,
custom3:null,
custom4:null,
REST API Reference | Learning | 1650

custom1:null,
custom2:null,
custom7:null,
custom8:null,
custom5:null,
custom6:null
},
securityDomain:{
id:"domin000000000000001",
displayName:"world"
}
}

GET ALL SUBSCRIPTIONS

Overview
Returns all Subscriptions for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subscription?count=:count&startPage=:startPage

Calling Options
Table 453: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"id": "sbscr000000000001000",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001000"
},
REST API Reference | Learning | 1651

{
"id": "sbscr000000000001020",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001020"
},
{
"id": "sbscr000000000001021",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001021"
},
{
"id": "sbscr000000000001040",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001040"
},
{
"id": "sbscr000000000001060",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001060"
},
{
"id": "sbscr000000000001061",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001061"
},
{
"id": "sbscr000000000001062",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001062"
},
{
"id": "sbscr000000000001080",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001080"
},
{
"id": "sbscr000000000001081",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001081"
},
{
"id": "sbscr000000000001100",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001100"
}
],
"totalResults": 38,
"hasMoreResults": true,
"itemsPerPage": 10
}

FIND DETAILS OF SUBSCRIPTION

Overview
Returns the details of the subscription along with the ID, Name and the Deeplink URL based
on the provided search criteria.
REST API Reference | Learning | 1652

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subscription?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 454: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. subscription_no string Yes


the field name and
the values.
You can use any fields
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for 00001000 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"description": null,
"updated_by": "uone",
"updated_on": "2015-09-08T12:52:43.000+0530",
REST API Reference | Learning | 1653

"created_by": "uone",
"grace_period": null,
"subscription_no": "00001225",
"entire_catalog": false,
"reg_limit": 10,
"avail_call_center": false,
"allPrices": [
{
"curr_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"amount": 100,
"displayValue": null,
"id": "plent000000000204373"
}
],
"days_limit": 10,
"allCostLimits": [
{
"curr_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"amount": 100,
"displayValue": null,
"id": "plent000000000204374"
}
],
"avail_from": "2015-04-09T00:00:00.000+0530",
"disc_from": null,
"title": "new2",
"avail_web": false,
"training_units": null,
"allAudienceTypes": [],
"before_expiry": null,
"is_featured": true,
"allSubscriptionItems": [],
"id": "sbscr000000000001248",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
]
}
REST API Reference | Learning | 1654

CREATE A NEW SUBSCRIPTION

Overview
Allows creating a new subscription.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/subscription

Calling Options
Table 455: Calling Options

Name Description Sample Value Data Type Required?

title Title of the subscrip- Subscription1 string Yes


tion

description Description of the This is test de- string No


subscription scription for sub-
cription created
via REST API

subscription_no Subscription number 00001004 string No

is_featured Is Featured Or Not false string No

avail_from Available from 2014-12- string Yes


23T00:00:00.000+0530

disc_from Discontinued from 2016-12- string No


23T00:00:00.000+0530

avail_web Available on web True string No

avail_call_center Available for call cen- true string No


ter

training_units Training units 1 string No

grace_period Grace period 20 string No

reg_limit Registration limit 1 string No

days_limit Days limit 1 string No

entire_catalog Entire catalog true string No


REST API Reference | Learning | 1655

Name Description Sample Value Data Type Required?

cost_limit Cost limit 100 string No

before_expiry Before expiry 5 string No

customValues Custom values 0 string No

securityDomain The domain for the {"id": "dom- object Yes


subscription in000000000000001","dis-
playName":
Supports lookup (Do-
"world"}
main).

allCostLimits All Cost Limits [{"curr_id": {"id": object No


"crncy000000000000001",ds
i-
Supports lookup (Cur-
playName":
rency).
"USD"},"amount":
100}]

allPrices All Prices [{"curr_id": {"id": object Yes


"crncy000000000000001",ds
i-
Supports lookup (Cur-
playName":
rency).
"USD"},"amount":
100}]

create_group Whether to create a true string No


group. Accepts:
true/false

Request Body

{
"description":"This is test description for subcription created via REST API",
"avail_call_center":true,
"create_group":true,
"avail_from":"2014-12-23T00:00:00.000+0530",
"disc_from":null,
"title":"API test 1",
"avail_web":true,
"training_units":10,
"subscription_no":"00001004",
"entire_catalog":true,
"before_expiry":5,
"grace_period":20,
"allCostLimits":[
{
"curr_id":{
"id":"crncy000000000000001",
"displayName":"USD"
},
"amount":100
},
{
"curr_id":{
"id":"crncy000000000001006",
"displayName":"CRR"
REST API Reference | Learning | 1656

},
"amount":82
},
{
"curr_id":{
"id":"crncy000000000200968",
"displayName":"INR"
},
"amount":200
}
],
"days_limit":null,
"allPrices":[
{
"curr_id":{
"id":"crncy000000000000001",
"displayName":"USD"
},
"amount":10
}
],
"reg_limit":10,
"customValues":{
"custom9":null,
"custom0":"2015-04-17 00:00:00.0",
"custom3":"22:30:00",
"custom4":null,
"custom1":"this is test",
"custom2":"123",
"custom7":null,
"custom8":null,
"custom5":null,
"custom6":null
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
}

Note:
Subscription No (subscriptionNumber) is an autogenerated field.

Return Values

{
"id": "sbscr000000000001200",
"displayName": "sub1",
"href":
"https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001200"
}

UPDATE DETAILS OF A SUBSCRIPTION

Overview
Allows updating an existing subscription based on the Subscription's ID.
REST API Reference | Learning | 1657

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/subscription/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the subscription_no instead of the internal
Subscription's ID.
https://<hostname-api.sabacloud.com>/v1/subscription/subscription_no %3D<SubscriptionNo>

Calling Options
Table 456: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001200

title Title of the subscrip- newSub string No


tion

description Description of the This is test de- string No


subscription scription for sub-
cription created
via REST API

subscription_no Subscription number 00001004 string No

is_featured Is Featured Or Not false string No

avail_from Available from 2014-12- string No


23T00:00:00.000+0530

disc_from Discontinued from 2017-12- string No


23T00:00:00.000+0530

avail_web Available on web true string No

avail_call_center Available for call cen- true string No


ter

training_units Training units 1 string No

grace_period Grace period 1 string No

reg_limit Registration limit 1 string No

days_limit Days limit 1 string No


REST API Reference | Learning | 1658

Name Description Sample Value Data Type Required?

entire_catalog Entire catalog true string No

cost_limit Cost limit 100 string No

before_expiry Before expiry 5 string No

customValues Custom values 0 string No

securityDomain The domain for the {"id": "dom- object No


subscription in000000000000001","dis-
playName":
Supports lookup (Do-
"world"}
main).

Request Body

{
"avail_from": "2015-03-18T00:00:00.000-0400",
"disc_from": "2015-04-30T00:00:00.000-0400",
"title": "sub1",
"avail_web": false,
"avail_call_center": false,
"training_units": null,
"grace_period": null,
"reg_limit": 1,
"days_limit": null,
"subscription_no": "00001000",
"entire_catalog": true,
"cost_limit": null,
"before_expiry": null,
"description": "some dscription",
"id": "sbscr000000000001000",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}
REST API Reference | Learning | 1659

FIND DETAILS OF SUBSCRIPTION (Using POST - Range based


search)

Overview
Returns the details of the subscription along with the ID and the Deeplink URL based on the
provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/subscription/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 457: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search criteria i.e. [{"name": "sub- string Yes
name the field name. scription_no",
"operator":
You can use any field
"==","value": "1011"}]
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

conditions > value The search value for string Yes


the specified search
criteria.

conditions > oper- The search operator string Yes


ator such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=
REST API Reference | Learning | 1660

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions":[{"name": "subscription_no", "operator": "==","value": "00001225"}],
"count":10,
"startPage":1
}

Return Values

{
"facets": [],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"id": "sbscr000000000001002",
"href": "://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001002"

}
]
}

ADD AUDIENCE TYPE TO A SUBSCRIPTION

Overview
Adds audience types to a subscription and returns a reference to the subscription to which
the audience types were added.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/audiencetype
REST API Reference | Learning | 1661

Calling Options
Table 458: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

Request Body

[
"java.util.Collection",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "audie000000000200000",
"displayName": "CustomerType1"
},
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "audie000000000200001",
"displayName": "CustomerType2"
}
]
]

Return Values

{
"id": "sbscr000000000001034",
"displayName": "sub1",
"href": "https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001034"
}

REMOVE AUDIENCE TYPE FROM A SUBSCRIPTION

Overview
Removes audience type from a subscription.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/audiencetype/:audiencetypeid
REST API Reference | Learning | 1662

Calling Options
Table 459: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

audiencetypeid Audience Type's ID audie000000000200000 string Yes

Request Body

OK (200) status

ADD DELIVERY TYPE / SUBSCRIPTION ITEM TO A SUBSCRIPTION

Overview
Adds delivery types / subscription items to a subscription and returns a reference to the
subscription to which the delivery types / subscription items were added.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/subscriptionItem

Calling Options
Table 460: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

Request Body

[
"java.util.Collection",
[
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "cours000000000200810",
"displayName": "1ab"
},
REST API Reference | Learning | 1663

{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "eqcat000000000200122",
"displayName": "new_Instructor-Leden_US"
}
]
]

Return Values

{
"id": "sbscr000000000001034",
"displayName": "sub1",
"href": "https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001034"
}

REMOVE DELIVERY TYPE / SUBSCRIPTION ITEM FROM A


SUBSCRIPTION

Overview
Removes delivery type / subscription item from a subscription.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/subscriptionItem/:courseid

Calling Options
Table 461: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

courseid Course's ID cours000000000200811 string Yes

Return Values

OK (200) status
REST API Reference | Learning | 1664

ADD SUBSCRIPTION PRICE TO A SUBSCRIPTION

Overview
Adds subscription price to a subscription and returns a reference to the subscription to
which the subscription price was added.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/subscriptionPrice

Calling Options
Table 462: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

Request Body

{
"@type": "com.saba.rest.businesscomponent.dto.PriceDTO",
"price" : 70,
"currency": {
"@type" : "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000001",
"displayName": "USD"
},
"currencySelectionMode" : 2
}

Note: currencySelectionMode can be: DesignatedCurrency - 1,


DesignatedAndDefaultCurrency - 2 or AllCurrenciesInSystem - 3
The lookup support is available for this REST API:

JSON Attribute UI Attribute Component Name

currency Currency Currency

Return Values

{
"id": "sbscr000000000001034",
REST API Reference | Learning | 1665

"displayName": "sub1",
"href": "https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001034"
}

ADD COST LIMIT PRICE TO A SUBSCRIPTION

Overview
Adds cost limit price to a subscription and returns a reference to the subscription to which
the cost limit price was added.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/subscriptionPrice?type=costLimitPrice

Calling Options
Table 463: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

Request Body

{
"@type": "com.saba.rest.businesscomponent.dto.PriceDTO",
"price" : 70,
"currency": {
"@type" : "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000001",
"displayName": "USD"
},
"currencySelectionMode" : 2
}

Note: currencySelectionMode can be: DesignatedCurrency - 1,


DesignatedAndDefaultCurrency - 2 or AllCurrenciesInSystem - 3
The lookup support is available for this REST API:

JSON Attribute UI Attribute Component Name

currency Currency Currency


REST API Reference | Learning | 1666

Return Values

{
"id": "sbscr000000000001034",
"displayName": "sub1",
"href": "https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001034"
}

REMOVE SUBSCRIPTION PRICE / COST LIMIT PRICE FROM A


SUBSCRIPTION

Overview
Removes subscription price / cost limit price from a subscription.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscription/:id/subscriptionPrice/:priceid

Calling Options
Table 464: Calling Options

Name Description Sample Value Data Type Required?

id Subscription's ID sb- string Yes


scr000000000001034

priceid Price List Entry's ID plent000000000203890 string Yes

Return Values

OK (200) status

UPDATE LOCALE-SPECIFIC DETAILS OF SUBSCRIPTION

Overview
Update locale-specific attributes of subscription.

Requires OAuth
No
REST API Reference | Learning | 1667

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example:
https://<hostname-api.sabacloud.com>/v1/subscription/sbscr000000000001143/locale

Calling Options
Table 465: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- subscription string Yes


dated

instanceId Instance id of compon- sb- string Yes


ent scr000000000001143

locale Locale id or display- {"id": "loc- string Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale).

title Name of subscription sub string No

description Subscription descrip- description string No


tion

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}
REST API Reference | Learning | 1668

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"title":"sub1",
"description":"desc1",
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"
}
}
]}

Subscription Order
REST endpoints for the learning data.

FIND DETAILS OF SUBSCRIPTION ORDERS

Overview
Returns the details of the Subscription Orders along with the ID, OrderNumber as displayName
and the Deeplink URL based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder?q=(:criteria)&count=:count&startPage=:startPage
Note: If the query contains order_no, subscription_order_no or order_id in :criteria, the
date range criteria will not be added into the condition list.
REST API Reference | Learning | 1669

Calling Options
Table 466: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria cre- string Yes


ated_on%3Dge%3D2015-
Searchable fields:
01-08,cre-
• subscriber ated_on%3Dle%3D2015-
• limit_cost 04-09
• cost_used
• start_date
• end_date
• limit_cost_cur-
rency_id
• order_no
• created_on
• subscription_or-
der_no
• perso_con-
tact_id_fname
• perso_con-
tact_id_lname
• total_enrollments
• status
• limitcost_remain-
ing
• order_contact
• subscriber_person
• subscriber_org
• order_id
• currency_name
• subscription_no
• reg_limit
• custom fields (like
custom0)

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "intor000000000203305",
"displayName": "00202910",
REST API Reference | Learning | 1670

"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 6,
"itemsPerPage": 10
}

GET ORDER DETAILS OF A PARTICULAR SUBSCRIPTION ORDER

Overview
Returns the order details of a particular subscription order.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder/:orderId
REST API Reference | Learning | 1671

Calling Options
Table 467: Calling Options

Name Description Sample Value Data Type Required?

orderId Subscription Order's in- string Yes


ID tor000000000203645

Return Values

{
"warnings": [],
"errors": [],
"orderId": "intor000000010562401",
"orderDetail": {
"promotionCode": null,
"price": {
"amount": 60,
"isocode": "USD",
"amountString": "60 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"learner": null,
"trainingUnits": null,
"orderStatus": "Confirmed",
"baseCustomer": {
"id": "persn000000000006626",
"displayName": "manager manager"
},
"orderDiscount": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"paidWithPurchaseOrders": true,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"orderContact": "manager manager",
"skuOrder": null,
"orderItems": [
{
"price": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"learner": null,
REST API Reference | Learning | 1672

"trainingUnits": null,
"registration": null,
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"partDetail": null,
"regDifDetail": null,
"groupItem": null,
"quantity": null,
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"itemStatusDescription": null,
"cancellationPolicyInfo": null,
"subDetail": {
"tagName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"factoryName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"startDate": 1429675200000,
"componentName": "LearningSubscription",
"expirationDate": null,
"party": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"learingSubscription": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001320"
},
"id": "lrnsu000000000001320",
"displayName": "00001280",
"locale": null,
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"limitCostCurrency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"limitHours": 0,
"costUsed": 0,
"limitCost": 20,
"hoursUsed": 0,
"objSubscribed": {
"tagName": "Subscription",
"primaryKey": {
"prefix": "sbscr",
"id": "sbscr000000000001040"
},
REST API Reference | Learning | 1673

"id": "sbscr000000000001040",
"displayName": "DG_new",
"locale": {
"id": "local000000000000001",
"displayName": null
},
"factoryName": "com.saba.reference.ReferenceFactory"
},
"totalEnrollments": 0,
"regLimit": null,
"subscriptionNumber": "00001280",
"status": {
"listId": "sysli000000000004086",
"statusType": 200,
"key": "200",
"displayName": "Confirmed"
},
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001320"
},
"updateMetadata": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001320"
},
"tagName": "UpdateMetadata",
"factoryName": "com.saba.ejb.UpdateMetadataXMLFactory",
"timestamp": "421417036",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"auditReason": "audit with reason",
"id": "lrnsu000000000001320",
"displayName": null,
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"mGracePeriod": null,
"totalDiscount": null,
"organization": null,
"id": {
"id": "iosub000000000001448",
"displayName": ""
},
"group": null,
"part": {
"id": "sbscr000000000001040",
REST API Reference | Learning | 1674

"displayName": "DG_new"
}
},
{
"price": {
"amount": 40,
"isocode": "USD",
"amountString": "40 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"learner": null,
"trainingUnits": null,
"registration": null,
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"partDetail": null,
"regDifDetail": null,
"groupItem": null,
"quantity": null,
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"amount": 40,
"isocode": "USD",
"amountString": "40 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"itemStatusDescription": null,
"cancellationPolicyInfo": null,
"subDetail": {
"tagName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"factoryName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"startDate": 1429675200000,
"componentName": "LearningSubscription",
"expirationDate": null,
"party": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"learingSubscription": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001321"
},
"id": "lrnsu000000000001321",
"displayName": "00001281",
"locale": null,
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
REST API Reference | Learning | 1675

"limitCostCurrency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"limitHours": 0,
"costUsed": 0,
"limitCost": 20,
"hoursUsed": 0,
"objSubscribed": {
"tagName": "Subscription",
"primaryKey": {
"prefix": "sbscr",
"id": "sbscr000000000001060"
},
"id": "sbscr000000000001060",
"displayName": "DG_test_1",
"locale": {
"id": "local000000000000001",
"displayName": null
},
"factoryName": "com.saba.reference.ReferenceFactory"
},
"totalEnrollments": 0,
"regLimit": 1,
"subscriptionNumber": "00001281",
"status": {
"listId": "sysli000000000004086",
"statusType": 200,
"key": "200",
"displayName": "Confirmed"
},
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001321"
},
"updateMetadata": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001321"
},
"tagName": "UpdateMetadata",
"factoryName": "com.saba.ejb.UpdateMetadataXMLFactory",
"timestamp": "935977084",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"auditReason": "audit with reason",
"id": "lrnsu000000000001321",
"displayName": null,
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
REST API Reference | Learning | 1676

"id": "local000000000000001",
"displayName": null
}
},
"mGracePeriod": null,
"totalDiscount": null,
"organization": null,
"id": {
"id": "iosub000000000001449",
"displayName": ""
},
"group": null,
"part": {
"id": "sbscr000000000001060",
"displayName": "DG_test_1"
}
}
],
"trainingUnitOrder": false,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"packageorder": false,
"billedTo": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers"
},
"orderNumber": "00248007",
"orderStatusObj": {
"tagName": "OrderStatus",
"orderStatus": 100,
"description": "Confirmed",
"factoryName": "com.saba.order.OrderStatus",
"name": "Confirmed",
"key": "100"
},
"orderDate": 1429697263000,
"totalPrice": {
"amount": 60,
"isocode": "USD",
"amountString": "60 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"totalDropCharges": null,
"payments": [
{
"gatewayResult": null,
"gatewayTransactionId": null,
"gatewayReferenceNo": null,
"invoiceNo": null,
"amount": {
"amount": 10,
"isocode": "USD",
REST API Reference | Learning | 1677

"amountString": "10 USD",


"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": null,
"paymentType": {
"paymentType": 2,
"name": "PurchaseOrder",
"displayName": "Purchase Order"
},
"subscriptionNo": null,
"purchaseOrder": {
"id": "pordr000000000001820",
"displayName": "RESTPO111"
},
"paymentStatus": {
"paymentStatus": 1,
"name": "PaymentCompleted",
"displayName": "Payment completed"
},
"trainingUnitAgreement": null,
"id": "mopay000000000006393",
"owner": {
"id": "intor000000010562401",
"displayName": null
}
}
],
"totalDiscount": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": false,
"canPayBySubscriptionOrder": false,
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"order": {
"id": "intor000000010562401",
"displayName": ""
}
},
"skucartItem": null
}
REST API Reference | Learning | 1678

SEARCH ALL SUBSCRIPTION ORDERS

Overview
Returns all subscription orders for the last three months. You can use FIND DETAILS OF
SUBSCRIPTION ORDERS API to get orders for the months beyond the three months range by
providing the created_on search criteria.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder?count=:count&startPage=:startPage

Calling Options
Table 468: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
REST API Reference | Learning | 1679

"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 6,
"itemsPerPage": 10
}

SEARCH SUBSCRIPTION ORDER - ALL (ORDER HISTORY FLOW)

Overview
Returns all subscription orders for which the user has access.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/order?type=subscriptionOrder&count=:count&startPage=:startPage

Calling Options
Table 469: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Learning | 1680

Return Values

{
"results": [
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 6,
"itemsPerPage": 10
}

SEARCH SUBSCRIPTION ORDER - WITH SEARCH CRITERIA

Overview
Returns the details of the subscription orders along with the ID, Name and the Deeplink URL
based on the provided search criteria.

Requires OAuth
No
REST API Reference | Learning | 1681

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder&q=(:criteria)&count=:count&startPage=:startPage
Note: If the query contains order_no, subscription_order_no or order_id in :criteria, the
date range criteria will not be added into the condition list.

Calling Options
Table 470: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. cre- string Yes


[subscrip- ated_on%3Dge%3D2015-
tion_no%3D%3D111]. 01-08,cre-
ated_on%3Dle%3D2015-
Searchable fields:
04-09
• order_no
• subscription_or-
der_no
• subscription_no
• subscription_name
• subscriber_org --
ID
• created_on lim-
it_cost
• cost_used
• start_date
• end_date
• limit_cost_cur-
rency_id
• reg_limit
• currency_name
• order_id
• subscriber_person
--- ID
• perso_con-
tact_id_fname
• perso_con-
tact_id_lname
• total_enrollments
• limitcost_remain-
ing
• custom fields (like
custom0)

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1682

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 6,
"itemsPerPage": 10
}
REST API Reference | Learning | 1683

SEARCH SUBSCRIPTION ORDER - WITH SEARCH CRITERIA (ORDER


HISTORY FLOW)

Overview
Returns the details of the subscription orders along with the ID, Name and the Deeplink URL
based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/learning/order?type=subscriptionOrder&q=(:criteria)&count=:count&startPage=:startPage
Note: If the query contains order_no, subscription_order_no or order_id in :criteria, the
date range criteria will not be added into the condition list.
REST API Reference | Learning | 1684

Calling Options
Table 471: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. cre- string Yes


[subscrip- ated_on%3Dge%3D2015-
tion_no%3D%3D111]. 01-08,cre-
ated_on%3Dle%3D2015-
Searchable fields:
04-09
• order_no
• subscription_or-
der_no
• subscription_no
• subscription_name
• subscriber_org --
ID
• created_on lim-
it_cost
• cost_used
• start_date
• end_date
• limit_cost_cur-
rency_id
• reg_limit
• currency_name
• order_id
• subscriber_person
--- ID
• perso_con-
tact_id_fname
• perso_con-
tact_id_lname
• total_enrollments
• limitcost_remain-
ing
• custom fields (like
custom0)

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"results": [
{
REST API Reference | Learning | 1685

"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
},
{
"id": "intor000000000203305",
"displayName": "00202910",
"href":
"http://<hostname-api.sabacloud.com>/v1/learning/order/intor000000000203305"
}
],
"startIndex": 1,
"facets": [],
"hasMoreResults": false,
"totalResults": 6,
"itemsPerPage": 10
}

CREATE A SUBSCRIPTION ORDER

Overview
Creates a subscription order.

Requires OAuth
No

Method
POST
REST API Reference | Learning | 1686

URL
http://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder

Calling Options
Table 472: Calling Options

Name Description Sample Value Data Type Required?

paymentRe- Payment Requests ["java.util.ArrayL- object No


quests ist",[{"@type":
"com.saba.learn-
ing.services.or-
der.PaymentRe-
quest","purchase-
OrderNumber":
"PON101","totalAmount":
["java.math.Big-
Decimal",5],"pay-
mentType": "Pur-
chase-
Order"},{"@type":
"com.saba.learn-
ing.services.or-
der.PaymentRe-
quest","purchase-
OrderNumber":
"Porder200","totalAmount":
["java.math.Big-
Decimal",5],"pay-
mentType": "Pur-
chaseOrder"}]]
REST API Reference | Learning | 1687

Name Description Sample Value Data Type Required?

cartRequest Cart Request {"@type": object Yes


"com.saba.learn-
ing.services.or-
der.CartRe-
quest","orderCon-
tact": "per-
sn000000000200107","bil-
ToContactOrg":
true,"currencyId":
c
"rncy00000000000000c
"1,artIems:"
["list",[{"@type":
"com.saba.learn-
ing.services.or-
der.Subscription-
CartItem","part-
Id": "sb-
scr000000000001005",party-
Id":
c
"mpny000000000200043p ", arty-
Name": "ext sub
org", "startDate":
{"@type":
"java.util.Date","time":
"2015-05-06"},"en-
dDate": {"@type":
"java.util.Date","time":
"2015-05-
09"},"limitInCost":
["java.math.Big-
Decim-
al",11],"cost":
["java.math.Big-
Decimal",50]}]]}

@type Input JSON class com.saba.rest.busi- string Yes


name nesscompon-
ent.dto.Enroll-
mentRequest

Request Body

{
"@type":"com.saba.learning.services.order.CartRequest",
"orderContact":"persn000000000225334",
"billToContactOrg":true,
"currencyId":"crncy000000000000167",
"cartItems":[
"list",
[
{
"@type":"com.saba.learning.services.order.SubscriptionCartItem",
"partId":"sbscr000000000001020",
"partyId":"persn000000000225334",
REST API Reference | Learning | 1688

"partyName":"Better Admin",
"startDate":{
"@type":"java.util.Date",
"time":"2015-07-02"
},
"endDate":null,
"limitInCost":[
"java.math.BigDecimal",
10
],
"cost":[
"java.math.BigDecimal",
10
],
"regLimit":null,
"unassignedUsers":null,
"warningsToIgnore":[
"list",
[
""
]
]
},
{
"@type":"com.saba.learning.services.order.SubscriptionCartItem",
"partId":"sbscr000000000001020",
"partyId":"cmpny000000000001061",
"partyName":"ext org",
"startDate":{
"@type":"java.util.Date",
"time":"2015-07-02"
},
"endDate":null,
"limitInCost":[
"java.math.BigDecimal",
10
],
"cost":[
"java.math.BigDecimal",
10
],
"regLimit":null,
"unassignedUsers":3,
"warningsToIgnore":[
"list",
[
""
]
]
}
]
]
}

Note: Payment Request section differs as follows:


Using Training Units:

"paymentRequests": [
"java.util.ArrayList",
[
{
REST API Reference | Learning | 1689

"@type": "com.saba.learning.services.order.PaymentRequest",
"trainingUnitAgreementId": "tutpo000000000001840",
"trainingUnitAgreementNumber": "00001820",
"trainingUnits": 10,
"paymentType": "TrainingUnit"
},
{
"@type": "com.saba.learning.services.order.PaymentRequest",
"trainingUnitAgreementId": "tutpo000000000001845",
"trainingUnitAgreementNumber": "00001975",
"trainingUnits": 5,
"paymentType": "TrainingUnit"
}
]
]

Using InvoiceMe:

"paymentRequests": [
"java.util.ArrayList",
[
{
"@type": "com.saba.learning.services.order.InvoiceMePaymentRequest",
"paymentType": "InvoiceMe",
"details": "sdasadas",
"organizationId":"cmpny000000000001000",
"custom0": "asd",
"custom1": "as",
"custom2": "sxa",
"custom3": "",
"custom4": "",
"custom5": "",
"custom6": "",
"custom7": "",
"custom8": "",
"custom9": ""
}
]
]

Return Values

{
"warnings": [],
"errors": [],
"orderId": "intor000000010562401",
"orderDetail": {
"promotionCode": null,
"price": {
"amount": 60,
"isocode": "USD",
"amountString": "60 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"learner": null,
"trainingUnits": null,
"orderStatus": "Confirmed",
"baseCustomer": {
REST API Reference | Learning | 1690

"id": "persn000000000006626",
"displayName": "manager manager"
},
"orderDiscount": {
"amount": 0,
"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"paidWithPurchaseOrders": true,
"paidWithTrainingUnits": false,
"paidWithSubscriptionOrders": false,
"paidWithInvoiceMe": false,
"orderContact": "manager manager",
"skuOrder": null,
"orderItems": [
{
"price": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"learner": null,
"trainingUnits": null,
"registration": null,
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"partDetail": null,
"regDifDetail": null,
"groupItem": null,
"quantity": null,
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"amount": 20,
"isocode": "USD",
"amountString": "20 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"itemStatusDescription": null,
"cancellationPolicyInfo": null,
"subDetail": {
"tagName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"factoryName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"startDate": 1429675200000,
"componentName": "LearningSubscription",
"expirationDate": null,
"party": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
REST API Reference | Learning | 1691

"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"learingSubscription": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001320"
},
"id": "lrnsu000000000001320",
"displayName": "00001280",
"locale": null,
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"limitCostCurrency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"limitHours": 0,
"costUsed": 0,
"limitCost": 20,
"hoursUsed": 0,
"objSubscribed": {
"tagName": "Subscription",
"primaryKey": {
"prefix": "sbscr",
"id": "sbscr000000000001040"
},
"id": "sbscr000000000001040",
"displayName": "DG_new",
"locale": {
"id": "local000000000000001",
"displayName": null
},
"factoryName": "com.saba.reference.ReferenceFactory"
},
"totalEnrollments": 0,
"regLimit": null,
"subscriptionNumber": "00001280",
"status": {
"listId": "sysli000000000004086",
"statusType": 200,
"key": "200",
"displayName": "Confirmed"
},
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001320"
},
"updateMetadata": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001320"
},
"tagName": "UpdateMetadata",
"factoryName": "com.saba.ejb.UpdateMetadataXMLFactory",
"timestamp": "421417036",
"locale": {
"id": "local000000000000001",
"displayName": null
REST API Reference | Learning | 1692

}
},
"auditReason": "audit with reason",
"id": "lrnsu000000000001320",
"displayName": null,
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"mGracePeriod": null,
"totalDiscount": null,
"organization": null,
"id": {
"id": "iosub000000000001448",
"displayName": ""
},
"group": null,
"part": {
"id": "sbscr000000000001040",
"displayName": "DG_new"
}
},
{
"price": {
"amount": 40,
"isocode": "USD",
"amountString": "40 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"learner": null,
"trainingUnits": null,
"registration": null,
"orderItemStatus": {
"listId": "sysli000000000000131",
"orderItemStatus": 100
},
"partDetail": null,
"regDifDetail": null,
"groupItem": null,
"quantity": null,
"waivePrerequisite": false,
"groupOrderable": null,
"displayPrice": {
"amount": 40,
"isocode": "USD",
"amountString": "40 USD",
"currency": {
"id": "crncy000000000000167",
REST API Reference | Learning | 1693

"displayName": "US Dollars"


}
},
"itemStatusDescription": null,
"cancellationPolicyInfo": null,
"subDetail": {
"tagName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"factoryName": "com.saba.learning.subscription.LearningSubscriptionDetail",
"startDate": 1429675200000,
"componentName": "LearningSubscription",
"expirationDate": null,
"party": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"learingSubscription": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001321"
},
"id": "lrnsu000000000001321",
"displayName": "00001281",
"locale": null,
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"limitCostCurrency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"limitHours": 0,
"costUsed": 0,
"limitCost": 20,
"hoursUsed": 0,
"objSubscribed": {
"tagName": "Subscription",
"primaryKey": {
"prefix": "sbscr",
"id": "sbscr000000000001060"
},
"id": "sbscr000000000001060",
"displayName": "DG_test_1",
"locale": {
"id": "local000000000000001",
"displayName": null
},
"factoryName": "com.saba.reference.ReferenceFactory"
},
"totalEnrollments": 0,
"regLimit": 1,
"subscriptionNumber": "00001281",
"status": {
"listId": "sysli000000000004086",
"statusType": 200,
"key": "200",
"displayName": "Confirmed"
},
"primaryKey": {
REST API Reference | Learning | 1694

"prefix": "lrnsu",
"id": "lrnsu000000000001321"
},
"updateMetadata": {
"primaryKey": {
"prefix": "lrnsu",
"id": "lrnsu000000000001321"
},
"tagName": "UpdateMetadata",
"factoryName": "com.saba.ejb.UpdateMetadataXMLFactory",
"timestamp": "935977084",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"auditReason": "audit with reason",
"id": "lrnsu000000000001321",
"displayName": null,
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"trainingUnitAgreement": null,
"percentageDiscount": null,
"subscriber": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"mGracePeriod": null,
"totalDiscount": null,
"organization": null,
"id": {
"id": "iosub000000000001449",
"displayName": ""
},
"group": null,
"part": {
"id": "sbscr000000000001060",
"displayName": "DG_test_1"
}
}
],
"trainingUnitOrder": false,
"totalDropChargeInTU": null,
"totalRefundInTU": null,
"totalRefundedPayment": null,
"totalRefundedPaymentInTU": null,
"allRefundableItemsSubTotalInTU": null,
"allRefundableItemsSubTotal": null,
"finalAmountToRefund": null,
"finalAmountToRefundInTU": null,
"orderContactRef": null,
"packageorder": false,
"billedTo": {
"id": "cmpny000000000001020",
"displayName": "Beta Customers"
REST API Reference | Learning | 1695

},
"orderNumber": "00248007",
"orderStatusObj": {
"tagName": "OrderStatus",
"orderStatus": 100,
"description": "Confirmed",
"factoryName": "com.saba.order.OrderStatus",
"name": "Confirmed",
"key": "100"
},
"orderDate": 1429697263000,
"totalPrice": {
"amount": 60,
"isocode": "USD",
"amountString": "60 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"totalDropCharges": null,
"payments": [
{
"gatewayResult": null,
"gatewayTransactionId": null,
"gatewayReferenceNo": null,
"invoiceNo": null,
"amount": {
"amount": 10,
"isocode": "USD",
"amountString": "10 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"trainingUnits": null,
"paymentType": {
"paymentType": 2,
"name": "PurchaseOrder",
"displayName": "Purchase Order"
},
"subscriptionNo": null,
"purchaseOrder": {
"id": "pordr000000000001820",
"displayName": "RESTPO111"
},
"paymentStatus": {
"paymentStatus": 1,
"name": "PaymentCompleted",
"displayName": "Payment completed"
},
"trainingUnitAgreement": null,
"id": "mopay000000000006393",
"owner": {
"id": "intor000000010562401",
"displayName": null
}
}
],
"totalDiscount": {
"amount": 0,
REST API Reference | Learning | 1696

"isocode": "USD",
"amountString": "0 USD",
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
}
},
"canPayByTrainingUnits": false,
"canPayByPurchaseOrder": false,
"canPayBySubscriptionOrder": false,
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"order": {
"id": "intor000000010562401",
"displayName": ""
}
},
"skucartItem": null
}

UPDATE SUBSCRIPTION ORDER'S CUSTOM FIELDS

Overview
Updates the values of the Custom fields for the given Order ID.
Note: Use the UPDATE ORDER'S CUSTOM FIELDS REST API to perform this operation.

GET DETAILS OF A PARTICULAR LEARNING SUBSCRIPTION

Overview
Returns the complete details of a particular learning subscription.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/ learning/subscriptionorder/
learningsubscription/:learningSubscriptionId
REST API Reference | Learning | 1697

Calling Options
Table 473: Calling Options

Name Description Sample Value Data Type Required?

learningSubscrip- Learning subscrip- lrnsu000000000001226 string Yes


tionId tion's ID

Return Values

{
"@type": "com.saba.learning.subscription.LearningSubscriptionDetail",
"status": {
"statusType": 200,
"listId": "sysli000000000004086",
"key": "200",
"displayName": "Confirmed"
},
"assignee": {
"@type": "persn",
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"id": "persn000000000001023",
"displayName": "Client4 One4",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"objSubscribed": {
"@type": "com.saba.learning.subscription.entity.SubscriptionReference",
"id": "sbscr000000000001246",
"displayName": "Aa",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "sbscr000000000001246",
"prefix": "sbscr"
}
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1437589800000,
"locale": "23.07.2015",
"dateInUserTimeZone": "22.07.2015",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
REST API Reference | Learning | 1698

"timeInStandardFormat": "12:00 AM",


"dateInStandardFormat": "07/23/2015",
"timeInLocale": "12:00 AM"
},
"expirationDate": null,
"limitHours": [
"java.math.BigDecimal",
0
],
"costUsed": [
"java.math.BigDecimal",
0
],
"limitCost": [
"java.math.BigDecimal",
500
],
"hoursUsed": [
"java.math.BigDecimal",
0
],
"regLimit": null,
"party": {
"@type": "com.saba.party.organization.entity.CompanyReference",
"id": "cmpny000000000001000",
"displayName": "Company1",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"learingSubscription": {
"@type": "com.saba.learning.subscription.entity.LearningSubscriptionReference",
"id": "lrnsu000000000001226",
"displayName": "00001226",
"locale": null,
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "lrnsu000000000001226",
"prefix": "lrnsu"
}
},
"subscriptionNumber": "00001226",
"totalEnrollments": 0,
"limitCostCurrency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"id": "lrnsu000000000001226",
"displayName": null,
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
}
REST API Reference | Learning | 1699

CHANGE LEARNER OF A PARTICULAR LEARNING SUBSCRIPTION

Overview
Changes the learner of a particular learning subscription.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder/
learningsubscription/{learning_subscription_id}/assignee

Calling Options
Table 474: Calling Options

Name Description Sample Value Data Type Required?

learningSubscrip- Learning subscrip- lrnsu000000000001226 string Yes


tionId tion's ID

Request Body

{
"@type":"com.saba.rest.service.RESTServiceObjectReference",
"id":"persn000000000001023",
"displayName":"Client Three"
}

Return Values

{
"@type": "com.saba.learning.subscription.LearningSubscriptionDetail",
"status": {
"statusType": 200,
"listId": "sysli000000000004086",
"key": "200",
"displayName": "Confirmed"
},
"assignee": {
"@type": "persn",
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
REST API Reference | Learning | 1700

"id": "persn000000000001023",
"displayName": "Client4 One4",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"objSubscribed": {
"@type": "com.saba.learning.subscription.entity.SubscriptionReference",
"id": "sbscr000000000001246",
"displayName": "Aa",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "sbscr000000000001246",
"prefix": "sbscr"
}
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1437589800000,
"locale": "23.07.2015",
"dateInUserTimeZone": "22.07.2015",
"timeInUserTimeZone": "11:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "07/23/2015",
"timeInLocale": "12:00 AM"
},
"expirationDate": null,
"limitHours": [
"java.math.BigDecimal",
0
],
"costUsed": [
"java.math.BigDecimal",
0
],
"limitCost": [
"java.math.BigDecimal",
500
],
"hoursUsed": [
"java.math.BigDecimal",
0
],
"regLimit": null,
"party": {
"@type": "com.saba.party.organization.entity.CompanyReference",
"id": "cmpny000000000001000",
"displayName": "Company1",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
REST API Reference | Learning | 1701

}
},
"learingSubscription": {
"@type": "com.saba.learning.subscription.entity.LearningSubscriptionReference",
"id": "lrnsu000000000001226",
"displayName": "00001226",
"locale": null,
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "lrnsu000000000001226",
"prefix": "lrnsu"
}
},
"subscriptionNumber": "00001226",
"totalEnrollments": 0,
"limitCostCurrency": {
"@type": "com.saba.currency.SabaCurrencyReference",
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"id": "lrnsu000000000001226",
"displayName": null,
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
}

Session Template
REST endpoints for the learning data.

FIND DETAILS OF SESSION TEMPLATES

Overview
Returns the details of the Session Templates along with the ID, Name and the Deeplink URL
based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate?q=(:criteria)&count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Learning | 1702

Calling Options
Table 475: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. start_day%3D%3D2 string Yes


the criteria field name
with search value.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Returns the details of true boolean No


the Session Tem-
plates in the search

Return Values

{
"results": [
{
"length": 3,
"name": "SesTemplate2 3M/24hr",
"duration": "24:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001001"
},
{
"length": 2,
"name": "SesTemplate4 MW/16hr",
"duration": "16:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
REST API Reference | Learning | 1703

"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001003"
},
{
"length": 1,
"name": "Monday (8 hrs.)",
"duration": "08:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200024"
},
{
"length": 3,
"name": "24 Hrs",
"duration": "24:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 2,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 3,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200061"
},
{
"length": 2,
REST API Reference | Learning | 1704

"name": "hello",
"duration": "02:40",
"templateInfo": [
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 1,
"weekDay": 3
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200088"
},
{
"length": 50,
"name": "10 wks/ 50 sessions",
"duration": "150:00",
"templateInfo": [
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 4
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 5
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 6
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
REST API Reference | Learning | 1705

"displayName": "world"
},
"id": "stemp000000000200060"
},
{
"length": 3,
"name": "Sessiondomain1",
"duration": "36:00",
"templateInfo": [
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "Domain1"
},
"id": "stemp000000000200109"
},
{
"length": 3,
"name": "kSessiondomain1",
"duration": "36:00",
"templateInfo": [
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000001000",
REST API Reference | Learning | 1706

"displayName": "Domain1"
},
"id": "stemp000000000200129"
},
{
"length": 1,
"name": "Domain_session_template2en_US",
"duration": "13:00",
"templateInfo": [
{
"endTime": "23:30",
"startTime": "10:30",
"weekNo": 2,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200168"
},
{
"length": 7,
"name": "test_1",
"duration": "09:26",
"templateInfo": [
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "11:45",
"startTime": "10:23",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 2,
"weekDay": 2
},
{
"endTime": "11:45",
"startTime": "10:23",
"weekNo": 2,
"weekDay": 3
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 2,
"weekDay": 4
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 3,
REST API Reference | Learning | 1707

"weekDay": 2
},
{
"endTime": "11:45",
"startTime": "10:23",
"weekNo": 3,
"weekDay": 3
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200326"
}
],
"facets": [],
"hasMoreResults": false,
"totalResults": 10,
"itemsPerPage": 10,
"startIndex": 1
}

FIND DETAILS OF SESSION TEMPLATE (USING POST - RANGE


BASED SEARCH)

Overview
Returns the details of the Session Template along with the ID, Name and the Deeplink URL
based on the provided search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 476: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions { string Yes


"name":"start_day",
"operator":"==",
"value":"2" }

count 10 integer No
REST API Reference | Learning | 1708

Name Description Sample Value Data Type Required?

startPage 1 integer No

includeDetails Returns the details of true boolean No


the Session Tem-
plates in the search

Request Body

{
"conditions": [{
"name":"start_day",
"operator":"==",
"value":"2"
}]
}

Return Values

{
"results": [
{
"length": 3,
"name": "SesTemplate2 3M/24hr",
"duration": "24:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001001"
},
{
"length": 2,
"name": "SesTemplate4 MW/16hr",
"duration": "16:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 4
}
REST API Reference | Learning | 1709

],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001003"
},
{
"length": 1,
"name": "Monday (8 hrs.)",
"duration": "08:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200024"
},
{
"length": 3,
"name": "24 Hrs",
"duration": "24:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 2,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 3,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200061"
},
{
"length": 2,
"name": "hello",
"duration": "02:40",
REST API Reference | Learning | 1710

"templateInfo": [
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 1,
"weekDay": 3
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200088"
},
{
"length": 50,
"name": "10 wks/ 50 sessions",
"duration": "150:00",
"templateInfo": [
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 4
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 5
},
{
"endTime": "12:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 6
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
REST API Reference | Learning | 1711

"id": "stemp000000000200060"
},
{
"length": 3,
"name": "Sessiondomain1",
"duration": "36:00",
"templateInfo": [
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "Domain1"
},
"id": "stemp000000000200109"
},
{
"length": 3,
"name": "kSessiondomain1",
"duration": "36:00",
"templateInfo": [
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "20:00",
"startTime": "08:00",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "Domain1"
},
REST API Reference | Learning | 1712

"id": "stemp000000000200129"
},
{
"length": 1,
"name": "Domain_session_template2en_US",
"duration": "13:00",
"templateInfo": [
{
"endTime": "23:30",
"startTime": "10:30",
"weekNo": 2,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200168"
},
{
"length": 7,
"name": "test_1",
"duration": "09:26",
"templateInfo": [
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "11:45",
"startTime": "10:23",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 2,
"weekDay": 2
},
{
"endTime": "11:45",
"startTime": "10:23",
"weekNo": 2,
"weekDay": 3
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 2,
"weekDay": 4
},
{
"endTime": "11:35",
"startTime": "10:15",
"weekNo": 3,
"weekDay": 2
},
REST API Reference | Learning | 1713

{
"endTime": "11:45",
"startTime": "10:23",
"weekNo": 3,
"weekDay": 3
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200326"
}
],
"facets": [],
"hasMoreResults": false,
"totalResults": 10,
"itemsPerPage": 10,
"startIndex": 1
}

GET ALL SESSION TEMPLATES

Overview
Returns all Session Templates for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 477: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Returns the details of true boolean No


the Session Tem-
plates in the search
REST API Reference | Learning | 1714

Return Values

{
"results": [
{
"length": 3,
"name": "SesTemplate2 3M/24hr",
"duration": "24:00",
"templateInfo": [
{
"endTime": "17:00 ",
"startTime": "09:00 ",
"weekNo": 1,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001001"
},
{
"length": 3,
"name": "SesTemplate3 TWTh/24hr",
"duration": "24:00",
"templateInfo": [
{
"endTime": "17:00 ",
"startTime": "09:00 ",
"weekNo": 1,
"weekDay": 3
},
{
"endTime": "17:00 ",
"startTime": "09:00 ",
"weekNo": 1,
"weekDay": 4
},
{
"endTime": "17:00 ",
"startTime": "09:00 ",
"weekNo": 1,
"weekDay": 5
}
],
"sessionStartDay": "TUESDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001002"
},
{
"length": 2,
"name": "SesTemplate4 MW/16hr",
"duration": "16:00",
"templateInfo": [
{
"endTime": "17:00 ",
"startTime": "09:00 ",
"weekNo": 1,
REST API Reference | Learning | 1715

"weekDay": 2
},
{
"endTime": "17:00 ",
"startTime": "09:00 ",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001003"
},
{
"length": 3,
"name": "SesTemplate6 3W/22.5hr",
"duration": "22:30",
"templateInfo": [
{
"endTime": "16:30 ",
"startTime": "09:00 ",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "WEDNESDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001005"
},
{
"length": 1,
"name": "Session template 3 Sat. only/8hrs",
"duration": "08:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 7
}
],
"sessionStartDay": "SATURDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200004"
},
{
"length": 2,
"name": "Sessiom template Sat. only/18hrs",
"duration": "16:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
REST API Reference | Learning | 1716

"weekNo": 1,
"weekDay": 7
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 2,
"weekDay": 7
}
],
"sessionStartDay": "SATURDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200005"
},
{
"length": 1,
"name": "Tuesday (1 hr)",
"duration": "01:00",
"templateInfo": [
{
"endTime": "10:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 3
}
],
"sessionStartDay": "TUESDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200021"
},
{
"length": 1,
"name": "Thursday (8 hrs.)",
"duration": "08:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 5
}
],
"sessionStartDay": "THURSDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200023"
},
{
"length": 1,
"name": "Monday (8 hrs.)",
"duration": "08:00",
"templateInfo": [
{
"endTime": "17:00",
REST API Reference | Learning | 1717

"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200024"
},
{
"length": 1,
"name": "Friday (8 hrs.)",
"duration": "08:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 6
}
],
"sessionStartDay": "FRIDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000200025"
}
],
"facets": [],
"hasMoreResults": true,
"totalResults": 33,
"itemsPerPage": 10,
"startIndex": 1
}

GET DETAILS OF A SESSIONTEMPLATE

Overview
Returns complete information about a Session Template based on the Session Template's
ID that is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate/:id:(:searchFields)
REST API Reference | Learning | 1718

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal session_id.
https://<hostname-api.sabacloud.com>/v1/sessiontemplate/name=<SessionTemplateName>
Note: The SessionTemplate API does not contain a body attribute which can hold the ID and
hence lookup is not required in the Request body.

Calling Options
Table 478: Calling Options

Name Description Sample Value Data Type Required?

id Session Template Id stemp000000000001003 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"length": 2,
"name": "SesTemplate4 MW/16hr",
"duration": "16:00",
"templateInfo": [
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 2
},
{
"endTime": "17:00",
"startTime": "09:00",
"weekNo": 1,
"weekDay": 4
}
],
"sessionStartDay": "MONDAY",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"id": "stemp000000000001003"
}

GET META DETAILS OF SESSIONTEMPLATE

Overview
Returns the meta details of the SessionTemplate.
REST API Reference | Learning | 1719

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate/meta:(:searchFields)

Calling Options
Table 479: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"length": 0,
"name": "",
"duration": null,
"templateInfo": null,
"sessionStartDay": null,
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"id": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/sessiontemplate/stemp000000000000001"
},
"name": "Session Template",
"displayName": "Session Template",
"attributes": [
{
"name": "duration",
"displayName": "Duration",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "flags",
"displayName": "Flags",
"description": null,
REST API Reference | Learning | 1720

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 10,
"maximumLength": 10,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "length",
"displayName": "Number of Sessions",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 80,
"maximumLength": 80,
"isSearchFilter": true
},
{
"name": "sessionStartDay",
"displayName": "Session Start Day",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 1721

"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "start_day",
"displayName": "Start Day",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "templateInfo",
"displayName": "Template Info",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}

CREATE A NEW SESSION TEMPLATE

Overview
Creates a new session template

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate

Calling Options
Table 480: Calling Options

Name Description Sample Value Data Type Required?

name Name of the Session sessionTem- string Yes


Template plate_1
REST API Reference | Learning | 1722

Name Description Sample Value Data Type Required?

sessionType Session Type Weekly string Yes


(Weekly/Adhoc)

noOfWeeks Total number of 4 string Yes


weeks (in case of
Weekly Sessions)

templateInfo Time Period Template [{"startTime": object Yes


"10:15","end-
Time":"11:35","weekNo":
1, "weekDay" : 2}]

Request Body

{
"name" : "test_1",
"sessionType":"weekly",
"noOfWeeks": "3",
"templateInfo" : [
{"startTime": "10:15","endTime": "11:35","weekNo": 1, "weekDay" : 2},
{"startTime": "10:23","endTime": "11:45","weekNo": 1, "weekDay" : 3}
]
}

Return Values

{
"id": "stemp000000000200328",
"displayName": "test_1",
"href":
"https://<hostname-api.sabacloud.com>/v1/sessiontemplate/stemp000000000200328"
}

UPDATE DETAILS OF A SESSION TEMPLATE

Overview
Updates a Session Template.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate/:sessionTemplateId
REST API Reference | Learning | 1723

Calling Options
Table 481: Calling Options

Name Description Sample Value Data Type Required?

sessionTem- SessionTemplate's ID stemp000000000200088 string Yes


plateId

name Name of the Session sessionTem- string Yes


Template plate_1

templateInfo Time Period Template [{"startTime": object Yes


"10:15","end-
Time":"11:35","weekNo":
1, "weekDay" : 2}]

Request Body

{
"name" : "test_2",
"templateInfo" : [
{"startTime": "10:15","endTime": "11:35","weekNo": 1, "weekDay" : 2},
{"startTime": "10:23","endTime": "11:45","weekNo": 1, "weekDay" : 3}
]
}

DELETE A SESSIONTEMPLATE

Overview
Deletes a Session Template.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/sessiontemplate/:id

Calling Options
Table 482: Calling Options

Name Description Sample Value Data Type Required?

id Session Template's ID string Yes


REST API Reference | Learning | 1724

Transcript
REST endpoints for the learning data.

GET ALL TRANSCRIPTS

Overview
Returns all Transcripts for which the user has access.
Note: If the logged in user is a people administrator then this API will fetch transcripts for
all the users which are updated within last 30 days otherwise this API will fetch only the logged
in user's transcripts.
If the logged in user is a manager or alternate manager, this API will fetch the transcripts for
the manager or alternate manager and their teams.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/transcripts
Note: The REST call displays active as well as inactive transcripts. To get more information
about a deleted transcript, you can use the deeplink URL to check the status of the transcript.
status=400 indicates a deleted transcript and status!=400 indicates an inactive transcript.

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "ofapr000000000002552",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002552"

},
{
"id": "ofapr000000000003862",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003862"
},
{
"id": "ofapr000000000004153",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004153"

},
REST API Reference | Learning | 1725

{
"id": "ofapr000000000004290",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004290"
},
{
"id": "ofapr000000000004334",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004334"
}
],
"totalResults": 5,
"startIndex": 1
}

FIND DETAILS OF TRANSCRIPTS

Overview
Returns the details of the completed Transcripts (successful and unsuccessful) along with
the ID and the Deeplink URL based on the provided search criteria.
Note: The REST call displays active as well as inactive transcripts. To get more information
about a deleted transcript, you can use the deeplink URL to check the status of the transcript.
status=400 indicates a deleted transcript and status!=400 indicates an inactive transcript.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/transcripts?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage
Note: By default, this API fetches all the non-archived transcripts. If you want this API to only
fetch archived ones, use the query param:
https://<hostname-api.sabacloud.com>/v1/transcripts?q=(archived%3D%3D1)
REST API Reference | Learning | 1726

Calling Options
Table 483: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. completionDate string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
For the search criteria
offering_temp_id,
you can specify a
course name as well
as the course ID.

field_value The search value for 2014-03-18 string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

The following are the fields that you can use as the criteria_field:
Table 484: criteria_field

Field name Field description Example

person_no Person Number person_no %3D%3D 001035

partNo Offering's ID partNo %3D%3D 00200351

course_no Offering Template Number course_no %3D%3D


SEED_WBT

course_version Version of the Offering Tem- course_version %3D%3D 1.0


plate

title Title of the offering template title %3D%3D Do-


main_USQE_course1en_US
REST API Reference | Learning | 1727

Field name Field description Example

offering_id The ID of the offering offering_id %3D%3D


dowbt000000000001320

offeringTemplateId The ID of the offering tem- offeringTemplateId %3D%3D


plate cours000000000200040

updated_on The transcript updated date updatedOn%3D%3D2007-10-


and time 10 14:41:05

archived If 1 then the transcript is hid- archived%3D%3D0


den. Possible values:
• 0-not archived transcript
• 1-archived transcript
• 2-dearchived transcript

oaStatus Status of the transcript. oaStatus %3D%3D 100


Possible values of the Status
attribute:
100- In Progress
200 - Completed
300 - Incomplete
400 -Dropped
500 – Noshow

action_no Offering action number action_no %3D%3D 001034

learnerId Learner associated with the learnerId%3D%3Dper-


transcript sn000000000001001

registration The registration ID of the registration%3D%3Dreg-


transcript dw000000000001091

delivery The delivery associated with delivery%3D%3D201


the transcript
Note: For delivery no. 200,
the input value should be 201.

deliveryId The transcript delivery ID deliveryId%3D%3D


eqcat000000000000008

learner_username The username of the learner learner_user-


name%3D%3Dsomeuser@saba.com
REST API Reference | Learning | 1728

Field name Field description Example

person_domain_bind person_do-
When condition attribute
main_bind%3D%3Dtrue
'person_domain_bind' is true,
transcripts are fetched for
the same domain users as of
people admin.
When condition attribute per-
son_domain_bind is false,
transcripts are fetched for
the domain of users where
People Admin has access.
By default the value is false.

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: person_no, learnerId, learner_username, learner_username_list
Catalog conditions: partNo, course_no, title, offering_id, offeringTemplateId

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "ofapr000000000002552",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002552"

},
{
"id": "ofapr000000000003862",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003862"
},
{
"id": "ofapr000000000004153",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004153"

},
{
"id": "ofapr000000000004290",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004290"
},
{
"id": "ofapr000000000004334",
"href":
REST API Reference | Learning | 1729

"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004334"
}
],
"totalResults": 5,
"startIndex": 1
}

Example
To find out all the transcripts for a particular course no (for example 00001003):
https://<hostname-api.sabacloud.com>/v1/transcripts?q=(course_no%3D%3D00001003)
Return Values:

{
"totalResults": 1,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "ofapr000000000001021",
"href": "https://devqa2.sabacloud.com/v1/transcripts/ofapr000000000001021"
}
],
"hasMoreResults": false,
"facets": []
}

To find the details of the transcripts with learner_username as query parameter:


https://<hostname-api.sabacloud.com>/v1/transcripts?q=(learner_username%3D%3Dsomeuser@saba.com)
Return Values:

{
"results": [
{
"id": "ofapr000000000065629",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000065629"
},
{
"id": "ofapr000000000067369",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000067369"

},
{
"id": "ofapr000000000086789",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000086789"

},
{
"id": "ofapr000000000113395",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113395"

},
{
"id": "ofapr000000000113475",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113475"

},
REST API Reference | Learning | 1730

{
"id": "ofapr000000000113517",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113517"

},
{
"id": "ofapr000000000113975",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113975"

},
{
"id": "ofapr000000000113976",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113976"

},
{
"id": "ofapr000000000114236",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000114236"

},
{
"id": "ofapr000000000114237",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000114237"

}
],
"facets": [],
"totalResults": 11,
"startIndex": 1,
"itemsPerPage": 10,
"hasMoreResults": true
}

You can also choose to get the details (and not just the ID and the deep link) of each transcript
by using includeDetails as TRUE.
https://<hostname-api.sabacloud.com>/v1/transcripts?q=(learner_username%3D%3Dsomeuser@saba.com)&includeDetails=true
Note: The output includes more details for each transcript.
Return Values:

{
"totalResults":1,
"startIndex":1,
"hasMoreResults":false,
"itemsPerPage":10,
"results":[
{
"customValues":{
"custom0":null
},
"completionMode":2,
"archived":0,
"credits":0,
"learner_id":null,
"time_interval":0,
"registration":{
"id":"regdw000000000021837",
"displayName":null
},
"delivery":{
"id":"eqcat000000000000005",
REST API Reference | Learning | 1731

"displayName":"Web-Based"
},
"added_to_profile_on":"2021-05-27T12:38:10.000+0000",
"offering_temp_id":{
"id":"cours000000000038788",
"displayName":"KQE Advanced Engg Course For S/W Engineers",
"course_no":"KQE_ENGG_COURSE",
"version":null
},
"action_status":"200",
"completion_date":"2021-09-17T12:29:25.000+0000",
"grade":"",
"flags":1,
"action_no":"0000021025",
"offrng_start_date":null,
"target_date":"2021-05-27T12:38:10.000+0000",
"party_id":{
"id":"persn000000000003340",
"displayName":"kh global",
"person_no":"0000003400",
"username":"KHATKAR_GLOBAL"
},
"end_time":null,
"duration":0.0,
"start_time":null,
"created_by":"khatkar_global",
"updated_by":"khatkar_global",
"created_on":"2021-05-27T12:38:10.000+0000",
"status":200,
"location":null,
"score":null,
"start_date":"2021-05-27T12:38:10.000+0000",
"end_date":"2021-09-17T12:29:25.000+0000",
"id":"ofapr000000000023092",
"updated_on":"2021-09-17T12:28:38.000+0000",
"delivered_by":{
"person_no":"0000003400",
"displayName":"kh global",
"id":"persn000000000003340"
}
}
],
"facets":[

]
}

To find the details of the transcripts with learnerId as query parameter:


https://<hostname-api.sabacloud.com>/v1/transcripts?q=(learnerId%3D%3Dpersn000000000001001)&f=(learnerId)
Return Values:

{
"facets": [],
"results": [
{
"id": "ofapr000000000005666",
"learnerId": "persn000000000001001",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005666"

},
{
REST API Reference | Learning | 1732

"id": "ofapr000000000005686",
"learnerId": "persn000000000001001",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005686"

}
],
"hasMoreResults": false,
"totalResults": 2,
"itemsPerPage": 10,
"startIndex": 1
}

To find the details of the transcripts with course_no as query parameter:


https://<hostname-api.sabacloud.com>/v1/transcripts?q=(course_no%3D%3DCOURS000000000202474)&f=(course_no)
Return Values:

{
"facets": [],
"results": [
{
"id": "ofapr000000000005681",
"course_no": "COURS000000000202474",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005681"
},
{
"id": "ofapr000000000005682",
"course_no": "COURS000000000202474",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005682"

},
{
"id": "ofapr000000000005683",
"course_no": "COURS000000000202474",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005683"

},
{
"id": "ofapr000000000005684",
"course_no": "COURS000000000202474",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005684"

},
{
"id": "ofapr000000000005685",
"course_no": "COURS000000000202474",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005685"

},
{
"id": "ofapr000000000005686",
"course_no": "COURS000000000202474",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000005686"

}
],
"hasMoreResults": false,
"totalResults": 6,
"itemsPerPage": 10,
"startIndex": 1
}
REST API Reference | Learning | 1733

To find the details of the transcripts with completionDate as query parameter:


https://<hostname-api.sabacloud.com>/v1/transcripts?q=(completionDate%3D%3D2007-10-10)&f=(completionDate)
Return Values:

{
"facets": [],
"results": [
{
"id": "ofapr000000000001521",
"completionDate": "2007-10-10T00:00:00.000+0530",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001521"
},
{
"id": "ofapr000000000001541",
"completionDate": "2007-10-10T00:00:00.000+0530",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001541"
}
],
"hasMoreResults": false,
"totalResults": 2,
"itemsPerPage": 10,
"startIndex": 1
}

To find the details of the transcripts with action_no as query parameter:


https://<hostname-api.sabacloud.com>/v1/transcripts?q=(action_no%3D%3D00001111)&f=(action_no)
Return Values:

{
"facets": [],
"results": [
{
"action_no": "00001111",
"id": "ofapr000000000001111",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001111"
}
],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1
}

To find the details of the transcripts with completionDate as query parameter:


https://<hostname-api.sabacloud.com>/v1/transcripts?q=(completionDate%3D%3D2007-10-10)&f=(completionDate)
Return Values:

{
"facets": [],
"results": [
{
"delivery": "200",
"id": "ofapr000000000001038",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001038"
},
{
"delivery": "200",
"id": "ofapr000000000001103",
REST API Reference | Learning | 1734

"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001103"
},
{
"delivery": "200",
"id": "ofapr000000000001111",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001111"
},
{
"delivery": "200",
"id": "ofapr000000000001160",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001160"
},
{
"delivery": "200",
"id": "ofapr000000000001161",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001161"
},
{
"delivery": "200",
"id": "ofapr000000000001204",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001204"
},
{
"delivery": "200",
"id": "ofapr000000000001221",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001221"
},
{
"delivery": "200",
"id": "ofapr000000000001223",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001223"
},
{
"delivery": "200",
"id": "ofapr000000000001225",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001225"
},
{
"delivery": "200",
"id": "ofapr000000000001227",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001227"
}
],
"hasMoreResults": true,
"totalResults": 85,
"itemsPerPage": 10,
"startIndex": 1
}

FIND TRANSCRIPTS THAT HAVE CHANGED OVER A GIVEN PERIOD


OF TIME

Overview
Returns the details of the Transcripts that have changed over a given period of time.
Note: The REST call displays active as well as inactive transcripts. To get more information
about a deleted transcript, you can use the deeplink URL to check the status of the transcript.
status=400 indicates a deleted transcript and status!=400 indicates an inactive transcript.
REST API Reference | Learning | 1735

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/transcripts?q=(time_interval%3D%3D:time_interval)&count=:count&startPage=:startPage

Calling Options
Table 485: Calling Options

Name Description Sample Value Data Type Required?

time_interval The time interval in 10 string Yes


minutes.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"id": "ofapr000000000002946",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002946"
},
{
"id": "ofapr000000000016674",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000016674"

},
{
"id": "ofapr000000000016848",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000016848"

},
{
"id": "ofapr000000000020107",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000020107"

},
{
"id": "ofapr000000000150523",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000150523"

},
REST API Reference | Learning | 1736

{
"id": "ofapr000000000151952",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000151952"

},
{
"id": "ofapr000000000157192",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000157192"

},
{
"id": "ofapr000000000191320",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000191320"

},
{
"id": "ofapr000000000197332",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000197332"

},
{
"id": "ofapr000000000206750",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000206750"

}
],
"totalResults": 51,
"hasMoreResults": true,
"itemsPerPage": 10
}

FIND DETAILS OF TRANSCRIPTS (Using POST - Range based


search)

Overview
Returns the details of the Transcripts along with the ID and the Deeplink URL based on the
provided range based search criteria.
To get data for all team members:
A manager/admin can use the IN operator to specify a list of team members as the search
criteria. If the logged in person is a manager, then the API returns the data for all team
members specified using the IN operator. If the logged in person is not the learning admin
or a manager of the people included in the search condition then the API returns a blank
output.
Note: Only 5 team members are supported in the IN operator.
The following attributes support using the IN operator:
Transcripts
• learnerId
• learner_username_list
• person_no
Note: The REST call displays active as well as inactive transcripts. To get more information
about a deleted transcript, you can use the deeplink URL to check the status of the transcript.
status=400 indicates a deleted transcript and status!=400 indicates an inactive transcript.
REST API Reference | Learning | 1737

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/transcripts/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 486: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search criteria i.e. completionDate string Yes


name the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

conditions > value The search value for 2014-01-29 string Yes
the specified search
criteria.

conditions > oper- The search operator =gt= string Yes


ator such as:
• =gt=
• =lt=

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

The following are the fields that you can use as the conditions > name:
Table 487: conditions > name

Field name Field description Example

person_no Person Number person_no %3D%3D 001035


REST API Reference | Learning | 1738

Field name Field description Example

partNo Part_No of the offering partNo %3D%3D 00200351

offering_version Version of the offering offering_version %3D%3D 1.1

course_no Offering Template Number course_no %3D%3D


SEED_WBT

course_version Version of the Offering Tem- course_version %3D%3D 1.0


plate

title Title of the offering template title %3D%3D Do-


main_USQE_course1en_US

offering_id The ID of the offering offering_id %3D%3D


dowbt000000000001320

offeringTemplateId The ID of the offering tem- offeringTemplateId %3D%3D


plate cours000000000200040

updated_on The transcript updated date updatedOn%3D%3D2007-10-


and time 10 14:41:05

archived If 1 then the transcript is hid- archived%3D%3D0


den

oaStatus Status of the transcript. oaStatus %3D%3D 100


Possible values of the Status
attribute:
100 - Not evaluated
200 - Successful
300 - Suspended
400 - Unsuccessful
500 - In Progress
600 - New
700 - Pending approval
800 - Rejected

action_no Offering action number action_no %3D%3D 001034

learnerId Learner associated with the learnerId%3D%3Dper-


transcript sn000000000001001

registration The registration ID of the registration%3D%3Dreg-


transcript dw000000000001091

delivery The delivery associated with delivery%3D%3D201


the transcript
Note: For delivery no. 200,
the input value should be 201.
REST API Reference | Learning | 1739

Field name Field description Example

deliveryId The transcript delivery ID deliveryId%3D%3D


eqcat000000000000008

learner_username The username of the learner learner_user-


name%3D%3Dsomeuser@saba.com

completionDate The completion date

learner_username_list The usernames of the


learners as a list "name":"learner_user►
name_list",
"operator":"IN",
"value":[
"KCHOUDHARY",
"SCHAUDHARY",
"TESTRCAL►
LENSQUESTIONS"
]

created_by Created by field created_by%3D%3Duone

updated_by Updated by field updated_by%3D%3Duone

Org admin API


Whenever organization_id or org_number are used as filter conditions either in the query
parameter for GET API call or request body for POST API call, that API will be executed for
the org admin. By default, system will consider logged in user as the org admin.
All the mandatory catalog or learner filters/conditions are required for org admin API. If you
do not provide them, an Invalid Condition error will be thrown.
Learner conditions: person_no, learnerId, learner_username, learner_username_list
Catalog conditions: partNo, course_no, title, offering_id, offeringTemplateId

Request Body

{
"conditions": [
{
"name": "completionDate",
"operator": "=gt=",
"value": "2014-01-29"
},
{
"name": "completionDate",
"operator": "=lt=",
"value": "2014-04-29"
}
]
}

Note: For the search criteria offering_temp_id, you can specify a course name as well as
the course ID.
REST API Reference | Learning | 1740

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"id": "ofapr000000000002552",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002552"

},
{
"id": "ofapr000000000003862",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003862"
},
{
"id": "ofapr000000000004153",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004153"

},
{
"id": "ofapr000000000004290",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004290"
},
{
"id": "ofapr000000000004334",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000004334"
}
],
"totalResults": 5,
"startIndex": 1
}

Example: To return transcripts that have changed since last time stamp

Request Body

{
"conditions": [

{
"name": "updated_on",
"operator": "=ge=",
"value": "2009-07-29 11:29:32 AM"
}
]
}

Return Values

{
"results": [
{
"id": "ofapr000000000002840",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002840"
REST API Reference | Learning | 1741

},
{
"id": "ofapr000000000002860",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002860"
},
{
"id": "ofapr000000000002880",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002880"
},
{
"id": "ofapr000000000002940",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002940"
},
{
"id": "ofapr000000000002960",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000002960"
},
{
"id": "ofapr000000000003021",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003021"

},
{
"id": "ofapr000000000003026",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003026"
},
{
"id": "ofapr000000000003031",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003031"

},
{
"id": "ofapr000000000003036",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003036"
},
{
"id": "ofapr000000000003101",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000003101"

}
],
"startIndex": 1,
"facets": [],
"totalResults": 46,
"hasMoreResults": true,
"itemsPerPage": 10
}

Example: To find the details of the transcripts with action_no as a condition:


https://<hostname-api.sabacloud.com>/v1/transcripts/searchQuery
REST API Reference | Learning | 1742

Request Body

{
"conditions" : [{"name": "action_no", "operator": "==","value":"00001111"}]
}

Return Values

{
"facets": [],
"results": [
{
"id": "ofapr000000000001111",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001111"

}
],
"hasMoreResults": false,
"totalResults": 1,
"itemsPerPage": 10,
"startIndex": 1
}

Example: To find the details of the transcripts with learner_username as query parameter:
https://<hostname-api.sabacloud.com>/v1/transcripts/searchQuery

Request Body

{
"conditions" : [{"name": "learner_username", "operator": "==","value": "someuser@saba.com"}]
}

Return Values

{
"results": [
{
"id": "ofapr000000000065629",
"href":
"https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000065629"
},
{
"id": "ofapr000000000067369",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000067369"

},
{
"id": "ofapr000000000086789",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000086789"

},
{
"id": "ofapr000000000113395",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113395"

},
{
"id": "ofapr000000000113475",
REST API Reference | Learning | 1743

"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113475"

},
{
"id": "ofapr000000000113517",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113517"

},
{
"id": "ofapr000000000113975",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113975"

},
{
"id": "ofapr000000000113976",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113976"

},
{
"id": "ofapr000000000114236",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000114236"

},
{
"id": "ofapr000000000114237",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000114237"

}
],
"facets": [],
"totalResults": 11,
"startIndex": 1,
"itemsPerPage": 10,
"hasMoreResults": true
}

Example: To find the details of the transcripts with completionDate as query parameter:
https://<hostname-api.sabacloud.com>/v1/transcripts/searchQuery

Request Body

{
"conditions" : [{"name": "completionDate", "operator": "==","value": "2007-10-10"}]
}

Return Values

{
"facets": [],
"results": [
{
"id": "ofapr000000000001038",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001038"
},
{
"id": "ofapr000000000001521",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001521"
},
{
REST API Reference | Learning | 1744

"id": "ofapr000000000001541",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001541"
}
],
"hasMoreResults": false,
"totalResults": 3,
"itemsPerPage": 10,
"startIndex": 1
}

GET DETAILS OF TRANSCRIPT (Using the component framework)

Overview
Returns the details of the transcript.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/transcripts/:transcriptId

Calling Options
Table 488: Calling Options

Name Description Sample Value Data Type Required?

transcriptId Transcript's ID ofapr000000000015072 string Yes

Return Values

{
"updated_on": "2015-05-05T14:27:36.000-0400",
"end_date": "2014-03-26T00:00:00.000-0400",
"offering_temp_id": {
"id": "cours000000000007884",
"displayName": "Course Rich text",
"course_no": "00008888",
"version": "0.1"
},
"flags": 1,
"completionMode": 2,
"time_interval": 0,
"score": 7,
"archived": false,
"credits": 67,
"delivery_type": "eqcat000000000000008",
"id": "ofapr000000000114155",
REST API Reference | Learning | 1745

"start_date": "2014-03-26T05:05:18.000-0400",
"action_status": "200",
"offrng_start_date": "2014-03-26T00:00:00.000-0400",
"delivery": {
"id": "eqcat000000000000008",
"displayName": "Virtual Classroom"
},
"delivered_by": {
"person_no": "00001000",
"displayName": "Sabas Community Facilitator",
"id": "emplo000000000001000"
},
"target_date": "2014-03-26T05:20:18.000-0400",
"learner_id": null,
"end_time": null,
"created_by": "bwillis@saba.com",
"start_time": null,
"created_on": "2014-03-26T05:05:18.000-0400",
"grade": "",
"party_id": {
"id": "emplo000000000001279",
"displayName": "sourabh makkar",
"person_no": "00001259 "
},
"updated_by": "superuser",
"completion_date": "2015-02-19T01:40:24.000-0500",
"registration": {
"id": "regdw000000000112099",
"displayName": null
},
"location": {
"location_no": null,
"displayName": "Mumbai",
"id": null
},
"action_no": "00112132",
"added_to_profile_on": "2014-03-26T05:05:18.000-0400",
"status": 200
}

GET DETAILS OF TRANSCRIPT

Overview
Returns the details of the transcript.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/transcript/:transcriptId
Note:
REST API Reference | Learning | 1746

The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/transcript/:transcriptId

URL (User-friendly)
You can use a user-friendly URL which accepts the action_no instead of the internal
Transcript's ID.
https://<hostname-api.sabacloud.com>/v1/transcript/action_no%3D<TranscriptsActionNo>

Calling Options
Table 489: Calling Options

Name Description Sample Value Data Type Required?

transcriptId Transcript's ID ofapr000000000015072 string Yes

Return Values

{
"end_date": "2023-05-09T08:40:49.000+0000",
"updated_on": "2023-05-09T08:40:50.000+0000",
"start_date_ts": "2020-09-03T17:20:26Z",
"offering_temp_id": {
"id": "cours000000000033762",
"displayName": "Expiration Course",
"course_no": "ECCOURSE",
"version": null
},
"flags": 1,
"completionMode": 2,
"time_interval": 0,
"duration": 0.0,
"archived": 0,
"score": 1,
"credits": 0,
"end_date_ts": "2023-05-09T00:00:00Z",
"id": "ofapr000000000011970",
"completion_date_ts": "2023-05-09T08:40:49.731Z",
"customValues": {
"custom0": null,
"custom2": null,
"custom3": null
},
"start_date": "2020-09-03T17:20:26.000+0000",
"action_status": "200",
"offrng_start_date": null,
"delivery": {
"id": "eqcat000000000000005",
"displayName": "Web-Based"
},
"delivered_by": {
"person_no": "0000005513",
"displayName": "swati thakur",
"id": "emplo000000000010743"
},
"learner_id": null,
REST API Reference | Learning | 1747

"end_time": null,
"created_by": "shilpa",
"start_time": null,
"created_on": "2020-09-03T17:20:26.000+0000",
"party_id": {
"id": "emplo000000000010743",
"displayName": "thakur swati",
"person_no": "0000005513",
"username": "SWAT"
},
"grade": "z",
"updated_by": "swat",
"registration": {
"id": "regdw000000000011428",
"displayName": null
},
"location": null,
"completion_date": "2023-05-09T08:40:49.000+0000",
"action_no": "0000010315",
"added_to_profile_on": "2020-09-03T17:20:26.000+0000",
"status": 200
}

GET META DETAILS OF TRANSCRIPT

Overview
Returns the meta details of the transcript.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/transcripts/meta

Return Values

{
"sampleData": {
"created_on": null,
"updated_on": null,
"created_by": null,
"updated_by": null,
"start_date": null,
"end_date": null,
"time_interval": 0,
"delivery_type": null,
"delivery": null,
"offering_temp_id": null,
"action_no": null,
"completion_date": null,
"action_status": null,
REST API Reference | Learning | 1748

"score": null,
"grade": null,
"delivered_by": null,
"added_to_profile_on": null,
"offrng_start_date": null,
"completionMode": 0,
"target_date": null,
"flags": null,
"learner_id": null,
"credits": null,
"start_time": null,
"end_time": null,
"location": null,
"party_id": null,
"status": null,
"id": null,
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000000001"

},
"name": "Offering Action Profile",
"displayName": "Completed Courses (Transcript)",
"attributes": [
{
"name": "action_no",
"displayName": "Completed Course Number",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "action_status",
"displayName": "Completion Status",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000163/values"

},
"display": true,
"isSearchFilter": false
},
{
"name": "added_to_profile_on",
"displayName": "Added to Profile On",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 1749

"name": "completed_course_type",
"displayName": "Completed Course Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "completion_date",
"displayName": "Date Marked Complete",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "completionMode",
"displayName": "Completion Mode",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "course_no",
"displayName": "Course ID",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "created_id",
"displayName": "Created Id",
"description": null,
REST API Reference | Learning | 1750

"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created on",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "credits",
"displayName": "Credits",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "delivered_by",
"displayName": "Marked Complete by",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "delivery",
"displayName": "Delivery",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "delivery_type",
"displayName": "Delivery Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
REST API Reference | Learning | 1751

"isSearchFilter": true
},
{
"name": "duration",
"displayName": "Duration (HH:MM)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "end_date",
"displayName": "Ended/Completed On Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "end_time",
"displayName": "End Time",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "flags",
"displayName": "Success",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000183/values"

},
"display": true,
"isSearchFilter": false
},
{
"name": "grade",
"displayName": "Grade",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
REST API Reference | Learning | 1752

"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "Completed Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "learner_id",
"displayName": "Learner Id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "location",
"displayName": "Location",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "offering_temp_id",
"displayName": "offering_temp_id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": true
},
{
"name": "offrng_start_date",
"displayName": "Class Start Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Learning | 1753

{
"name": "party_id",
"displayName": "party_id",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "score",
"displayName": "Score",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "start_date",
"displayName": "Registration Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "start_time",
"displayName": "Start Time",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"choices": {
"href": "https://<hostname-api.sabacloud.com>/v1/list/sysli000000000000173/values"

},
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 1754

"name": "target_date",
"displayName": "Target Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "time_interval",
"displayName": "Time Interval",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated by",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_on",
"displayName": "Updated on",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "custom1",
REST API Reference | Learning | 1755

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
"description": "custom2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "custom3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "custom4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "custom5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
REST API Reference | Learning | 1756

"name": "custom6",
"displayName": "Custom6",
"description": "custom6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "custom7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "custom8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "custom9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}

CREATE A NEW TRANSCRIPT

Overview
Creates a new transcript. If the CourseID is passed as an input, then the REST API will work
as it is. If the CourseID is not passed but the CourseNo or CourseName is passed as an input,
REST API Reference | Learning | 1757

the REST API will consider it as an existing catalog otherwise as a non-existing catalog and
create a new course based on CourseNo and CourseName details.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/transcript
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/transcript

Calling Options
Table 490: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.offer- string Yes


ing.adhoclearn-
ing.
AdHocLearn-
ingTranscriptDe-
tail

learners Learners ["java.util.ArrayL- string Yes


ist",[{"@type":
learnerId supports
"com.saba.offer-
lookup (ID, Username,
ing.adhoclearn-
person_no, email,
ing.Learner-
ss_no).
Info","learnerId":
"CONE","grade":
"B","score":
["java.math.Big-
Decim-
al",99],"complete-
dOnDate":
{"@type":
"date","time":
"2013-11-06"},"ad-
dedToProfileOn":
{"@type":
"date","time":
"2013-11-05"}}]]

location Location Pune string No


REST API Reference | Learning | 1758

Name Description Sample Value Data Type Required?

deliveryType Delivery Type eqcat000000000000004 string No

completionDate Completion Date 2013-11-18 string Yes

fos FOS ["java.util.ArrayL- object No


ist",
[{"@type":"com.saba.of-
fering.ad-
hoclearning.FOS-
Info",
"fosId":fldst000000000001043",
"cred-
its":["java.math.Big-
Decimal",23]}]]

competencies Competencies object No


[ "java.util.ArrayL-
ist",
[{"@type":"com.saba.of-
fering.ad-
hoclearning.Com-
petencyInfo",
"competency-
Id":compt000000000001003",
"competencyLev-
elId":cplvl000000000001029"}]]

courseId Course's ID cours000000000200400 string No

endTime End Time string No

version Version 1.1 string No

startTime Start Time string No

deliveredBy Delivered By string No


learnerId supports
lookup (ID, Username,
person_no, email,
ss_no).

duration Duration 10:00 string No

offeringEndDate Offering End Date 2017-12-12 string No

description Description string No

courseNo Course No 121212 string No

offering- Ended/Completed On string No


StartDate date

courseName Course Name testing string No


REST API Reference | Learning | 1759

Name Description Sample Value Data Type Required?

defaultCour- Default Course Cred- ["java.math.Big- string No


seCredits its Decimal",10]

customValues Custom values ["list",[{"@type": string No


"CustomAttribute-
ValueDe-
tail","name": "cus-
tom0","datatype":
{"@type": "Cus-
tomAttribute-
Datatype","value":
18},"value": null,
"displayName":
"cus-
tom0"},{"@type":
"CustomAttribute-
ValueDe-
tail","name":"cus-
tom1", "datatype":
{"@type": "Cus-
tomAttribute-
Datatype","value":
18}, "value":
null,"display-
Name": "cus-
tom1"},{ "@type":
"CustomAttribute-
ValueDe-
tail","name": "cus-
tom2","datatype":
{"@type": "Cus-
tomAttribute-
Datatype","value":
18}, "value":
null,"display-
Name": "cus-
tom2"},{ "@type":
"CustomAttribute-
ValueDe-
tail","name": "cus-
tom3","datatype":
{ "@type": "Cus-
tomAttribute-
Datatype","value":
18 }, "value":
null,"display-
Name": "cus-
tom3"} ]]
REST API Reference | Learning | 1760

Request Body (Course in catalog)

{
"@type":"com.saba.offering.adhoclearning.AdHocLearningTranscriptDetail",
"learners":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.LearnerInfo",
"learnerId":"persn000000000001000",
"grade":null,
"score":[
"java.math.BigDecimal",
99
],
"completedOnDate":{
"@type":"date",
"time":"2013-11-06"
},
"addedToProfileOn":{
"@type":"date",
"time":"2013-11-05"
}
}
]
],
"location":"Pune",
"deliveryType":"eqcat000000000000004",
"fos":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.FOSInfo",
"fosId":"fldst000000000001043",
"credits":[
"java.math.BigDecimal",
23
]
}
]
],
"competencies":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.CompetencyInfo",
"competencyId":"compt000000000001003",
"competencyLevelId":"cplvl000000000001029"
}
]
],
"courseId":"cours000000000200400",
"courseNo":null,
"courseName":null,
"defaultCourseCredits":[
"java.math.BigDecimal",
0
],
"customValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
REST API Reference | Learning | 1761

"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"test_custom_1",
"displayName":"custom0"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom1"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom2"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom3"
}
]
]
}

Note: addedToProfileOn is the actual registration date for the learner, i.e. when it was added
to the learner's profile.

Request Body (Course not in catalog)

{
"@type":"com.saba.offering.adhoclearning.AdHocLearningTranscriptDetail",
"learners":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.LearnerInfo",
"learnerId":"persn000000000001000",
"grade":null,
"score":[
"java.math.BigDecimal",
99
],
"completedOnDate":{
REST API Reference | Learning | 1762

"@type":"date",
"time":"2013-11-06"
},
"addedToProfileOn":{
"@type":"date",
"time":"2013-11-05"
}
}
]
],
"location":"Pune",
"deliveryType":"eqcat000000000000004",
"fos":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.FOSInfo",
"fosId":"fldst000000000001043",
"credits":[
"java.math.BigDecimal",
23
]
}
]
],
"competencies":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.CompetencyInfo",
"competencyId":"compt000000000001003",
"competencyLevelId":"cplvl000000000001029"
}
]
],
"courseId": null,
"courseNo":"demo_course",
"courseName":"demo_course_1",
"defaultCourseCredits":[
"java.math.BigDecimal",
0
],
"customValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"test_custom_1",
"displayName":"custom0"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
REST API Reference | Learning | 1763

"value":null,
"displayName":"custom1"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom2"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom3"
}
]
]
}

Note: addedToProfileOn is the actual registration date for the learner, i.e. when it was added
to the learner's profile.

Request Body (Using lookups to identify a learner)

{
"@type":"com.saba.offering.adhoclearning.AdHocLearningTranscriptDetail",
"learners":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.LearnerInfo",
"learnerId":"uone@saba.com",
"grade":null,
"score":[
"java.math.BigDecimal",
99
],
"completedOnDate":{
"@type":"date",
"time":"2013-11-06"
},
"addedToProfileOn":{
"@type":"date",
"time":"2013-11-05"
}
}
]
],
"location":"Pune",
"deliveryType":"eqcat000000000000004",
"fos":[
"java.util.ArrayList",
[
REST API Reference | Learning | 1764

{
"@type":"com.saba.offering.adhoclearning.FOSInfo",
"fosId":"fldst000000000001043",
"credits":[
"java.math.BigDecimal",
23
]
}
]
],
"competencies":[
"java.util.ArrayList",
[
{
"@type":"com.saba.offering.adhoclearning.CompetencyInfo",
"competencyId":"compt000000000001003",
"competencyLevelId":"cplvl000000000001029"
}
]
],
"courseId":"cours000000000200400",
"courseNo":null,
"courseName":null,
"deliveredBy":"457-55-5462",
"defaultCourseCredits":[
"java.math.BigDecimal",
0
],
"customValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"test_custom_1",
"displayName":"custom0"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom1"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom2"
},
{
REST API Reference | Learning | 1765

"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom3"
}
]
]
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

transcriptId Action No Transcript

learners Learner Person ,External

Location Location Location

Competancies Competancies CompetencyProfile

Fos Field Of Study Field Of Study

deliveryType Delivery Type Category Definition

Return Values

{
"@type": "com.saba.learning.services.transcript.AdhocTranscriptCreationInfo",
"errorCount": 0,
"errorMap": {
"@type": "map"
},
"successMap": {
"@type": "map",
"persn000000000001000": {
"@type": "com.saba.learning.services.transcript.TranscriptInfo",
"transcriptId": "ofapr000000000005792",
"transcriptStatus": {
"@type": "com.saba.offering.offeringaction.CompletionStatus",
"description": "Successful",
"statusIntValue": 200,
"statusValue": "200",
"name": "Successful",
"key": "200"
}
}
},
"successCount": 1,
"courseId": "cours000000000200400"
}
REST API Reference | Learning | 1766

UPDATE A TRANSCRIPT

Overview
Updates a transcript.
Note: This API does not support partial updates.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/transcript/:transcriptId
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/learning/transcript/:transcriptId

URL (User-friendly)
You can use a user-friendly URL which accepts the action_no instead of the internal
Transcript's ID.
https://<hostname-api.sabacloud.com>/v1/transcript/action_no%3D<TranscriptsActionNo>

Calling Options
Table 491: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.offer- string Yes


ing.offeringac-
tion.OfferingAc-
tionProfileDetail

transcriptId Transcript's ID ofapr000000000015122 string Yes

durationStr Duration 00:00 string No

completionDate Completion Date 2013-11-18 string Yes

registrationDate Registration Date 2013-07-05 string Yes

completion- Completion Status 700 string No


StatusValue Value

totalProvider- Total Provider Credits ["java.math.Big- string No


Credits Decimal",10]
REST API Reference | Learning | 1767

Name Description Sample Value Data Type Required?

totalCredits Total Credits ["java.math.Big- string No


Decimal",10]

Pending Approval Completion Status string No


Display

grade Grade B string No

startTime Start Time string No

endTime End Time string No

offering- Ended/Completed On {"@type": string No


StartDate date "date","time":
"2017-11-18"}

offeringEndDate Offering End Date {"@type": string No


"date","time":
"2017-11-18"}

score Score ["java.math.Big- string No


Decimal",50]

deliveryTypeR- Delivery Type Refer- {"@type": "Deliv- string No


eference ence eryd
"i, "e
: qcat000000000000004"}

ceCourseCredits Course Credits string No

courseCompeten- Course Competencies ["java.util.ArrayL- string No


cies ist",[{"@type":
"com.saba.offer-
ing.adhoclearn-
ing.Competency-
Info","compet-
encyId":
"compt000000000001042"c
,om-
petencyLevelId":
"cplvl000000000001139"}]]

customValues Custom values ["list",[{"@type": object No


"CustomAttribute-
ValueDe-
tail","name": "cus-
tom0","datatype":
{"@type": "Cus-
tomAttribute-
Datatype","value":
18},"value": null,
"displayName":
"custom0"}]]
REST API Reference | Learning | 1768

Request Body

{
"@type": "com.saba.offering.offeringaction.OfferingActionProfileDetail",
"durationStr": "00:00",
"completionDate": {
"@type": "date",
"time": "2013-11-18"
},
"registrationDate": {
"@type":"date",
"time":"2013-07-05"
},
"grade": "B",
"startTime": null,
"endTime": null,
"offeringStartDate": null,
"offeringEndDate": {"@type": "date","time": "2017-11-18"},
"score": [
"java.math.BigDecimal",
55
],
"customValues": [
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom0"
}
]
]

"deliveryTypeReference": {
"@type": "Delivery",
"id": "eqcat000000000000004"
}
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

transcriptId Action No Transcript

learners Learner Person ,External

Location Location Location

Competancies Competancies CompetencyProfile

Fos Field Of Study Field Of Study

deliveryType Delivery Type Category Definition


REST API Reference | Learning | 1769

UPDATE CUSTOM FIELDS OF A TRANSCRIPT

Overview
Updates the custom fields of a transcript.
Note: This Web service supports partial update i.e. only the custom fields passed in REQUEST
will get updated.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/transcript/:transcriptId/custom
Example:
https://<hostname-api.sabacloud.com>/v1/transcript/ofapr000000000282611/custom

URL (User-friendly)
You can use a user-friendly URL which accepts the action_no instead of the internal
Transcript's ID.
https://<hostname-api.sabacloud.com>/v1/transcript/action_no%3D<TranscriptsActionNo>/custom

Calling Options
Table 492: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.offer- string Yes


ing.offeringac-
tion.OfferingAc-
tionProfileDetail

transcriptId Transcript's ID ofapr000000000015122 string Yes


REST API Reference | Learning | 1770

Name Description Sample Value Data Type Required?

customValues Custom values object No


REST API Reference | Learning | 1771

Name Description Sample Value Data Type Required?

[
"list",
[
{

"@type":"Cus►
tomAttribute►
ValueDetail",

"name":"cus►
tom0",
"data►
type":{

"@type":"Cus►
tomAttribute►
Datatype",
"value":18

},

"value":null,
"display►
Name":"cus►
tom0"
},
{

"@type":"Cus►
tomAttribute►
ValueDetail",

"name":"cus►
tom1",
"data►
type":{

"@type":"Cus►
tomAttribute►
Datatype",
"value":18

},

"value":null,
"display►
Name":"cus►
tom1"
},
{

"@type":"Cus►
tomAttribute►
ValueDetail",

"name":"cus►
tom2",
"data►
type":{
REST API Reference | Learning | 1772

Name Description Sample Value Data Type Required?

"@type":"Cus►
tomAttribute►
Datatype",
"value":18

},

"value":null,
"display►
Name":"cus►
tom2"
},
{

"@type":"Cus►
tomAttribute►
ValueDetail",

"name":"cus►
tom3",
"data►
type":{

"@type":"Cus►
tomAttribute►
Datatype",
"value":18

},

"value":null,
"display►
Name":"cus►
tom3"
}
]
]

Request Body

{
"@type":"com.saba.offering.offeringaction.OfferingActionProfileDetail",
"customValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"custom_test_1",
"displayName":"custom0"
},
{
REST API Reference | Learning | 1773

"@type":"CustomAttributeValueDetail",
"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"custom_test_2",
"displayName":"custom1"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom2"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom3"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom4",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom4"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom5",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom5"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom6",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom6"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom7",
REST API Reference | Learning | 1774

"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom7"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom8",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"test_2",
"displayName":"custom8"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom9",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":10
},
"value":{
"@type":"date",
"time":"2016-01-26"
},
"displayName":"custom9"
}
]
]
}

DELETE A TRANSCRIPT

Overview
Deletes a transcript.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/transcripts/:transcriptId

URL (User-friendly)
You can use a user-friendly URL which accepts the action_no instead of the internal
Transcript's ID.
https://<hostname-api.sabacloud.com>/v1/transcript/action_no%3D<TranscriptsActionNo>
REST API Reference | Learning | 1775

Calling Options
Table 493: Calling Options

Name Description Sample Value Data Type Required?

transcriptId Transcript's ID ofapr000000000015122 string Yes

Return Values

200 status code

Training Unit
REST endpoints for the learning data.

GET ALL TRAINING UNITS

Overview
Returns all Training Units for which the user does has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit?count=:count&startPage=:startPage

Calling Options
Table 494: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Learning | 1776

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"name": "Aligning people to your business strategy, measuring progress, rewarding
performance and actively developing your human capital every day drives engagement
and inspires greatness. Cornerstone SBX helps everyone understand your business strategy
and their role in it",
"id": "tunit000000000001101",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001101"

},
{
"name": "asd",
"id": "tunit000000000001322",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001322"

},
{
"name": "Books TU",
"id": "tunit000000000001008",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001008"

},
{
"name": "businessunit1_tunits",
"id": "tunit000000000001200",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001200"

},
{
"name": "da",
"id": "tunit000000000001154",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001154"

},
{
"name": "dd",
"id": "tunit000000000001151",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001151"

},
{
"name": "demo training unit",
"id": "tunit000000000001061",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001061"

},
{
"name": "demo TU 11",
"id": "tunit000000000001060",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001060"

},
{
"name": "demo TU Update 22",
"id": "tunit000000000001062",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001062"

},
REST API Reference | Learning | 1777

{
"name": "ggg",
"id": "tunit000000000001149",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001149"

}
],
"totalResults": 82,
"hasMoreResults": true,
"itemsPerPage": 10
}

FIND DETAILS OF TRAINING UNIT

Overview
Returns the details of the training unit along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage
REST API Reference | Learning | 1778

Calling Options
Table 495: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
The following fields
are supported:
• name
• available_from
• discontinued_from
• restricted_access

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "TU REST Test 104",
"id": "tunit000000000001280",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001280"

}
],
"totalResults": 1,
"hasMoreResults": false
}
REST API Reference | Learning | 1779

FIND DETAILS OF TRAINING UNIT (Using POST - Range based


search)

Overview
Returns the details of the training unit along with the ID, Name and the Deeplink URL based
on the provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 496: Calling Options

Name Description Sample Value Data Type Required?

conditions > The search criteria i.e. available_from string Yes


name the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
The following fields
are supported:
• name
• available_from
• discontinued_from
• restricted_access

conditions > value The search value for 2013-05-09 string Yes
the specified search
criteria.
REST API Reference | Learning | 1780

Name Description Sample Value Data Type Required?

conditions > oper- The search operator =gt= string Yes


ator such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions": [
{
"name": "available_from",
"operator": "=gt=",
"value": "2013-05-09"
}
]
}

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": ",",
"id": "tunit000000000001311",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001311"

},
{
"name": "<",
"id": "tunit000000000001309",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001309"

},
{
"name": ">",
"id": "tunit000000000001310",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001310"

},
REST API Reference | Learning | 1781

{
"name": "!@#$%^&*()_+=-}{][:';|/",
"id": "tunit000000000001308",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001308"

},
{
"name": "!@#$%^&*()_+=-}{][:';|\\?><,./",
"id": "tunit000000000001307",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001307"

},
{
"name": "11",
"id": "tunit000000000001240",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001240"

},
{
"name": "aaa",
"id": "tunit000000000001100",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001100"

},
{
"name":
"abcdefghijklmnopqrstuvwxyz123456789123456789123456789123456789123456789123456789123456789123456789123456789",

"id": "tunit000000000001302",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001302"

},
{
"name": "As a pioneer in learning management, Cornerstone SBX has grown in the
past 16",
"id": "tunit000000000001306",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001306"

},
{
"name": "Kedar TU Storefront",
"id": "tunit000000000001261",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001261"

}
],
"totalResults": 53,
"hasMoreResults": true
}

GET META DETAILS OF TRAINING UNIT

Overview
Returns the meta details of the Training Unit.

Requires OAuth
No
REST API Reference | Learning | 1782

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/meta

Return Values

{
"sampleData": {
"priceList": null,
"available_from": "2014-08-08T02:46:16.976-0400",
"discontinued_from": null,
"validtill_days": null,
"discountEntries": null,
"name": null,
"id": null,
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000000001"

},
"name": "TrainingUnit",
"displayName": "Training Unit",
"attributes": [
{
"name": "available_from",
"displayName": "Available From",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "currencySelectionMode",
"displayName": "Currency Selection Mode",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "discontinued_from",
"displayName": "Discontinued From",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 1783

"name": "discountEntries",
"displayName": "Discount Entries",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "DiscountEntries",
"displayName": "Discount Entries",
"attributes": [
{
"name": "currency_id",
"displayName": "Currency",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "discount",
"displayName": "Discount",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"minimumValue": 1,
"maximumValue": 100,
"isSearchFilter": false
},
{
"name": "high_value",
"displayName": "High Value",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 1,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "low_value",
"displayName": "Low Value",
"description": null,
REST API Reference | Learning | 1784

"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"minimumValue": 1,
"isSearchFilter": false
},
{
"name": "trainingunit_id",
"displayName": "Training Unit",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
}
]
}
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Name",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "priceband_id",
"displayName": "Priceband",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "priceband_units",
"displayName": "Priceband Units",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
REST API Reference | Learning | 1785

"isSearchFilter": false
},
{
"name": "priceList",
"displayName": "Price List Entry",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"display": true,
"component": {
"name": "Price List Entry",
"displayName": "Price List Entry",
"attributes": [
{
"name": "amount",
"displayName": "Amount",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "charge_type",
"displayName": "Charge Type",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "curr_id",
"displayName": "Currency Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "displayValue",
"displayName": "Display Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
REST API Reference | Learning | 1786

"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "part_id",
"displayName": "Part Id",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price_list_id",
"displayName": "Price List ID",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": false
},
{
"name": "price_type",
"displayName": "Price Type",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "securityDomain",
"displayName": "Security Domain",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true
},
{
"name": "validtill_days",
"displayName": "Valid Till Days",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
REST API Reference | Learning | 1787

"display": true,
"isSearchFilter": true
},
{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Learning | 1788

"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
REST API Reference | Learning | 1789

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "restricted_access",
"displayName": "Restricted Access",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
}
]
}

GET DETAILS OF A PARTICULAR TRAINING UNIT

Overview
Returns complete information about a training unit based on the Training Unit's ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>

Calling Options
Table 497: Calling Options

Name Description Sample Value Data Type Required?

id Training Unit's ID tun- string Yes


it000000000001050
REST API Reference | Learning | 1790

Return Values

{
"priceList": [
{
"displayValue": "10 USD",
"curr_id": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"amount": 10,
"id": "plent000000000003236"
}
],
"available_from": "2014-02-28T00:00:00.000-0500",
"discontinued_from": null,
"validtill_days": null,
"discountEntries": [
{
"discount": 5,
"low_value": 1,
"high_value": 100,
"id": "tdisc000000000001020"
}
],
"name": "TU for company1",
"id": "tunit000000000001020",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

CREATE A NEW TRAINING UNIT

Overview
Allows creating a new training unit.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit

Calling Options
Table 498: Calling Options

Name Description Sample Value Data Type Required?

name Name of Training Unit abc string Yes


REST API Reference | Learning | 1791

Name Description Sample Value Data Type Required?

priceList Currency with price [{"curr_id": { "dis- object No


for Training Unit playName":
"USD"},"amount":
Supports lookup (Cur-
10}]
rency).

currencySelec- Currency selection DesignatedCur- string No


tionMode mode for Training rency
Unit. This can be one
of the following:
• DesignatedCur-
rency
• DesignatedAndDe-
faultCurrency
• AllCurrenciesInSys-
tem

available_from Available from date 2009-07- string Yes


for Training Unit 28T00:00:00.000+0530

discontin- Discontinued from 2014-07- string No


ued_from date for Training Unit 28T00:00:00.000+0530

validtill_days Valid till days 3000 string No

discountEntries Discounts for Training [{"high_value":100,"low_value": object No


Unit 11,"discount": 5}]

customValues Custom values string No

securityDomain The domain for the object Yes


Training Unit {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "displayName":
"world"
}

restricted_ac- Restricted training false boolean No


cess unit, helps determine
whether training unit
agreement of this
training unit has re-
stricted access to it
or not. Accepts: true |
false

Request Body

{
"priceList": [
REST API Reference | Learning | 1792

{
"amount": 10,
"curr_id": {
"id": "crncy000000000000167",
"displayName": "USD"
}
}
],
"available_from": "2014-02-28T00:00:00.000-0500",
"discontinued_from": null,
"validtill_days": null,
"discountEntries": [
{
"discount": 5,
"low_value": 1,
"high_value": 100
}
],
"name": "TU REST Test 102",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"restricted_access": true
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

priceList.curr_id Currency Currency

securityDomain Sercurity Domain Domain

Return Values

{
"id": "tunit000000000001142",
"displayName": "TU REST Test 102",
"href": "https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001142"
}

UPDATE DETAILS OF A TRAINING UNIT

Overview
Allows updating an existing training unit based on the Training Unit's ID.

Requires OAuth
No

Method
PUT
REST API Reference | Learning | 1793

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>

Calling Options
Table 499: Calling Options

Name Description Sample Value Data Type Required?

id Training Unit's ID tun- string Yes


it000000000001322

name Name of Training Unit abc string No

available_from Available from date 2009-07- string No


for Training Unit 28T00:00:00.000+0530

discontin- Discontinued from 2014-07- string No


ued_from date for Training Unit 28T00:00:00.000+0530

validtill_days Valid till days 3000 string No

customValues Custom values string No

securityDomain The domain for the object No


Training Unit {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "displayName":
"world"
}

restricted_ac- Restricted training false boolean No


cess unit, helps determine
whether training unit
agreement of this
training unit has re-
stricted access to it
or not. Accepts: true |
false

Request Body

{
"name": "TraningUnit Test101 modified",
"available_from": "2009-07-27T18:30:00.000+0530",
"discontinued_from": "2029-07-30T18:30:00.000+0530",
"validtill_days":1000
"id": "tunit000000000001127",
REST API Reference | Learning | 1794

"customValues": {
"custom1": "qasw",
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null,
"custom0": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "Domain_IndiaDev"
},
"restricted_access": true
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

securityDomain Sercurity Domain Domain

DELETE A PARTICULAR TRAINING UNIT

Overview
Delete a training unit based on the Training Unit's ID that is passed as a parameter value.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>
REST API Reference | Learning | 1795

Calling Options
Table 500: Calling Options

Name Description Sample Value Data Type Required?

id Training Unit's ID tun- string Yes


it000000000001322

GET DETAILS OF A PARTICULAR DISCOUNT ENTRY FOR TRAINING


UNIT

Overview
Returns complete information about a discount entry for the training unit based on the
Training Unit's ID and the Discount Entry's ID that are passed as parameter values.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/discountEntries/:deid

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/discountEntries/:deid

Calling Options
Table 501: Calling Options

Name Description Sample Value Data Type Required?

tuid Training Unit's ID tun- string Yes


it000000000001322

deid Discount Entries's ID tdisc000000000001122 string Yes

Return Values

{
"discount": 5,
"low_value": 1,
"high_value": 5,
REST API Reference | Learning | 1796

"id": "tdisc000000000001122"
}

CREATE A NEW DISCOUNT ENTRY FOR TRAINING UNIT

Overview
Allows creating a new discount entry for the training unit.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/discountEntries

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/discountEntries

Calling Options
Table 502: Calling Options

Name Description Sample Value Data Type Required?

tuid Training Unit's ID tun- string Yes


it000000000001322

low_value Low value 1 string Yes

high_value High value 100 string Yes

discount Discount 10 string Yes

Request Body

{
"discount": 5,
"low_value": 1,
"high_value":5
}
REST API Reference | Learning | 1797

Return Values

{
"id": "tdisc000000000001122",
"displayName": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001331/discountEntries/tdisc000000000001122"
}

DELETE A PARTICULAR DISCOUNT ENTRY FOR TRAINING UNIT

Overview
Delete a discount entry for the training unit based on the Discount Entry's ID and Training
Unit's ID that are passed as parameter values.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/discountEntries/:deid

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/discountEntries/:deid

Calling Options
Table 503: Calling Options

Name Description Sample Value Data Type Required?

tuid Training Unit's ID tun- string Yes


it000000000001322

deid Discount Entries's ID tdisc000000000001122 string Yes

GET DETAILS OF A PARTICULAR PRICELIST ENTRY FOR TRAINING


UNIT

Overview
Returns complete information about a pricelist entry for the training unit based on the
Training Unit's ID and the pricelist Entry's ID that are passed as parameter values.
REST API Reference | Learning | 1798

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/priceList/:plid

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/priceList/:plid

Calling Options
Table 504: Calling Options

Name Description Sample Value Data Type Required?

tuid TrainingUnit's ID tun- string Yes


it000000000001322

plid Pricelist's ID plent000000000003347 string Yes

Return Values

{
"amount": 10,
"displayValue": "10 PND",
"curr_id": {
"id": "crncy000000000002353",
"displayName": null
},
"id": "plent000000000003347"
}

CREATE A NEW PRICELIST ENTRY FOR TRAINING UNIT

Overview
Allows creating a new pricelist entry for the training unit.

Requires OAuth
No

Method
POST
REST API Reference | Learning | 1799

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/priceList

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/priceList

Calling Options
Table 505: Calling Options

Name Description Sample Value Data Type Required?

tuid TrainingUnit's ID tun- string Yes


it000000000001050

curr_id Currency for pricelist object Yes


{"id":
Supports lookup (Cur- "crncy000000000000167",
rency). "displayName":
"USD"}

amount Amount per training 10 string Yes


unit

Request Body

{
"curr_id": {
"id": "crncy000000000002353",
"displayName": null
},
"amount":10
}

Return Values

{
"id": "plent000000000003347",
"displayName": null,
"href":
"https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001221/priceList/plent000000000003347"
}
REST API Reference | Learning | 1800

UPDATE DETAILS OF A PARTICULAR PRICELIST ENTRY FOR


TRAINING UNIT

Overview
Updates a pricelist entry for the training unit based on the Price list entry's ID and Training
Unit's ID that are passed as parameter values.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/priceList/:plid

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/priceList/:plid

Calling Options
Table 506: Calling Options

Name Description Sample Value Data Type Required?

tuid TrainingUnit's ID tun- string Yes


it000000000001050

plid Price list entry's ID plent000000000003347 string Yes

amount Amount per training 10 string Yes


unit

Request Body

{
"amount":45
}

DELETE A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT

Overview
Deletes a pricelist entry for the training unit based on the Price list entry's ID and Training
Unit's ID that are passed as parameter values.
REST API Reference | Learning | 1801

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/trainingunit/:tuid/pricelist/:plid

URL (User-friendly)
You can use a user-friendly URL which accepts the name instead of the internal Training
Unit's ID.
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/pricelist/:plid

Calling Options
Table 507: Calling Options

Name Description Sample Value Data Type Required?

tuid TrainingUnit's ID tun- string Yes


it000000000001050

plid Price list entry's ID plent000000000003347 string Yes

UPDATE LOCALE-SPECIFIC DETAILS TRAINING UNIT

Overview
Update locale-specific attributes of training unit.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example:
https://<hostname-api.sabacloud.com>/v1/trainingunit/tunit000000000001050/locale
https://<hostname-api.sabacloud.com>/v1/trainingunit/name%3D<TrainingUnitsName>/locale
REST API Reference | Learning | 1802

Calling Options
Table 508: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- trainingunit string Yes


dated

instanceId Instance id of compon- tun- string Yes


ent it000000000001050

locale Locale id or display- {"id": "loc- object Yes


name al000000000000010",
"displayName":
Supports lookup (Loc-
"de_DE"}
ale).

name Name of training unit name string No

description Country description description string No

customValues Custom values {"custom0": "cus- string No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"customValues":{
"custom0": "custom 00",
"custom1": "custom 01"
}
}
]}
REST API Reference | Learning | 1803

Training Unit Agreement


REST endpoints for the learning data.

GET ALL TRAINING UNIT AGREEMENTS

Overview
Returns all Training Unit Agreements for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/tuagreement

Return Values

{
"facets": [],
"startIndex": 1,
"results": [
{
"id": "tutpo000000000001465",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001465"
},
{
"id": "tutpo000000000001582",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001582"
},
{
"id": "tutpo000000000001480",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001480"
},
{
"id": "tutpo000000000001501",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001501"
},
{
"id": "tutpo000000000001642",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001642"
},
{
"id": "tutpo000000000001520",
REST API Reference | Learning | 1804

"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001520"
},
{
"id": "tutpo000000000001581",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001581"
},
{
"id": "tutpo000000000001560",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001560"
},
{
"id": "tutpo000000000001466",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001466"
},
{
"id": "tutpo000000000001580",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001580"
}
],
"totalResults": 177,
"hasMoreResults": true,
"itemsPerPage": 10
}

GET DETAILS OF A PARTICULAR TRAINING UNIT AGREEMENT

Overview
Returns complete information about a training unit agreement based on the Training Unit
Agreement's ID that is passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/tuagreement/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the agreement_no instead of the internal
TrainingUnitAgreement's ID.
https://<hostname-api.sabacloud.com>/v1/tuagreement/agreement_no%3D<TrainingUnitAgreementsNo>
REST API Reference | Learning | 1805

Calling Options
Table 509: Calling Options

Name Description Sample Value Data Type Required?

id TrainingUnitAgree- string Yes


ment's ID

Return Values

{
"agreement_no": "00001040",
"available_units": 2,
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"expiration_date": "2015-09-17T00:00:00.000+0000",
"id": "tutpo000000000001040",
"is_shared_with_other_orgs": false,
"no_unit": 2,
"no_unit_used": 0,
"order_contact": null,
"owner_id": {
"displayName": "saba1",
"id": "cmpny000000000001120"
},
"source_id": null,
"sourceagreement_id": null,
"status": "200",
"trainingunit_id": {
"displayName": "Training Unit1",
"id": "tunit000000000001000"
}
}

GET META DETAILS OF TRAINING UNIT AGREEMENT

Overview
Returns the meta details of the Training Unit Agreement.

Requires OAuth
No
REST API Reference | Learning | 1806

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/tuagreement/meta

Return Values

{
"sampleData":{
"expiration_date":null,
"trainingunit_id":null,
"available_units":0,
"agreement_no":null,
"no_unit":0,
"order_contact":null,
"no_unit_used":0,
"sourceagreement_id":null,
"owner_id":null,
"source_id":null,
"status":"100",
"id":null,
"is_shared_with_other_orgs":false,
"href":"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000000001"

},
"name":"TrainingUnitAgreement",
"displayName":"Training Unit Agreement",
"attributes":[
{
"name":"agreement_no",
"displayName":"Agreement Number",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"available_units",
"displayName":"Available Training Units",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"display":true,
"isSearchFilter":true
},
{
"name":"currency",
"displayName":"Currency",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"display":true
REST API Reference | Learning | 1807

},
{
"name":"expiration_date",
"displayName":"Expiry Date",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"display":true,
"isSearchFilter":true
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"no_unit",
"displayName":"Number of Units",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"display":true,
"isSearchFilter":true
},
{
"name":"no_unit_used",
"displayName":"Number of Training Units Used",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"display":true,
"isSearchFilter":true
},
{
"name":"order_contact",
"displayName":"Order Contact",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"display":true
},
{
"name":"owner_id",
"displayName":"Organization",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
REST API Reference | Learning | 1808

"isReference":true,
"display":true
},
{
"name":"paymentTransactionId",
"displayName":"Payment Transaction ID",
"description":"payment transaction id",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"paymentType",
"displayName":"Payment Type",
"description":"payment type",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":true,
"isSearchFilter":false
},
{
"name":"sourceagreement_id",
"displayName":"Source Agreement",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"display":true
},
{
"name":"source_id",
"displayName":"Source Company",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"display":true
},
{
"name":"status",
"displayName":"Status",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"choices":{
"href":"https://<hostname-api.sabacloud.com>/v1/sysli000000000004006/values"
},
"display":true
},
{
"name":"trainingunit_id",
"displayName":"Training Unit",
"description":null,
REST API Reference | Learning | 1809

"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"display":true
},
{
"name":"custom0",
"displayName":"Custom0",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom1",
"displayName":"Custom1",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom2",
"displayName":"Custom2",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom3",
"displayName":"Custom3",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom4",
"displayName":"Custom4",
"description":null,
REST API Reference | Learning | 1810

"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom5",
"displayName":"Custom5",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom6",
"displayName":"Custom6",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom7",
"displayName":"Custom7",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom8",
"displayName":"Custom8",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
REST API Reference | Learning | 1811

"name":"custom9",
"displayName":"Custom9",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
}
]
}

FIND DETAILS OF TRAINING UNIT AGREEMENT

Overview
Returns the details of the Training Unit Agreement along with the ID and the Deeplink URL
based on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/tuagreement?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 510: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. agreement_no string Yes


the field name.
You can use any field
with "isSearchFilter":
true. You can also use
custom fields like cus-
tom0.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.
REST API Reference | Learning | 1812

Name Description Sample Value Data Type Required?

field_value The search value for 00001020 string Yes


the specified search
criteria.
Note: A date value
needs to be passed in
the following format:
yyyy-mm-dd
hh:mm:ss.ms
for eg:. 2016-09-06
00:00:00.0

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"id": "tutpo000000000001020",
"href":
"https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001020"
}
],
"totalResults": 1,
"hasMoreResults": false
}

CREATE A NEW TRAINING UNIT AGREEMENT

Overview
Allows creating a new training unit agreement.

Requires OAuth
No

Method
POST
REST API Reference | Learning | 1813

URL
https://<hostname-api.sabacloud.com>/v1/tuagreement

Calling Options
Table 511: Calling Options

Name Description Sample Value Data Type Required?

owner_id Organization for {"id": object Yes


Training Unit Agree- "cmpny000000000001001",ds
i-
ment playName": "Ex-
tOrganization"}
Supports lookup (Or-
ganization).

order_contact Order contact for {"id": "per- object No


Training Unit Agree- sn000000000200327","dis-
ment playName":
"aaa"}"
Supports lookup (Per-
son).

expiration_date Expiration date for 2014-07- string No


Training Unit Agree- 27T18:30:00.000+0530
ment

agreement_no Agreement Number 00001149 string No


for Training Unit
Note:
Agreement
agree-
Note: Can be passed ment_no is a
in case the auto-gen- required
eration of the agree- field when
ment number is dis- auto-genera-
abled. tion is dis-
abled.

trainingunit_id Trainingunit for Train- {"id": "tun- object Yes


ing Unit Agreement it000000000001020","dis-
playName":
Supports lookup
"Training_unit_1"}
(TrainingUnit).

no_unit No of units for Train- 1 string Yes


ing Unit Agreement

currency Currency {"id": object Yes


"crncy000000000000001",ds
i-
Supports lookup (Cur-
playName":
rency).
"USD"}
REST API Reference | Learning | 1814

Name Description Sample Value Data Type Required?

paymentType Payment Type for creditCard string Yes


Training Unit Agree-
ment
Note: Acceptable val-
ues:
• creditCard
• paypal
• invoiceMe

paymentTransac- Payment Transaction axxccssxx1001 string No


tionId ID for Training Unit
Agreement

invoiceRequest Payment using In- {"details":"Pay- object No


voiceMe for Training ment by in-
Unit Agreement voice","cus-
tom0":"abc","cus-
tom1":"def","cus-
tom2":"Ok","cus-
tom9":"9th"}

customValues Custom values {"custom0": "1"} string No

is_shared_with_oth- Is shared with other false boolean No


er_orgs orgs

Request Body

{
"owner_id": {
"id": "cmpny000000000001002",
"displayName": "Company3"
},
"agreement_no": "00001149",
"expiration_date": null,
"trainingunit_id": {
"id": "tunit000000000001058",
"displayName": "TU1"
},
"no_unit": 19,
"currency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"paymentType": "invoiceMe",
"is_shared_with_other_orgs": false,
"paymentTransactionId": "axxccssxx1001",
"invoiceRequest": {
"details": "Invoice payment for TUA via rest api test",
"custom0": "abc"
},
"customValues": {
"custom0": true,
REST API Reference | Learning | 1815

"custom1": "cust1",
"custom2": "cust2",
"custom3": "cust3",
"custom4": "cust4",
"custom5": "cust5",
"custom6": "cust6",
"custom7": "cust7",
"custom8": "cust8",
"custom9": "cust9"
}
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

owner_Id Organisation Organization, External

order_contact Order_contact Person

trainingunit_id Training Unit Training Unit

currency Currency Currency

Return Values

{
"id": "tutpo000000000001282",
"displayName": null,
"href": "https://<hostname-api.sabacloud.com>/v1/tuagreement/tutpo000000000001282"
}

UPDATE DETAILS OF A TRAINING UNIT AGREEMENT

Overview
Allows updating an existing training unit agreement based on the Training Unit Agreement's
ID.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/tuagreement/:id

URL (User-friendly)
You can use a user-friendly URL which accepts the agreement_no instead of the internal
TrainingUnitAgreement's ID.
REST API Reference | Learning | 1816

https://<hostname-api.sabacloud.com>/v1/tuagreement/agreement_no%3D<TrainingUnitAgreementsNo>

Calling Options
Table 512: Calling Options

Name Description Sample Value Data Type Required?

id Training Unit Agree- string Yes


tutpo000000000001023
ment's ID

agreement_no Agreement Number string No


for Training Unit
Agreement
Note: Can be passed
in case the auto-gen-
eration of the agree-
ment number is dis-
abled.

expiration_date Expiration date for 2014-07- string No


Training Unit Agree- 27T18:30:00.000+0530
ment

customValues Custom values {"custom0": "11111"} string No

is_shared_with_oth- Is shared with other false boolean No


er_orgs orgs

Request Body

{
"customValues":{"custom0": "11111"},
"agreement_no":"123123123",
"is_shared_with_other_orgs":false
}

The lookup support is now available for this REST API.

JSON Attribute UI Attribute Component Name

owner_Id Organisation Organization, External

order_contact Order_contact Person

trainingunit_id Training Unit Training Unit

currency Currency Currency


REST API Reference | Learning | 1817

Images
REST endpoints for the image data of learning objects.

UPLOAD IMAGE OF AN OBJECT (LEARNING OBJECTS)

Overview
Allows uploading the image for one of the following learning objects using multipart/form-data
as the content-type:
• Course
• Certification / Curriculum
• Package
• Subscriptions
• Category

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/imageupload

Content-type
Multipart/form-data
Note: The image's format and size restrictions are the same as the ones on the UI. This API
does not support removing an image of an object, as the same is not supported on the UI.
REST API Reference | Learning | 1818

Calling Options
Table 513: Calling Options

Name Description Default / Sample Data Type Required?


Value

file file Yes


key / value If not provided,
then default is
file. The file
name will be
provided in detail
input's optional
attribute fileAt-
tributeName.
REST API Reference | Learning | 1819

Name Description Default / Sample Data Type Required?


Value

detail JSON Yes


Contains the object
identification detail in
JSON format to which
image is to be up-
loaded.
Note: fileAttribute-
Name is optional.
REST API Reference | Learning | 1820

Name Description Default / Sample Data Type Required?


Value

Object Type:
Subscription
Note:
Subscription
number is option-
al, it is provided if
object ID is un-
known.

{
"fileAttribute►
Name":"image",

"object►
Type":"subscrip►
tion",
"objectId":"sb►
scr000000000002683",

"subscrip►
tion_num►
ber":"1234543"
}

Object Type:
Package
Note: pack-
age_number is
optional, it is
provided if object
ID is unknown.

{
"fileAttribute►
Name":"image",
"object►
Type":"pack►
age",
"object►
d
I ":pckge000000000001162",
"package_num►
ber":"Learning
Package"
}

Object Type:
Course
Note:
course_no and
version are op-
tional, they are
provided if object
ID is unknown.
REST API Reference | Learning | 1821

Name Description Default / Sample Data Type Required?


Value

{
"fileAttribute►
Name":"image",

"object►
Type":"course",

"object►
d
I "c
: ours000000000202948",

"course_no":"1234543",

"version":"v1"
}

Object Type:
Certification
Note: certifica-
tion_name and
version are op-
tional, they are
provided if object
ID is unknown.

{
"fileAttribute►
Name":"image",

"object►
Type":"certifica►
tion",
"objectId":"crt►
fy000000000205600",

"certifica►
tion_name":"java
certification",
"version":"Core
Java"
}
REST API Reference | Learning | 1822

Name Description Default / Sample Data Type Required?


Value

Object Type:
Curriculum
Note: cur-
riculum_name is
optional, it is
provided if object
ID is unknown.

{
"fileAttribute►
Name":"image",

"object►
Type":"cur►
riculum",
"object►
d
I ":curra000000000001940",

"cur►
riculum_name":"Aptitude
curricula"
}

Object Type:
Category
Note: name is
optional, it is
provided if object
ID is unknown.

{
"fileAttribute►
Name":"image",

"object►
Type":"cat►
egory",
"object►
d
I ":categ00000000000140",

"name":"cat►
egory1\\cat►
egory1_child1"
}

GET IMAGE URL OF AN OBJECT (LEARNING OBJECTS)

Overview
Allows retrieving the image URL for one of the following learning objects:
• Course
REST API Reference | Learning | 1823

• Certification / Curriculum
• Category
• Package
• Subscriptions

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/imageupload/:objectType/:objectId?version=:version

URL (User-friendly)
You can use a user-friendly URL which accepts object number instead of the internal Object's
ID.
https://<hostname-api.sabacloud.com>/v1/imageupload/course/course_no=<course_number>?version=<version>
https://<hostname-api.sabacloud.com>/v1/imageupload/subscription/subscription_number=<subscription_number>

Calling Options
Table 514: Calling Options

Name Description Default / Sample Data Type Required?


Value

objectType Object Type course string Yes

objectId Object ID cours000000000200187 string Yes

version Version string No

Return Values

{
"id": "pckge000000000001089",
"displayName":
"http://<hostname>/production/sabapackage/notdc000000000203739_sabapackage.JPEG"
}

Tasks
REST endpoints for the tasks data of learning objects.
REST API Reference | Learning | 1824

GET META DETAILS OF TASKS

Overview
Returns the meta details of the Tasks.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition/meta:(:searchFields)

Calling Options
Table 515: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData":{
"securityDomain":{
"id":"domin000000000000001",
"displayName":null
},
"taskevaluator":null,
"flags":"0000000000",
"type":"100",
"description":"",
"task_no":"",
"task_references":"",
"launch_url":"",
"disc_from":null,
"avail_from":"2023-01-16T04:48:38.578+0000",
"objectives":"",
"name":"",
"id":null,

"href":"https://dq2dq2dq2learning-api.sabacloud.com/v1/taskdefinition/taskd000000000000001"

},
"name":"TaskDefinition",
"displayName":"Task Definition",
REST API Reference | Learning | 1825

"attributes":[
{
"name":"avail_from",
"displayName":"Available From ",
"description":"This will show the availability of task",
"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"created_id",
"displayName":"kI18nALTaskDefinition_created_id(Missing resource)",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"description",
"displayName":"Description",
"description":"This field will show the description of task",
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
REST API Reference | Learning | 1826

"display":true,
"length":64000,
"maximumLength":64000,
"isI18n":true,
"isSearchFilter":false
},
{
"name":"disc_from",
"displayName":"Discontinued From",
"description":"This will show the discontinued date of task",
"isRequired":false,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"enf_eval_attachment",
"displayName":"Enforce Evaluation Attachment for Learner",
"description":"Enforce learner to add attachment in the task at the time of task
evaluation.",
"isRequired":false,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"isProtected":true,
"display":true,
"isSearchFilter":false
},
{
"name":"enf_eval_comment",
"displayName":"Enforce Evaluation Comment",
"description":"Enforce learner and evaluator to add comment in the task at the time
of task evaluation.",
"isRequired":false,
"isAutoGenerated":false,
"type":"boolean",
"isReference":false,
"isProtected":true,
"display":true,
"isSearchFilter":false
},
{
"name":"flags",
"displayName":"kI18nALTaskDefinition_flags(Missing resource)",
"description":"not in use",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":10,
"maximumLength":10,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"kI18nALTaskDefinition_id(Missing resource)",
"description":null,
REST API Reference | Learning | 1827

"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"launch_url",
"displayName":"Launch URL",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"name",
"displayName":"Name",
"description":"This field will show the name of task",
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isI18n":true,
"isSearchFilter":true
},
{
"name":"objectives",
"displayName":"Objectives",
"description":"This field will show the objective of task",
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":64000,
"maximumLength":64000,
"isI18n":true,
"isSearchFilter":false
},
{
"name":"securityDomain",
"displayName":"Domain",
"description":"This field will show the domain of task",
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
REST API Reference | Learning | 1828

"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"taskevaluator",
"displayName":"Task Evaluator",
"description":"This field is the evaluators of a task and a task can have multiple
evaluators",
"isRequired":true,
"isAutoGenerated":false,
"type":"array",
"isReference":false,
"isProtected":false,
"display":true,
"component":{
"name":"TaskEvaluator",
"displayName":"Task Evaluator",
"attributes":[
{
"name":"created_by",
"displayName":"Created By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"created_id",
"displayName":"Created ID",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"created_on",
"displayName":"Created On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"evaluator_id",
"displayName":"Evaluator",
REST API Reference | Learning | 1829

"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"evaluator_type",
"displayName":"Evaluator Type",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"choices":{

"href":"https://dq2dq2dq2learning-api.sabacloud.com/v1/list/sysli000000000003068/values"

},
"display":true,
"isSearchFilter":false
},
{
"name":"flags",
"displayName":"Flags",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":10,
"maximumLength":10,
"isSearchFilter":false
},
{
"name":"id",
"displayName":"ID",
"description":null,
"isRequired":true,
"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":false
},
{
"name":"id_Val",
"displayName":"ID Val",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
REST API Reference | Learning | 1830

"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"owner_id",
"displayName":"Owner",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"owner_val",
"displayName":"kI18nALTaskEvaluator_owner_val(Missing resource)",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"object",
"isReference":true,
"isProtected":false,
"display":true,
"isSearchFilter":false
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
}
]
}
},
{
"name":"task_no",
"displayName":"ID",
"description":"unique no which will differentiate between task with same name",
"isRequired":true,
REST API Reference | Learning | 1831

"isAutoGenerated":true,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":25,
"maximumLength":25,
"isSearchFilter":true
},
{
"name":"task_references",
"displayName":"References",
"description":"This field will show the reference",
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":64000,
"maximumLength":64000,
"isI18n":true,
"isSearchFilter":false
},
{
"name":"type",
"displayName":"Task Type",
"description":"This field will show whether the task is Normal or URL type",
"isRequired":true,
"isAutoGenerated":false,
"type":"integer",
"isReference":false,
"isProtected":false,
"choices":{

"href":"https://dq2dq2dq2learning-api.sabacloud.com/v1/list/sysli000000000003064/values"

},
"display":true,
"isSearchFilter":false
},
{
"name":"updated_by",
"displayName":"Updated By",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":true,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"updated_on",
"displayName":"Updated On",
"description":null,
"isRequired":true,
"isAutoGenerated":false,
"type":"date",
REST API Reference | Learning | 1832

"isReference":false,
"isProtected":false,
"display":true,
"isSearchFilter":true
},
{
"name":"custom0",
"displayName":"Custom 0",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom1",
"displayName":"Custom 1",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom2",
"displayName":"Custom 2",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom3",
"displayName":"Custom 3",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
REST API Reference | Learning | 1833

"name":"custom4",
"displayName":"Custom 4",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom5",
"displayName":"Custom 5",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom6",
"displayName":"Custom 6",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom7",
"displayName":"Custom 7",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom8",
"displayName":"Custom 8",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
REST API Reference | Learning | 1834

"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
},
{
"name":"custom9",
"displayName":"Custom 9",
"description":null,
"isRequired":false,
"isAutoGenerated":false,
"type":"string",
"isReference":false,
"isProtected":false,
"display":false,
"length":255,
"maximumLength":255,
"isSearchFilter":true
}
]
}

GET ALL TASK

Overview
Returns all the details of tasks.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition?count=:count&startPage=:startPage

Calling Options
Table 516: Calling Options

Name Description Default Value Data Type Required?

count The number of re- 10 string No


cords per page.

startPage The start page num- 1 string No


ber for the list of re-
cords.
REST API Reference | Learning | 1835

Return Values

{
"totalResults": 865,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "taskd000000000003120",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003120"
},
{
"id": "taskd000000000003122",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003122"
},
{
"id": "taskd000000000003123",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003123"
},
{
"id": "taskd000000000003140",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003140"
},
{
"id": "taskd000000000003121",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003121"

},
{
"id": "taskd000000000003141",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003141"

],
"facets": [],
"requestId": null
}

GET DETAILS OF TASK

Overview
Returns the details of a specific task.

Requires OAuth
No

Method
GET
REST API Reference | Learning | 1836

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition/:taskId

Calling Options
Table 517: Calling Options

Name Description Default Value Data Type Required?

taskId Task ID of the task taskd000000000001001 string Yes

Return Values

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": "task_custom0",
"custom1": null
},
"taskevaluator": [
{
"owner_id": {
"id": "taskd000000000007209",
"displayName": null
},
"evaluator_id": {
"id": "aType000000000000001",
"displayName": null
},
"owner_val": null,
"evaluator_type": "200",
"id_Val": null,
"id": "teval000000000009295"
}
],
"name": "task_test3",
"type": "100",
"flags": "0000000000",
"description": "<p>task description</p>",
"disc_from": "2025-11-21T00:00:00.000+0000",
"avail_from": "2022-11-03T00:00:00.000+0000",
"objectives": "<p>task objectives</p>",
"launch_url": "null",
"task_no": "00007220",
"task_references": "<p>task references</p>",
"id": "taskd000000000007209"
}

FIND DETAILS OF TASKS

Overview
Returns the details of the tasks based on the provided search criteria.
REST API Reference | Learning | 1837

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition?q=(:criteria_field)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 518: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. string Yes


the criteria field name
with search value.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

includeDetails Returns the details of true string No


the tasks in the
search.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 865,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "taskd000000000003120",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003120"
},
REST API Reference | Learning | 1838

{
"id": "taskd000000000003122",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003122"
},
{
"id": "taskd000000000003123",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003123"
},
{
"id": "taskd000000000003140",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003140"
},
{
"id": "taskd000000000003121",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003121"

},
{
"id": "taskd000000000003141",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003141"

],
"facets": [],
"requestId": null
}

FIND DETAILS OF TASKS (Using POST based search)

Overview
Returns the details of the tasks based on the provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Learning | 1839

Calling Options
Table 519: Calling Options

Name Description Sample Value Data Type Required?

conditions The search criteria. [{"name": string Yes


"name","operat-
You can use any field
or": "==","value":
with "isSearchFilter":
"task1"}]
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

includeDetails Returns the details of true string No


the tasks in the
search.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions": [{"name": name","operator": "==","value": "task1"}]
}

Return Values

{
"totalResults": 865,
"hasMoreResults": true,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "taskd000000000003120",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003120"
},
{
"id": "taskd000000000003122",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003122"
},
{
"id": "taskd000000000003123",
"href":
REST API Reference | Learning | 1840

"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003123"
},
{
"id": "taskd000000000003140",
"href":
"https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003140"
},
{
"id": "taskd000000000003121",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003121"

},
{
"id": "taskd000000000003141",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000003141"

],
"facets": [],
"requestId": null
}

CREATE TASK

Overview
Creates a new task.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition

Calling Options
Table 520: Calling Options

Name Description Sample Value Data Type Required?

securityDomain Domain {"id":"dom- string Yes


in000000000000001",
"display-
Name":"world"}
REST API Reference | Learning | 1841

Name Description Sample Value Data Type Required?

customValues Custom Values {"cus- string No


tom0":"task_cus-
tom0","cus-
tom1":null,"cus-
tom2":null,"cus-
tom3":null,"cus-
tom4":null,"cus-
tom5":null,"cus-
tom6":null,"cus-
tom7":null,"cus-
tom8":null,"cus-
tom9":null}

name Name of the task task_test2 string Yes

type Type of the task 100 string Yes

description Description of the task description string No


task

disc_from Discontinued from 2025-11- string Yes


21T00:00:00.000Z

avail_from Available from 2022-11- string Yes


03T00:00:00.000Z

objectives Objectives of the task task objectives string No

launch_url Launch URL of the string No


task

task_no Task No 00001020 string No

task_references Task references task references string No

id ID of the task taskd000000000001020 string No

taskevaluator Task evaluator [{"owner_id":{"id": string No


"taskd000000000001020",ds i-
play-
Name":null},"eval-
uator_id":{"id":
"aType000000000000001",ds i-
play-
Name":nul},"id_Val":nul,"eval-
uat-
or_type":"200","own-
er_val":null,"id":
"tev-
al000000000001020"}]
REST API Reference | Learning | 1842

Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "task_test2",
"type": "100",
"disc_from": "2025-11-21T00:00:00.000Z",
"avail_from": "2022-11-03T00:00:00.000Z"
}

Return Values

{
"id": "taskd000000000007209",
"displayName": "task_test2",
"href": "https://dq3qa003-api.sabacloud.com/v1/taskdefinition/taskd000000000007209"
}

UPDATE TASK

Overview
Creates a new task.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition/:taskId

Calling Options
Table 521: Calling Options

Name Description Sample Value Data Type Required?

taskId Task ID of the task taskd000000000001001 string Yes

securityDomain Domain {"id":"dom- string Yes


in000000000000001",
"display-
Name":"world"}
REST API Reference | Learning | 1843

Name Description Sample Value Data Type Required?

customValues Custom Values {"cus- string No


tom0":"task_cus-
tom0","cus-
tom1":null,"cus-
tom2":null,"cus-
tom3":null,"cus-
tom4":null,"cus-
tom5":null,"cus-
tom6":null,"cus-
tom7":null,"cus-
tom8":null,"cus-
tom9":null}

name Name of the task task_test2 string Yes

type Type of the task 100 string Yes

description Description of the task description string No


task

disc_from Discontinued from 2025-11- string Yes


21T00:00:00.000Z

avail_from Available from 2022-11- string Yes


03T00:00:00.000Z

objectives Objectives of the task task objectives string No

launch_url Launch URL of the string No


task

task_no Task No 00001020 string No

task_references Task references task references string No

id ID of the task taskd000000000001020 string No

Task evaluator Evaluator of the task [{"owner_id":{"id": string No


"taskd000000000001020",ds i-
play-
Name":null},"eval-
uator_id":{"id":
"aType000000000000001",ds i-
play-
Name":nul},"id_Val":nul,"eval-
uat-
or_type":"200","own-
er_val":null,"id":
"tev-
al000000000001020"}]
Request Body

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"name": "task_test2",
"type": "100",
"disc_from": "2025-11-21T00:00:00.000Z",
"avail_from": "2022-11-03T00:00:00.000Z"
}

Return Values

200 status code

DELETE TASK

Overview
Deletes a task.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/taskdefinition/:taskId

Calling Options
Table 522: Calling Options

Name Description Sample Value Data Type Required?

taskId Task ID of the task taskd000000000001001 string Yes

Return Values

200 status code


Chapter

10
Performance

Topics: REST endpoints for the performance data.

• Goals
• Pulse
• Competency
• Review
REST API Reference | Performance | 1846

Goals
REST endpoints for the performance data.

GET ALL GOALS FOR A PERSON

Overview
Returns all the goals for a given user.
Note: This REST API returns goals for a single user at a time. Non-admin persons (if-logged
in) invoking this REST API will see their own goals. They can also view another person's goals
by specifying the assignee's ID as the search criteria, provided they have the privilege to
view that assignee's goals. An admin user using this RESTAPI can see the goals of all the users
one assignee at a time

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals
?q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage

Calling Options
Table 523: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Performance | 1847

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. assignee string Yes


the field name.
Searchable fields:
• assignee
• status_id
• title
• start_date
• percentComplete
• category_id

field_value The search value for em- string Yes


the specified search plo000000000200181
criteria.

includeDetails If true, returns the false boolean No


complete details of
the goal.

Return Values

{
"facets": [],
"totalResults": 0,
"hasMoreResults": true,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"id": "gasgn000000000001336",
"displayName": "2003 Goal - 02",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001336"
},
{
"id": "gasgn000000000001358",
"displayName": "2004 Goal - 01",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001358"
},
{
"id": "gasgn000000000004848",
"displayName": "2007 Shared Performance Goal for QE",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000004848"
},
{
"id": "gasgn000000000004507",
"displayName": "2008-2009 Shared Performance Goal for QE",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000004507"
},
{
"id": "gasgn000000000004089",
"displayName": "2008 Shared Development Goal for QE",
REST API Reference | Performance | 1848

"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000004089"

},
{
"id": "gasgn000000000001319",
"displayName": "Goal 2003 - 01",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001319"
},
{
"id": "gasgn000000000001487",
"displayName": "Initiative Goal for Paul Humm2",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001487"
},
{
"id": "gasgn000000000001366",
"displayName": "Long-Term Goal - 01",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001366"
},
{
"id": "gasgn000000000001723",
"displayName": "Quality Goal 1 (Paul Humm2)",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001723"
},
{
"id": "gasgn000000000001294",
"displayName": "Second Shared Goal for QA Headquarters Organization",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001294"
}
]
}

Examples
Goals of a particular person
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(assignee%3D%3Demplo000000000200181)
Goals of a learner (logged in)
https://<hostname-api.sabacloud.com>/v1/performance/goals
Goals of a person using username
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(assignee%3D%3Dsalmeida)
Goals of a person using status
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(status_id%3d%3dgstts000000000001000)
gstts000000000001000 : Active
gstts000000000001001 : On Hold
gstts000000000001002 : Completed
Goals of a person using multiple search options
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(status_id%3d%3dgstts000000000001000,
title%3D%3Dmy_company_goal)
REST API Reference | Performance | 1849

Goals of a person by start_date (


Goals of a person by start_date (also supports due_date and create_date in search criteria)
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(start_date=gt=1990-07-26)
Goals of a person using percentComplete
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(percentComplete=lt=40)
Goals of a person by category_id
https://<hostname-api.sabacloud.com>/v1/performance/goals?q=(category_id%3D%3Dgcate000000000000002)

GET DETAILS OF A PARTICULAR GOAL

Overview
Returns complete information about a goal based on the goal assignment ID that is passed
as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:id

Calling Options
Table 524: Calling Options

Name Description Sample Value Data Type Required?

id Goal ID gasgn000000000001336 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned: progress,
progress_history, ap-
provers, parent, sub-
goals, tasks,
changelog. Accept-
able values are (case-
sensitive)

Return Values

{
"actions": null,
"goalAssignmentDetail": {
"locked": false,
REST API Reference | Performance | 1850

"source": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"id": "emplo000000000200094",
"displayName": "Paul Humm",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"mandatory": false,
"dueDate": 1075487400000,
"goalDefinition": {
"sourceType": "Goal",
"componentName": "Goal Definition",
"prescriptionActionType": {
"logicClassForPrescriptionActionType": "GoalPrescriptionPush",
"name": "GoalDefinition",
"key": "1"
},
"activitySourceType": {
"sourceType": 5,
"listId": "sysli000000000003037",
"key": "5",
"displayName": "Goal"
},
"id": "gdefn000000000001179",
"displayName": "2003 Goal - 02",
"primaryKey": {
"id": "gdefn000000000001179",
"prefix": "gdefn"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"assignee": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"id": "emplo000000000200181",
"displayName": "Paul Humm2",
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"assignmentId": "gasgn000000000001336",
"startDate": 1051727400000,
"originalDueDate": 1075487400000,
"assignmentCustomValues": [
{
REST API Reference | Performance | 1851

"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom9"
},
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom4"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom2"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom8"
REST API Reference | Performance | 1852

},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom6"
}
],
"assignmentMetadata": {
"timestamp": "228626700",
"primaryKey": {
"id": "gasgn000000000001336",
"prefix": "gasgn"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"archived": false,
"dueDays": "01/31/2004",
"goalAssignmentStatus": {
"statusValue": "gstts000000000001000",
"id": "gstts000000000001000",
"displayName": "Active",
"primaryKey": {
"id": "gstts000000000001000",
"prefix": "gstts"
},
"locale": null
},
"missedGoal": true,
"assigneePictureURL": null
},
"goalDefinitionDetail": {
"id": "gdefn000000000001179",
"owner": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"id": "emplo000000000200181",
"displayName": null,
"locale": null
},
"description": "This is the goal description.",
"shared": false,
"duration": 0,
"fixedStartDate": null,
REST API Reference | Performance | 1853

"required": false,
"initialValue": 0,
"isLibraryGoal": false,
"auditDetail": {
"updatedBy": "phumm",
"updatedOn": 1077511915000,
"createdBy": "phumm",
"createdOn": 1077510311000,
"createdId": "emplo000000000200094"
},
"template": false,
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world",
"primaryKey": {
"id": "domin000000000000001",
"prefix": "domin"
},
"locale": null
},
"shortDescription": "This is the goal description.",
"title": "2003 Goal - 02",
"expiryDate": null,
"goalCategory": {
"id": "gcate000000000000002",
"displayName": "General",
"primaryKey": {
"id": "gcate000000000000002",
"prefix": "gcate"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"goalType": {
"id": "goalt000000000000001",
"displayName": "Performance Goal",
"primaryKey": {
"id": "goalt000000000000001",
"prefix": "goalt"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"pushed": false,
"fixedEndDate": null,
"goalMetric": {
"statusValue": "gmetr000000000001004",
"id": "gmetr000000000001004",
"displayName": "General Metric 1",
"primaryKey": {
"id": "gmetr000000000001004",
"prefix": "gmetr"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
REST API Reference | Performance | 1854

"goalAction": {
"statusValue": "gactn000000000001004",
"id": "gactn000000000001004",
"displayName": "Achieve",
"primaryKey": {
"id": "gactn000000000001004",
"prefix": "gactn"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"goalUnit": null,
"smartGoal": false,
"definitionCustomValues": [
{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom0"
},
{
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom3"
},
{
"name": "custom4",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom4"
},
{
"name": "custom5",
"datatype": {
"value": 18
},
"value": null,
REST API Reference | Performance | 1855

"displayName": "custom5"
},
{
"name": "custom6",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom7"
},
{
"name": "custom8",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom8"
},
{
"name": "custom9",
"datatype": {
"value": 18
},
"value": null,
"displayName": "custom9"
}
],
"goalDefinitionStatus": {
"key": "Inactive",
"description": "Inactive"
},
"goalVisibility": "gvizr000000000001002",
"parentLibGoalId": null,
"libGoalVisibilityKey": null,
"goalVisibilityName": "Everyone",
"definitionMetadata": {
"timestamp": "1583018550",
"primaryKey": {
"id": "gdefn000000000001179",
"prefix": "gdefn"
},
"locale": {
"id": "local000000000000001",
"displayName": null
}
},
"pullInReview": true,
"targetValue": 58,
"weight":20
},
"goalProgressDetail": null,
"additionalInfo": null,
"partialUpdate": false,
"assignees": null,
REST API Reference | Performance | 1856

"parentGoal": null,
"subGoals": null,
"listIds": null,
"progressHistory": null,
"tasks": null
}

Examples
To get the last progress details of the goal
https://<hostname-api.sabacloud.com>/v1/performance/goals/gasgn000000000001336?searchFields=progress
Sample progress detail attribute value:

"goalProgressDetail": {
"comment": "Hello coment onlydsdssadsad ddd",
"overwritePercentage": false,
"pictureURL":
"http://<hostname>/production/employeePicture/notdc000000000201236_employeePicture.JPEG",

"progressId": "gprog000000000003791",
"goalUnit": null,
"sortNumber": 4,
"percentageCompleted": 0,
"observationDate": 1459499311000,
"assignmentId": "gasgn000000000001336",
"currentValue": null,
"metadata": null,
"goalStatus": {
"statusValue": "gstts000000000001002",
"id": "gstts000000000001002",
"displayName": "Completed",
"locale": null,
"primaryKey": {
"id": "gstts000000000001002",
"prefix": "gstts"
}
},
"progressReporter": {
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"id": "emplo000000000001000",
"displayName": "User One",
"locale": null
}
}

CREATE GOAL FOR SELF/TEAM

Overview
Creates a Goal for self/team.
Note:
REST API Reference | Performance | 1857

To create a goal with a parent goal, set the parentGoal field, or else keep it null.
To create a goal with approval, set submitForApproval to true, or else keep it false.
To create a goal for self, set the assignee field of goalAssignmentDetail and set the assignee
field of SabaGoalRestDetail as null.
To create a goal for team, set the assignee field of SabaGoalRestDetail object.
The following are the available goal status ID:
• ACTIVE_GOAL_STATUS = "gstts000000000001000"
• INACTIVE_GOAL_STATUS = "gstts000000000001001"
• COMPLETED_GOAL_STATUS = "gstts000000000001002"

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals

Calling Options
Table 525: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.rest.ser- string Yes


vice.goal.Saba-
GoalRestDetail

goalAssignment- Detail of a Goal Assign- object Yes


Detail ment

goalDefinitionDe- Detail of a Goal Defini- object Yes


tail tion

assignees Assignee of goals (Re- List of objects No


quired only while cre-
ating team goal)

isDirectIndirect Whether it is direct or boolean No


undirect goal

taskTemplates Task templates to add List of objects No

parentGoal Wrapper Reference of object No


parent goal

associationsData Association Data List of objects No

submitForApprov- Whether to submit for boolean No


al approval or not
REST API Reference | Performance | 1858

Request Body (Self)

{
"@type":"com.saba.rest.service.goal.SabaGoalRestDetail",
"goalAssignmentDetail":{
"@type":"com.saba.rest.service.goal.RestGoalAssignmentDetail",
"locked":false,
"assignee":{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200503"
},
"goalDefinition":null,
"goalAssignmentStatus":{
"@type":"com.saba.goal.entity.GoalStatusReference",
"statusValue":"gstts000000000001000",
"id":"gstts000000000001000"
},
"archived":false,
"source":{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000001000"
},
"startDate":{
"@type":"date",
"time":"2016-04-07",
"date":"2016-04-07"
},
"dueDate":{
"@type":"date",
"time":"2016-04-30",
"date":"2016-04-30"
},
"originalDueDate":null
},
"goalDefinitionDetail":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionDetail",
"owner":{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200503"
},
"required":null,
"duration":null,
"pullInReview":false,
"smartGoal":null,
"fixedStartDate":null,
"fixedEndDate":null,
"title":"new",
"goalCategory":{
"@type":"com.saba.goal.entity.GoalCategoryReference",
"id":"gcate000000000000011"
},
"goalDefinitionStatus":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionStatus",
"listId":"sysli000000000006003",
"key":"Active"
},
"shared":false,
"template":false,
"pushed":null,
"goalMetric":{
"@type":"com.saba.goal.entity.GoalMetricReference",
"id":"gmetr000000000001042"
},
REST API Reference | Performance | 1859

"goalAction":{
"@type":"com.saba.goal.entity.GoalActionReference",
"id":"gactn000000000001041"
},
"goalUnit":{
"@type":"com.saba.goal.entity.GoalUnitReference",
"id":"gunit000000000001004"
},
"goalType":{
"@type":"com.saba.goal.entity.GoalTypeReference",
"id":"goalt000000000000001"
},
"initialValue":1,
"targetValue":2,
"goalVisibility":"gvizr000000000001002",
"description":"<p>Hello</p>",
"libGoalVisibilityKey":null,
"auditDetail":null,
"definitionCustomValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"1",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"3",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"4",
"displayName":null
},
{
REST API Reference | Performance | 1860

"@type":"CustomAttributeValueDetail",
"name":"custom4",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"5",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom5",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"6",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom6",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"7",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom7",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"8",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom8",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"9",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom9",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"",
"displayName":null
}
]
],
"isLibraryGoal":false,
REST API Reference | Performance | 1861

"weight":20
},
"taskTemplates":[
"list",
[
{
"@type":"com.saba.rest.service.goal.RestTaskTemplateDetail",
"description":"new task templ description",
"title":"new task templ"
}
]
],
"parentGoal":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"id":"gdefn000000000002903",
"displayName":null
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"id":"gasgn000000000010431",
"displayName":null
}
},
"associationsData":[
"list",
[
{
"@type":"com.saba.rest.service.goal.GoalAssociationBasicDTO",
"activityId":"teams000000000001083",
"requiredLevelId":null,
"purpose":"Reference"
},
{
"@type":"com.saba.rest.service.goal.GoalAssociationBasicDTO",
"activityId":"crtfy000000000200162",
"requiredLevelId":null,
"purpose":null
},
{
"@type":"com.saba.rest.service.goal.GoalAssociationBasicDTO",
"activityId":"compt000000000001141",
"requiredLevelValue":1,
"purpose":null
}
]
],
"submitForApproval":true,
"isDirectIndirect":false
}

Return Values (Self)

{
"GoalResultWrapper":{
"@type":"com.saba.goal.GoalResultWrapper",
"operationResultEnum":"SUCCESS",
"goalResultColl":[
"list",
[
REST API Reference | Performance | 1862

{
"@type":"com.saba.goal.GoalResult",
"approvalStatus":{
"@type":"com.saba.goal.GoalDefinitionApprovalStatus",
"listId":"sysli000000000006030",
"key":"200",
"displayName":"Pending Approval"
},
"successFlag":true,
"successGoalReference":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"sourceType":"Goal",
"componentName":"Goal Definition",
"activitySourceType":{
"sourceType":5,
"listId":"sysli000000000003037",
"key":"5",
"displayName":"Goal"
},
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"id":"gdefn000000000002980",
"displayName":null,
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002980",
"prefix":"gdefn"
}
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"sourceType":"Goal",
"id":"gasgn000000000010556",
"displayName":"gasgn000000000010556",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010556",
"prefix":"gasgn"
}
}
},
"assignee":{
"@type":"emplo",
"sourceType":"InternalPerson",
"activitySourceType":{
"sourceType":0,
REST API Reference | Performance | 1863

"listId":"sysli000000000003037",
"key":"0",
"displayName":"Person"
},
"id":"emplo000000000001001",
"displayName":"User Two",
"locale":null
},
"goalErrorList":null,
"failedGoalDetail":null
}
]
]
}
}

Request Body (Team)

{
"@type":"com.saba.rest.service.goal.SabaGoalRestDetail",
"goalAssignmentDetail":{
"@type":"com.saba.rest.service.goal.RestGoalAssignmentDetail",
"locked":false,
"assignee":{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200503"
},
"goalDefinition":null,
"goalAssignmentStatus":{
"@type":"com.saba.goal.entity.GoalStatusReference",
"statusValue":"gstts000000000001000",
"id":"gstts000000000001000"
},
"archived":false,
"source":{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000001000"
},
"startDate":{
"@type":"date",
"time":"2016-04-07",
"date":"2016-04-07"
},
"dueDate":{
"@type":"date",
"time":"2016-04-30",
"date":"2016-04-30"
},
"originalDueDate":null
},
"goalDefinitionDetail":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionDetail",
"owner":{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200503"
},
"required":null,
"duration":null,
"pullInReview":false,
"smartGoal":null,
"fixedStartDate":null,
REST API Reference | Performance | 1864

"fixedEndDate":null,
"title":"new",
"goalCategory":{
"@type":"com.saba.goal.entity.GoalCategoryReference",
"id":"gcate000000000000011"
},
"goalDefinitionStatus":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionStatus",
"listId":"sysli000000000006003",
"key":"Active"
},
"shared":false,
"template":false,
"pushed":null,
"goalMetric":{
"@type":"com.saba.goal.entity.GoalMetricReference",
"id":"gmetr000000000001042"
},
"goalAction":{
"@type":"com.saba.goal.entity.GoalActionReference",
"id":"gactn000000000001041"
},
"goalUnit":{
"@type":"com.saba.goal.entity.GoalUnitReference",
"id":"gunit000000000001004"
},
"goalType":{
"@type":"com.saba.goal.entity.GoalTypeReference",
"id":"goalt000000000000001"
},
"initialValue":1,
"targetValue":2,
"goalVisibility":"gvizr000000000001002",
"description":"<p>Hello</p>",
"libGoalVisibilityKey":null,
"auditDetail":null,
"definitionCustomValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"1",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
REST API Reference | Performance | 1865

"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"3",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"4",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom4",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"5",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom5",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"6",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom6",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"7",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom7",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"8",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom8",
"datatype":{
"@type":"CustomAttributeDatatype",
REST API Reference | Performance | 1866

"value":18
},
"value":"9",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom9",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"",
"displayName":null
}
]
],
"isLibraryGoal":false,
"weight":20
},
"taskTemplates":[
"list",
[
{
"@type":"com.saba.rest.service.goal.RestTaskTemplateDetail",
"description":"new task templ description",
"title":"new task templ"
}
]
],
"parentGoal":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"id":"gdefn000000000002903",
"displayName":null
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"id":"gasgn000000000010431",
"displayName":null
}
},
"associationsData":[
"list",
[
{
"@type":"com.saba.rest.service.goal.GoalAssociationBasicDTO",
"activityId":"teams000000000001083",
"requiredLevelId":null,
"purpose":"Reference"
},
{
"@type":"com.saba.rest.service.goal.GoalAssociationBasicDTO",
"activityId":"crtfy000000000200162",
"requiredLevelId":null,
"purpose":null
},
{
"@type":"com.saba.rest.service.goal.GoalAssociationBasicDTO",
"activityId":"compt000000000001141",
"requiredLevelValue":1,
REST API Reference | Performance | 1867

"purpose":null
}
]
],
"submitForApproval":true,
"assignees":[
"list",
[
{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000001000"
},
{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200088"
},
{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200504"
},
{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200502"
},
{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200487"
}
]
],
"isDirectIndirect":false
}

Return Values (Team)

{
"GoalResultWrapper":{
"@type":"com.saba.goal.GoalResultWrapper",
"operationResultEnum":"SUCCESS",
"goalResultColl":[
"list",
[
{
"@type":"com.saba.goal.GoalResult",
"approvalStatus":{
"@type":"com.saba.goal.GoalDefinitionApprovalStatus",
"listId":"sysli000000000006030",
"key":"200",
"displayName":"Pending Approval"
},
"successFlag":true,
"successGoalReference":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"sourceType":"Goal",
"componentName":"Goal Definition",
"activitySourceType":{
"sourceType":5,
"listId":"sysli000000000003037",
"key":"5",
REST API Reference | Performance | 1868

"displayName":"Goal"
},
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"id":"gdefn000000000002973",
"displayName":null,
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002973",
"prefix":"gdefn"
}
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"sourceType":"Goal",
"id":"gasgn000000000010541",
"displayName":"gasgn000000000010541",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010541",
"prefix":"gasgn"
}
}
},
"assignee":{
"@type":"emplo",
"sourceType":"InternalPerson",
"activitySourceType":{
"sourceType":0,
"listId":"sysli000000000003037",
"key":"0",
"displayName":"Person"
},
"id":"emplo000000000001001",
"displayName":"User Two",
"locale":null
},
"goalErrorList":null,
"failedGoalDetail":null
},
{
"@type":"com.saba.goal.GoalResult",
"approvalStatus":{
"@type":"com.saba.goal.GoalDefinitionApprovalStatus",
"listId":"sysli000000000006030",
"key":"200",
"displayName":"Pending Approval"
},
REST API Reference | Performance | 1869

"successFlag":true,
"successGoalReference":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"sourceType":"Goal",
"componentName":"Goal Definition",
"activitySourceType":{
"sourceType":5,
"listId":"sysli000000000003037",
"key":"5",
"displayName":"Goal"
},
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"id":"gdefn000000000002974",
"displayName":null,
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002974",
"prefix":"gdefn"
}
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"sourceType":"Goal",
"id":"gasgn000000000010542",
"displayName":"gasgn000000000010542",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010542",
"prefix":"gasgn"
}
}
},
"assignee":{
"@type":"emplo",
"sourceType":"InternalPerson",
"activitySourceType":{
"sourceType":0,
"listId":"sysli000000000003037",
"key":"0",
"displayName":"Person"
},
"id":"emplo000000000200003",
"displayName":"Human Administrator",
"locale":null
},
REST API Reference | Performance | 1870

"goalErrorList":null,
"failedGoalDetail":null
},
{
"@type":"com.saba.goal.GoalResult",
"approvalStatus":{
"@type":"com.saba.goal.GoalDefinitionApprovalStatus",
"listId":"sysli000000000006030",
"key":"200",
"displayName":"Pending Approval"
},
"successFlag":true,
"successGoalReference":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"sourceType":"Goal",
"componentName":"Goal Definition",
"activitySourceType":{
"sourceType":5,
"listId":"sysli000000000003037",
"key":"5",
"displayName":"Goal"
},
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"id":"gdefn000000000002975",
"displayName":null,
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002975",
"prefix":"gdefn"
}
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"sourceType":"Goal",
"id":"gasgn000000000010543",
"displayName":"gasgn000000000010543",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010543",
"prefix":"gasgn"
}
}
},
"assignee":{
"@type":"emplo",
REST API Reference | Performance | 1871

"sourceType":"InternalPerson",
"activitySourceType":{
"sourceType":0,
"listId":"sysli000000000003037",
"key":"0",
"displayName":"Person"
},
"id":"emplo000000000200004",
"displayName":"System Administrator",
"locale":null
},
"goalErrorList":null,
"failedGoalDetail":null
},
{
"@type":"com.saba.goal.GoalResult",
"approvalStatus":{
"@type":"com.saba.goal.GoalDefinitionApprovalStatus",
"listId":"sysli000000000006030",
"key":"200",
"displayName":"Pending Approval"
},
"successFlag":true,
"successGoalReference":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"sourceType":"Goal",
"componentName":"Goal Definition",
"activitySourceType":{
"sourceType":5,
"listId":"sysli000000000003037",
"key":"5",
"displayName":"Goal"
},
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"id":"gdefn000000000002976",
"displayName":null,
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002976",
"prefix":"gdefn"
}
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"sourceType":"Goal",
"id":"gasgn000000000010544",
"displayName":"gasgn000000000010544",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
REST API Reference | Performance | 1872

"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010544",
"prefix":"gasgn"
}
}
},
"assignee":{
"@type":"emplo",
"sourceType":"InternalPerson",
"activitySourceType":{
"sourceType":0,
"listId":"sysli000000000003037",
"key":"0",
"displayName":"Person"
},
"id":"emplo000000000200120",
"displayName":"B~^ O'pool\"$#@!\"",
"locale":null
},
"goalErrorList":null,
"failedGoalDetail":null
},
{
"@type":"com.saba.goal.GoalResult",
"approvalStatus":{
"@type":"com.saba.goal.GoalDefinitionApprovalStatus",
"listId":"sysli000000000006030",
"key":"200",
"displayName":"Pending Approval"
},
"successFlag":true,
"successGoalReference":{
"@type":"com.saba.goal.GoalReferenceWrapper",
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"sourceType":"Goal",
"componentName":"Goal Definition",
"activitySourceType":{
"sourceType":5,
"listId":"sysli000000000003037",
"key":"5",
"displayName":"Goal"
},
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"id":"gdefn000000000002977",
"displayName":null,
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002977",
REST API Reference | Performance | 1873

"prefix":"gdefn"
}
},
"goalAssignment":{
"@type":"com.saba.goal.entity.GoalAssignmentReference",
"sourceType":"Goal",
"id":"gasgn000000000010545",
"displayName":"gasgn000000000010545",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010545",
"prefix":"gasgn"
}
}
},
"assignee":{
"@type":"emplo",
"sourceType":"InternalPerson",
"activitySourceType":{
"sourceType":0,
"listId":"sysli000000000003037",
"key":"0",
"displayName":"Person"
},
"id":"emplo000000000200428",
"displayName":"mgr01 mgr01",
"locale":null
},
"goalErrorList":null,
"failedGoalDetail":null
}
]
]
}
}

CREATE PROGRESS OF A GOAL

Overview
Creates progress of a Goal.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:goalId/createProgress
REST API Reference | Performance | 1874

Calling Options
Table 526: Calling Options

Name Description Sample Value Data Type Required?

goalId ID of goal gasgn000000000010543 string Yes

@type @type com.saba.rest.ser- string Yes


vice.goal.Rest-
GoalProgressDe-
tail

goalStatus Status of a Goal object Yes

percentageCom- The total percentage 58 float No


pleted completed

currentValue Current value 20.0 float No

comment Comment mid week goal string No


progress

Request Body

{
"@type":"com.saba.rest.service.goal.RestGoalProgressDetail",
"goalStatus":{
"@type":"com.saba.goal.entity.GoalStatusReference",
"id":"gstts000000000001000"
},
"percentageCompleted":58,
"currentValue":1.58,
"comment":"mid week goal progress"
}

Return Values

{
"@type":"com.saba.rest.service.goal.RestGoalProgressDetail",
"goalStatus":{
"@type":"com.saba.goal.entity.GoalStatusReference",
"id":"gstts000000000001000"
},
"percentageCompleted":58,
"currentValue":20.0,
"comment":"mid week goal progress"
}

CHANGE STATUS OF A GOAL

Overview
Changes the status of a Goal
REST API Reference | Performance | 1875

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:goalId/changeStatus

Calling Options
Table 527: Calling Options

Name Description Sample Value Data Type Required?

goalId ID of goal gasgn000000000010543 string Yes

@type @type com.saba.rest.ser- string Yes


vice.goal.Rest-
GoalProgressDe-
tail

goalStatus Status of a Goal object Yes

comment Comment comment on goal string No

overwritePercent- Whether to overwrite true boolean No


age percentage or not

Request Body

{
"@type":"com.saba.rest.service.goal.RestGoalProgressDetail",
"goalStatus":{
"@type":"com.saba.goal.entity.GoalStatusReference",
"id":"gstts000000000001002"
},
"comment":"comment on goal",
"overwritePercentage":true
}

Return Values

{
"GoalProgressReference":{
"@type":"com.saba.goal.entity.GoalProgressReference",
"componentName":"Goal Progress",
"id":"gprog000000000003959",
"displayName":"",
"locale":null,
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gprog000000000003959",
"prefix":"gprog"
REST API Reference | Performance | 1876

}
}
}

UPDATE APPROVER OF GOAL

Overview
Updates the approver of a goal.

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:goalId/approvers

Calling Options
Table 528: Calling Options

Name Description Sample Value Data Type Required?

goalId Id of goal gasgn000000000010543 string Yes

@type @type com.saba.rest.ser- string Yes


vice.goal.RestAp-
provalDetail

restApprover Detail of a Goal Ap- object Yes


prover

changeLog Log of changes of at- object No


tributes

Note: Set changelog only when update of goal detail attributes requires approval, else set
it to null.

Request Body

{
"@type":"com.saba.rest.service.goal.RestApprovalDetail",
"restApprover":{
"@type":"com.saba.rest.service.goal.RestApprover",
"approverStatus":{
"listId":"sysli000000000003077",
"key":"300"
},
"approvers":[
"list",
REST API Reference | Performance | 1877

[
{
"@type":"com.saba.party.person.entity.EmployeeReference",
"id":"emplo000000000200503"
}
]
],
"comments":"comment on goal approver update"
},
"changeLog":[
"list",
[
{
"@type":"com.saba.rest.changelog.RestChangeLogDetail",
"id":"cclog000000000001068",
"changeLogApprovalStatus":{
"@type":"com.saba.rest.changelog.RestChangeLogApprovalStatus",
"key":"300"
}
},
{
"@type":"com.saba.rest.changelog.RestChangeLogDetail",
"id":"cclog000000000001069",
"changeLogApprovalStatus":{
"@type":"com.saba.rest.changelog.RestChangeLogApprovalStatus",
"key":"300"
}
},
{
"@type":"com.saba.rest.changelog.RestChangeLogDetail",
"id":"cclog000000000001070",
"changeLogApprovalStatus":{
"@type":"com.saba.rest.changelog.RestChangeLogApprovalStatus",
"key":"300"
}
},
{
"@type":"com.saba.rest.changelog.RestChangeLogDetail",
"id":"cclog000000000001071",
"changeLogApprovalStatus":{
"@type":"com.saba.rest.changelog.RestChangeLogApprovalStatus",
"key":"300"
}
}
]
]
}

Return Values

204 No Content

UPDATE GOAL FOR SELF/TEAM

Overview
Updates a Goal for self/team
REST API Reference | Performance | 1878

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:goalId

Calling Options
Table 529: Calling Options

Name Description Sample Value Data Type Required?

goalId ID of goal gasgn000000000010543 string Yes

@type @type com.saba.rest.ser- string Yes


vice.goal.Saba-
GoalRestDetail

goalAssignment- Detail of a Goal Assign- object Yes


Detail ment

goalDefinitionDe- Detail of a Goal Defen- object Yes


tail ition

submitForApprov- Whether to submit for object No


al approval or not

isPartialUpdate Whether it is partial true boolean No


update or not

Request Body

{
"@type":"com.saba.rest.service.goal.SabaGoalRestDetail",
"goalAssignmentDetail":{
"@type":"com.saba.rest.service.goal.RestGoalAssignmentDetail",
"locked":false,
"mandatory":false,
"source":{
"@type":"emplo",
"activitySourceType":{
"listId":"sysli000000000003037",
"sourceType":0,
"key":"0",
"displayName":"Person"
},
"sourceType":"InternalPerson",
"id":"emplo000000000001000",
"displayName":"User One",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
REST API Reference | Performance | 1879

"displayName":null
}
},
"assignee":{
"@type":"emplo",
"activitySourceType":{
"listId":"sysli000000000003037",
"sourceType":0,
"key":"0",
"displayName":"Person"
},
"sourceType":"InternalPerson",
"id":"emplo000000000001000",
"displayName":"User One",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
}
},
"dueDate":{
"@type":"date",
"time":"2016-04-30T00:00:00",
"date":"2016-04-30T00:00:00"
},
"goalDefinition":{
"@type":"com.saba.goal.entity.GoalDefinitionReference",
"prescriptionActionType":{
"displayName":"Goal",
"logicClassForPrescriptionActionType":"GoalPrescriptionPush",
"name":"GoalDefinition",
"key":"1"
},
"activitySourceType":{
"listId":"sysli000000000003037",
"sourceType":5,
"key":"5",
"displayName":"Goal"
},
"sourceType":"Goal",
"componentName":"Goal Definition",
"id":"gdefn000000000002965",
"displayName":"app2",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002965",
"prefix":"gdefn"
}
},
"startDate":{
"@type":"date",
"time":"2016-04-07T00:00:00",
"date":"2016-04-07T00:00:00"
},
"goalAssignmentStatus":{
"@type":"com.saba.goal.entity.GoalStatusReference",
"statusValue":"gstts000000000001000",
REST API Reference | Performance | 1880

"id":"gstts000000000001000",
"displayName":"Active",
"locale":null,
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gstts000000000001000",
"prefix":"gstts"
}
},
"originalDueDate":null,
"archived":false,
"assignmentId":"gasgn000000000010513",
"dueDays":"30.04.2016",

"assigneePictureURL":"http://<hostname>/production/employeePicture/notdc000000000201236_employeePicture.JPEG",

"assignmentCustomValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom9",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom9"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom0"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom3"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom4",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom4"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom1",
REST API Reference | Performance | 1881

"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom1"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom2"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom7",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom7"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom8",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom8"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom5",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom5"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom6",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":null,
"displayName":"custom6"
}
]
],
"assignmentMetadata":{
"@type":"com.saba.ejb.UpdateMetadata",
"timestamp":"1349202383",
REST API Reference | Performance | 1882

"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gasgn000000000010513",
"prefix":"gasgn"
}
},
"missedGoal":false
},
"goalDefinitionDetail":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionDetail",
"id":"gdefn000000000002965",
"owner":{
"@type":"emplo",
"activitySourceType":{
"listId":"sysli000000000003037",
"sourceType":0,
"key":"0",
"displayName":"Person"
},
"sourceType":"InternalPerson",
"id":"emplo000000000001000",
"displayName":null,
"locale":null
},
"duration":0,
"description":"<p>adsa</p>",
"shared":false,
"securityDomain":{
"@type":"com.saba.domain.entity.DomainReference",
"id":"domin000000000000001",
"displayName":"world",
"locale":null,
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"domin000000000000001",
"prefix":"domin"
}
},
"auditDetail":null,
"pullInReview":true,
"title":"app2",
"fixedStartDate":null,
"definitionCustomValues":[
"list",
[
{
"@type":"CustomAttributeValueDetail",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
REST API Reference | Performance | 1883

"name":"custom1",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom2",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom4",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom5",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom6",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom7",
"datatype":{
REST API Reference | Performance | 1884

"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom8",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom9",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
"value":"2",
"displayName":null
}
]
],
"goalApprovalStatus":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionApprovalStatus",
"key":"300",
"description":"Approved"
},
"goalDefinitionStatus":{
"@type":"com.saba.rest.service.goal.RestGoalDefinitionStatus",
"key":"Active",
"description":"Active"
},
"goalVisibility":"gvizr000000000001002",
"parentLibGoalId":null,
"goalVisibilityName":"Everyone",
"definitionMetadata":{
"@type":"com.saba.ejb.UpdateMetadata",
"timestamp":"1591708561",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"gdefn000000000002965",
"prefix":"gdefn"
}
},
"template":false,
"expiryDate":null,
"libGoalVisibilityKey":null,
"required":false,
"pushed":false,
"fixedEndDate":null,
"shortDescription":"",
REST API Reference | Performance | 1885

"goalType":{
"@type":"com.saba.goal.entity.GoalTypeReference",
"id":"goalt000000000000001",
"displayName":"Performance Goal",
"locale":{
"@type":"loclref",
"id":"local000000000000001",
"displayName":null
},
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"goalt000000000000001",
"prefix":"goalt"
}
},
"goalCategory":{
"@type":"com.saba.goal.entity.GoalCategoryReference",
"id":"gcate000000000000011"
},
"isLibraryGoal":false,
"initialValue":1,
"goalMetric":{
"@type":"com.saba.goal.entity.GoalMetricReference",
"id":"gmetr000000000001040"
},
"goalAction":{
"@type":"com.saba.goal.entity.GoalActionReference",
"id":"gactn000000000001040"
},
"goalUnit":{
"@type":"com.saba.goal.entity.GoalUnitReference",
"id":"gunit000000000001004"
},
"smartGoal":false,
"targetValue":2,
"weight":20
}
}

Request Body (Submit for approval)

{
"@type":"com.saba.rest.service.goal.SabaGoalRestDetail",
"isPartialUpdate":true,
"goalAssignmentDetail":{
"@type":"com.saba.rest.service.goal.RestGoalAssignmentDetail"
},
"submitForApproval":true
}

Request Body (Mark as Archive or Unarchived)

{
"@type":"com.saba.rest.service.goal.SabaGoalRestDetail",
"isPartialUpdate":true,
"goalAssignmentDetail":{
"@type":"com.saba.rest.service.goal.RestGoalAssignmentDetail",
"archived":true
}
}
REST API Reference | Performance | 1886

Return Values

204 No Content

Pulse
REST endpoints for the performance data.

GET PULSE DASHBOARD DETAILS

Overview
Returns complete information of the pulse dashboard.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/pulse/pulseDashboard
?filter=:filter&value=:value&type=:type&date_from=:date_from&date_to=:date_to
Example:
https://<hostname-api.sabacloud.com>/v1/pulse/pulseDashboard
?filter=ORG&value=001000&type=internal&date_from=2018-10-01&date_to=2018-11-25

Calling Options
Table 530: Calling Options

Name Description Sample Value Data Type Required?

filter The filter criteria. ORG string No


Supported values are:
• ORG
• JOB
• COUNTRY
• LOC
REST API Reference | Performance | 1887

Name Description Sample Value Data Type Required?

value The value as per the string No


filter criteria. Accepts,
either the Corner-
stone SBX ID or the
lookup supported
name.
Note: For COUNTRY,
the value can only be
the actual country
name. For example:
?filter=COUN-
TRY&value=india

type This is required only string No


when filter is ORG.
Supported values are
internal, external

date_from Date filter in form of string No


yyyy-mm-dd

date_to Date filter in form of string No


yyyy-mm-dd

Return Values

{
"adminDashboardDTO": [{
"dimension": {
"listId": "sysli000000000003105",
"key": "PERN",
"displayName": "Personal"
},
"trendScore": 0,
"benchmarkScore": 0,
"emojibarData": null,
"chartQuestionData": [{
"questionId": "exqst000000000000001",
"questionName": "What are we doing well?",
"questionType": "18",
"chartData": {
"1": 1
},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000004",
"scaleChoice": [{
"correctAnswer": false,
"body": "Training Opportunities",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "scalc000000000000031",
REST API Reference | Performance | 1888

"choiceId": "scalc000000000000031",
"name": "Training Opportunities"
}, {
"correctAnswer": false,
"body": "Manager Recognition and Praise",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000032",
"choiceId": "scalc000000000000032",
"name": "Manager Recognition and Praise"
}, {
"correctAnswer": false,
"body": "Career Progression",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000033",
"choiceId": "scalc000000000000033",
"name": "Career Progression"
}, {
"correctAnswer": false,
"body": "Work-Life Balance",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000034",
"choiceId": "scalc000000000000034",
"name": "Work-Life Balance"
}, {
"correctAnswer": false,
"body": "Autonomy and Independence",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000035",
"choiceId": "scalc000000000000035",
"name": "Autonomy and Independence"
}]
}, {
"questionId": "exqst000000000000002",
"questionName": "What could we be doing better?",
"questionType": "18",
"chartData": {
"1": 1
},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000004",
"scaleChoice": [{
"correctAnswer": false,
"body": "Training Opportunities",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "scalc000000000000031",
"choiceId": "scalc000000000000031",
"name": "Training Opportunities"
}, {
"correctAnswer": false,
"body": "Manager Recognition and Praise",
REST API Reference | Performance | 1889

"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000032",
"choiceId": "scalc000000000000032",
"name": "Manager Recognition and Praise"
}, {
"correctAnswer": false,
"body": "Career Progression",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000033",
"choiceId": "scalc000000000000033",
"name": "Career Progression"
}, {
"correctAnswer": false,
"body": "Work-Life Balance",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000034",
"choiceId": "scalc000000000000034",
"name": "Work-Life Balance"
}, {
"correctAnswer": false,
"body": "Autonomy and Independence",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000035",
"choiceId": "scalc000000000000035",
"name": "Autonomy and Independence"
}]
}],
"lineChartData": null,
"pulseScore": {
"happyCount": 0,
"sadCount": 0,
"neutralCount": 0,
"happyPercent": 0,
"sadPercent": 0,
"neutralPercent": 0,
"pulseScore": 0
}
}, {
"dimension": {
"listId": "sysli000000000003105",
"key": "MGMT",
"displayName": "Management"
},
"trendScore": 0,
"benchmarkScore": 0,
"emojibarData": null,
"chartQuestionData": [{
"questionId": "exqst000000000000004",
"questionName": "What are we doing well?",
"questionType": "18",
"chartData": {},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
REST API Reference | Performance | 1890

"scaleId": "scale000000000000005",
"scaleChoice": [{
"correctAnswer": false,
"body": "Communication",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "scalc000000000000036",
"choiceId": "scalc000000000000036",
"name": "Communication"
}, {
"correctAnswer": false,
"body": "Talent Recognition",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000037",
"choiceId": "scalc000000000000037",
"name": "Talent Recognition"
}, {
"correctAnswer": false,
"body": "Company Vision/Strategy",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000038",
"choiceId": "scalc000000000000038",
"name": "Company Vision/Strategy"
}, {
"correctAnswer": false,
"body": "Accountability/Decision Making",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000039",
"choiceId": "scalc000000000000039",
"name": "Accountability/Decision Making"
}, {
"correctAnswer": false,
"body": "Leadership",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000040",
"choiceId": "scalc000000000000040",
"name": "Leadership"
}]
}, {
"questionId": "exqst000000000000005",
"questionName": "What could we be doing better?",
"questionType": "18",
"chartData": {
"1": 1
},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000005",
"scaleChoice": [{
"correctAnswer": false,
"body": "Communication",
"choiceGroup": 1,
REST API Reference | Performance | 1891

"ordinal": 1,
"value": 0,
"id": "scalc000000000000036",
"choiceId": "scalc000000000000036",
"name": "Communication"
}, {
"correctAnswer": false,
"body": "Talent Recognition",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000037",
"choiceId": "scalc000000000000037",
"name": "Talent Recognition"
}, {
"correctAnswer": false,
"body": "Company Vision/Strategy",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000038",
"choiceId": "scalc000000000000038",
"name": "Company Vision/Strategy"
}, {
"correctAnswer": false,
"body": "Accountability/Decision Making",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000039",
"choiceId": "scalc000000000000039",
"name": "Accountability/Decision Making"
}, {
"correctAnswer": false,
"body": "Leadership",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000040",
"choiceId": "scalc000000000000040",
"name": "Leadership"
}]
}],
"lineChartData": null,
"pulseScore": {
"happyCount": 0,
"sadCount": 0,
"neutralCount": 0,
"happyPercent": 0,
"sadPercent": 0,
"neutralPercent": 0,
"pulseScore": 0
}
}, {
"dimension": {
"listId": "sysli000000000003105",
"key": "CMPY",
"displayName": "Company"
},
"trendScore": 0,
"benchmarkScore": 0,
"emojibarData": null,
REST API Reference | Performance | 1892

"chartQuestionData": [{
"questionId": "exqst000000000000008",
"questionName": "What could we be doing better?",
"questionType": "18",
"chartData": {
"2": 1
},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000006",
"scaleChoice": [{
"correctAnswer": false,
"body": "Company Culture",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "scalc000000000000041",
"choiceId": "scalc000000000000041",
"name": "Company Culture"
}, {
"correctAnswer": false,
"body": "Our People",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000042",
"choiceId": "scalc000000000000042",
"name": "Our People"
}, {
"correctAnswer": false,
"body": "Our Offerings (Products - Services)",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000043",
"choiceId": "scalc000000000000043",
"name": "Our Offerings (Products - Services)"
}, {
"correctAnswer": false,
"body": "Customer Service",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000044",
"choiceId": "scalc000000000000044",
"name": "Customer Service"
}, {
"correctAnswer": false,
"body": "Pay - Benefits",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000045",
"choiceId": "scalc000000000000045",
"name": "Pay - Benefits"
}]
}, {
"questionId": "exqst000000000000007",
"questionName": "What are we doing well?",
"questionType": "18",
"chartData": {},
REST API Reference | Performance | 1893

"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000006",
"scaleChoice": [{
"correctAnswer": false,
"body": "Company Culture",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "scalc000000000000041",
"choiceId": "scalc000000000000041",
"name": "Company Culture"
}, {
"correctAnswer": false,
"body": "Our People",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000042",
"choiceId": "scalc000000000000042",
"name": "Our People"
}, {
"correctAnswer": false,
"body": "Our Offerings (Products - Services)",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000043",
"choiceId": "scalc000000000000043",
"name": "Our Offerings (Products - Services)"
}, {
"correctAnswer": false,
"body": "Customer Service",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000044",
"choiceId": "scalc000000000000044",
"name": "Customer Service"
}, {
"correctAnswer": false,
"body": "Pay - Benefits",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000045",
"choiceId": "scalc000000000000045",
"name": "Pay - Benefits"
}]
}],
"lineChartData": null,
"pulseScore": {
"happyCount": 0,
"sadCount": 0,
"neutralCount": 0,
"happyPercent": 0,
"sadPercent": 0,
"neutralPercent": 0,
"pulseScore": 0
}
}],
REST API Reference | Performance | 1894

"allSurveys": [{
"surveyBean": null,
"configId": "pucfg000000000000001",
"surveyName": "Pulse Survey",
"surveyId": "survy000000000000001"
}],
"currentSurvey": {
"surveyBean": null,
"configId": "pucfg000000000000001",
"surveyName": "Pulse Survey",
"surveyId": "survy000000000000001"
},
"canViewDashboard": true,
"statusMessage": null,
"proServiceEnabled": false
}

GET CHART QUESTION DATA

Overview
Returns complete information of the chart question data.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/pulse/chartQuestionData
?filter=:filter&value=:value&type=:type&date_from=:date_from&date_to=:date_to&dimen=:dimen&configId=configId
Example:
https://<hostname-api.sabacloud.com>/v1/pulse/chartQuestionData
?filter=ORG&value=001000&type=internal&date_from=2018-10-01&date_to=2018-11-25&dimen=PERN&configId=pucfg000000000000001

Calling Options
Table 531: Calling Options

Name Description Sample Value Data Type Required?

filter The filter criteria. ORG string No


Supported values are:
• ORG
• JOB
• COUNTRY
• LOC
• manager
REST API Reference | Performance | 1895

Name Description Sample Value Data Type Required?

value The value as per the string No


filter criteria. Accepts,
either the Corner-
stone SBX ID or the
lookup supported
name.
Note: For COUNTRY,
the value can only be
the actual country
name. For example:
?filter=COUN-
TRY&value=india

type This is required only string No


when filter is ORG.
Supported values are
internal, external

date_from Date filter in form of string No


yyyy-mm-dd

date_to Date filter in form of string No


yyyy-mm-dd

dimen The dimension and string No


the supported values
are:
• PERN
• MGMT
• CMPY

configId The Pulse Corner- string No


stone SBX ID

Return Values

[{
"questionId": "exqst000000000000001",
"questionName": "What are we doing well?",
"questionType": "18",
"chartData": {
"1": 1
},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000004",
"scaleChoice": [{
"correctAnswer": false,
"body": "Training Opportunities",
"choiceGroup": 1,
"ordinal": 1,
REST API Reference | Performance | 1896

"value": 0,
"id": "scalc000000000000031",
"choiceId": "scalc000000000000031",
"name": "Training Opportunities"
}, {
"correctAnswer": false,
"body": "Manager Recognition and Praise",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000032",
"choiceId": "scalc000000000000032",
"name": "Manager Recognition and Praise"
}, {
"correctAnswer": false,
"body": "Career Progression",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000033",
"choiceId": "scalc000000000000033",
"name": "Career Progression"
}, {
"correctAnswer": false,
"body": "Work-Life Balance",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000034",
"choiceId": "scalc000000000000034",
"name": "Work-Life Balance"
}, {
"correctAnswer": false,
"body": "Autonomy and Independence",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000035",
"choiceId": "scalc000000000000035",
"name": "Autonomy and Independence"
}]
}, {
"questionId": "exqst000000000000002",
"questionName": "What could we be doing better?",
"questionType": "18",
"chartData": {
"1": 1
},
"top10List": null,
"top2List": null,
"isFromCurrentList": false,
"scaleId": "scale000000000000004",
"scaleChoice": [{
"correctAnswer": false,
"body": "Training Opportunities",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "scalc000000000000031",
"choiceId": "scalc000000000000031",
"name": "Training Opportunities"
}, {
REST API Reference | Performance | 1897

"correctAnswer": false,
"body": "Manager Recognition and Praise",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "scalc000000000000032",
"choiceId": "scalc000000000000032",
"name": "Manager Recognition and Praise"
}, {
"correctAnswer": false,
"body": "Career Progression",
"choiceGroup": 1,
"ordinal": 3,
"value": 0,
"id": "scalc000000000000033",
"choiceId": "scalc000000000000033",
"name": "Career Progression"
}, {
"correctAnswer": false,
"body": "Work-Life Balance",
"choiceGroup": 1,
"ordinal": 4,
"value": 0,
"id": "scalc000000000000034",
"choiceId": "scalc000000000000034",
"name": "Work-Life Balance"
}, {
"correctAnswer": false,
"body": "Autonomy and Independence",
"choiceGroup": 1,
"ordinal": 5,
"value": 0,
"id": "scalc000000000000035",
"choiceId": "scalc000000000000035",
"name": "Autonomy and Independence"
}]
}]

GET ADMIN HEATMAP DATA

Overview
Returns complete information of the admin heatmap data.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/pulse/heatMapDashboard
?filter=:filter&value=:value&type=:type&date_from=:date_from&date_to=:date_to&isOrgAdmin=:isOrgAdmin
&sortOrder=:sortOrder&pageNumber=:pageNumber&pageSize=:pageSize
REST API Reference | Performance | 1898

Example:
https://<hostname-api.sabacloud.com>/v1/pulse/heatMapDashboard
?filter=ORG&value=001000&type=internal&date_from=2018-10-01&date_to=2018-11-25&isOrgAdmin=false
&sortOrder=DESC&pageNumber=1&pageSize=50

Calling Options
Table 532: Calling Options

Name Description Sample Value Data Type Required?

filter The filter criteria. ORG string No


Supported values are:
• ORG
• JOB
• COUNTRY
• LOC

value The value as per the string No


filter criteria. Accepts,
either the Corner-
stone SBX ID or the
lookup supported
name.
Note: For COUNTRY,
the value can only be
the actual country
name. For example:
?filter=COUN-
TRY&value=india

type This is required only string No


when filter is ORG.
Supported values are
internal, external

date_from Date filter in form of string No


yyyy-mm-dd

date_to Date filter in form of string No


yyyy-mm-dd

isOrgAdmin To get organization string No


admin specific heat-
map. Supported val-
ues are true, false

sortOrder Sorting order. Suppor- string No


ted values are DESC,
ASC

pageNumber Page number string No


REST API Reference | Performance | 1899

Name Description Sample Value Data Type Required?

pageSize Page size. Default string No


value: 10

Return Values

{
"dashboardData": {
"searchResults": [{
"objectId": "bisut000000000001800",
"objectDisplayName": "02008",
"mePulseScore": -100,
"mgmtPulseScore": 100,
"companyPulseScore": -100
}, {
"objectId": "bisut000000000001000",
"objectDisplayName": "Saba",
"mePulseScore": 17,
"mgmtPulseScore": -9,
"companyPulseScore": -17
}, {
"objectId": "bisut000000000001662",
"objectDisplayName": "Marketing",
"mePulseScore": 0,
"mgmtPulseScore": -100,
"companyPulseScore": 100
}, {
"objectId": "bisut000000000002200",
"objectDisplayName": "ABC Sample Company",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001811",
"objectDisplayName": "ADMIN",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002201",
"objectDisplayName": "Canada Company",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001818",
"objectDisplayName": "ENTER",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001824",
"objectDisplayName": "IT",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002202",
"objectDisplayName": "International Streamline Co",
REST API Reference | Performance | 1900

"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002203",
"objectDisplayName": "MCB - Employee Invst Svc",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002205",
"objectDisplayName": "MCF - Financial Services",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002207",
"objectDisplayName": "MidWest",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002208",
"objectDisplayName": "North East",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001780",
"objectDisplayName": "Ottawa",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001900",
"objectDisplayName": "QE",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001663",
"objectDisplayName": "R&D",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002209",
"objectDisplayName": "South",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002210",
"objectDisplayName": "Universal Solutions Inc.",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002211",
"objectDisplayName": "West",
"mePulseScore": 0,
"mgmtPulseScore": 0,
REST API Reference | Performance | 1901

"companyPulseScore": 0
}, {
"objectId": "bisut000000000001661",
"objectDisplayName": "Finance & Accounting",
"mePulseScore": 100,
"mgmtPulseScore": 5,
"companyPulseScore": -90
}, {
"objectId": "bisut000000000000001",
"objectDisplayName": "Root",
"mePulseScore": 40,
"mgmtPulseScore": 20,
"companyPulseScore": -10
}, {
"objectId": "other",
"objectDisplayName": "other",
"mePulseScore": 100,
"mgmtPulseScore": 0,
"companyPulseScore": -50
}, {
"objectId": "bisut000000000001700",
"objectDisplayName": "Ottawa",
"mePulseScore": 100,
"mgmtPulseScore": 100,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001664",
"objectDisplayName": "Customer Success",
"mePulseScore": 92,
"mgmtPulseScore": 80,
"companyPulseScore": 80
}],
"totalRecords": 24,
"currentPageNumber": 1,
"pageSize": 50,
"hasMoreRecords": false,
"totalCountIncorrect": false,
"timeInterval": 0,
"facets": null
}
}

GET ACTIVE SURVEY DETAIL (DEPRECATED)

Overview
Returns survey details.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/pulse/activeSurveyDetail
REST API Reference | Performance | 1902

Return Values

{
"dimensionQuestions": {
"PERN": [{
"syslovid": null,
"questiontype": "3",
"pulseQuestionDetails": [{
"questionId": "exqst000000000001001",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "HPY",
"displayName": "Happy"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "PERN",
"displayName": "Personal"
},
"id": "pfqem000000000001000",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}, {
"questionId": "exqst000000000001001",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "NEU",
"displayName": "Neutral"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "PERN",
"displayName": "Personal"
},
"id": "pfqem000000000001001",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}, {
"questionId": "exqst000000000001001",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "SAD",
"displayName": "Unhappy"
},
"dimension": {
REST API Reference | Performance | 1903

"listId": "sysli000000000003105",
"key": "PERN",
"displayName": "Personal"
},
"id": "pfqem000000000001002",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}],
"surveyQuestion": {
"questionId": "quest000000000001001",
"mandatory": false,
"ordinal": 1,
"sectionOrdinal": 0,
"id": "exqst000000000001001",
"parentId": "exstr000000000001002",
"surveyId": "survy000000000001001",
"sectionName": null,
"questionVersion": 0,
"author": null,
"questionStatus": null,
"lastUpdatedOn": null,
"questionText": null,
"questionType": null,
"weight": 0,
"questionBean": {
"id": "quest000000000001001",
"questionId": 0,
"version": 1,
"author": null,
"type": "YES_NO",
"active": true,
"parent": "",
"body": "sgt reyery",
"status": "",
"choices": [{
"correctAnswer": false,
"body": "Yes",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "choic000000000001002",
"choiceId": "choic000000000001002",
"name": "Yes"
}, {
"correctAnswer": true,
"body": "No",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "choic000000000001003",
"choiceId": "choic000000000001003",
"name": "No"
}],
REST API Reference | Performance | 1904

"reuse": false,
"bodyPlain": "sgt reyery",
"intent": null,
"notes": null,
"feedback": null,
"feedbackCorrect": null,
"feedbackWrong": null,
"hint": null,
"lockLastChoice": false,
"difficulty": "NOT_SPECIFIED",
"weight": 1,
"duration": 0,
"scaleId": null,
"reverseScaleScoring": false,
"allowNotApplicable": false,
"pointsPerChoice": false,
"mediaURL": null,
"fileName": null,
"attachmentId": null,
"ownerId": null,
"updatedOn": null,
"snapshotId": 0,
"locked": false,
"lockedBy": null,
"lockedOn": null,
"answerLimit": null,
"allowComment": false,
"customCommentLabel": "",
"forceAreaName": false,
"linkedContentQstId": 0,
"linkedContentQstBody": null,
"linkedContentQstMediaUrl": null,
"noOfWordResponses": 1,
"scaleName": null,
"languageId": null,
"demographics": false,
"allowStaleTranslation": false,
"useDefaultValues": false,
"externalId": null,
"languageList": [],
"questTagDetail": [],
"availableLang": null,
"quesScrambleChoices": true,
"respBranchLogic": [],
"oob": false,
"questionTypeId": 3,
"copied": false
},
"nonTranslatedLang": null,
"staleUpdate": null,
"externalId": null,
"branchQues": false,
"linkcount": null,
"oob": false,
"demographics": false
}
}],
"CMPY": [{
"syslovid": null,
"questiontype": "3",
"pulseQuestionDetails": [{
"questionId": "exqst000000000001003",
REST API Reference | Performance | 1905

"emojiValue": {
"listId": "sysli000000000003106",
"key": "HPY",
"displayName": "Happy"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "CMPY",
"displayName": "Company"
},
"id": "pfqem000000000001003",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}, {
"questionId": "exqst000000000001003",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "NEU",
"displayName": "Neutral"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "CMPY",
"displayName": "Company"
},
"id": "pfqem000000000001004",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}, {
"questionId": "exqst000000000001003",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "SAD",
"displayName": "Unhappy"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "CMPY",
"displayName": "Company"
},
"id": "pfqem000000000001005",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
REST API Reference | Performance | 1906

"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}],
"surveyQuestion": {
"questionId": "quest000000000001003",
"mandatory": false,
"ordinal": 1,
"sectionOrdinal": 0,
"id": "exqst000000000001003",
"parentId": "exstr000000000001004",
"surveyId": "survy000000000001001",
"sectionName": null,
"questionVersion": 0,
"author": null,
"questionStatus": null,
"lastUpdatedOn": null,
"questionText": null,
"questionType": null,
"weight": 0,
"questionBean": {
"id": "quest000000000001003",
"questionId": 0,
"version": 1,
"author": null,
"type": "YES_NO",
"active": true,
"parent": "",
"body": "fdf",
"status": "",
"choices": [{
"correctAnswer": false,
"body": "Yes",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "choic000000000001006",
"choiceId": "choic000000000001006",
"name": "Yes"
}, {
"correctAnswer": true,
"body": "No",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "choic000000000001007",
"choiceId": "choic000000000001007",
"name": "No"
}],
"reuse": false,
"bodyPlain": "fdf",
"intent": null,
"notes": null,
"feedback": null,
"feedbackCorrect": null,
"feedbackWrong": null,
"hint": null,
REST API Reference | Performance | 1907

"lockLastChoice": false,
"difficulty": "NOT_SPECIFIED",
"weight": 1,
"duration": 0,
"scaleId": null,
"reverseScaleScoring": false,
"allowNotApplicable": false,
"pointsPerChoice": false,
"mediaURL": null,
"fileName": null,
"attachmentId": null,
"ownerId": null,
"updatedOn": null,
"snapshotId": 0,
"locked": false,
"lockedBy": null,
"lockedOn": null,
"answerLimit": null,
"allowComment": false,
"customCommentLabel": "",
"forceAreaName": false,
"linkedContentQstId": 0,
"linkedContentQstBody": null,
"linkedContentQstMediaUrl": null,
"noOfWordResponses": 1,
"scaleName": null,
"languageId": null,
"demographics": false,
"allowStaleTranslation": false,
"useDefaultValues": false,
"externalId": null,
"languageList": [],
"questTagDetail": [],
"availableLang": null,
"quesScrambleChoices": true,
"respBranchLogic": [],
"oob": false,
"questionTypeId": 3,
"copied": false
},
"nonTranslatedLang": null,
"staleUpdate": null,
"externalId": null,
"branchQues": false,
"linkcount": null,
"oob": false,
"demographics": false
}
}],
"MGMT": [{
"syslovid": null,
"questiontype": "3",
"pulseQuestionDetails": [{
"questionId": "exqst000000000001002",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "HPY",
"displayName": "Happy"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "MGMT",
REST API Reference | Performance | 1908

"displayName": "Management"
},
"id": "pfqem000000000001006",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}, {
"questionId": "exqst000000000001002",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "NEU",
"displayName": "Neutral"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "MGMT",
"displayName": "Management"
},
"id": "pfqem000000000001007",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
}, {
"questionId": "exqst000000000001002",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "SAD",
"displayName": "Unhappy"
},
"dimension": {
"listId": "sysli000000000003105",
"key": "MGMT",
"displayName": "Management"
},
"id": "pfqem000000000001008",
"questionType": "3",
"sysLovId": null,
"updatedBy": null,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
"required": true,
"activeQuestion": true,
"optionalQuestion": false
REST API Reference | Performance | 1909

}],
"surveyQuestion": {
"questionId": "quest000000000001002",
"mandatory": false,
"ordinal": 1,
"sectionOrdinal": 0,
"id": "exqst000000000001002",
"parentId": "exstr000000000001003",
"surveyId": "survy000000000001001",
"sectionName": null,
"questionVersion": 0,
"author": null,
"questionStatus": null,
"lastUpdatedOn": null,
"questionText": null,
"questionType": null,
"weight": 0,
"questionBean": {
"id": "quest000000000001002",
"questionId": 0,
"version": 1,
"author": null,
"type": "YES_NO",
"active": true,
"parent": "",
"body": "fgert",
"status": "",
"choices": [{
"correctAnswer": false,
"body": "Yes",
"choiceGroup": 1,
"ordinal": 1,
"value": 0,
"id": "choic000000000001004",
"choiceId": "choic000000000001004",
"name": "Yes"
}, {
"correctAnswer": true,
"body": "No",
"choiceGroup": 1,
"ordinal": 2,
"value": 0,
"id": "choic000000000001005",
"choiceId": "choic000000000001005",
"name": "No"
}],
"reuse": false,
"bodyPlain": "fgert",
"intent": null,
"notes": null,
"feedback": null,
"feedbackCorrect": null,
"feedbackWrong": null,
"hint": null,
"lockLastChoice": false,
"difficulty": "NOT_SPECIFIED",
"weight": 1,
"duration": 0,
"scaleId": null,
"reverseScaleScoring": false,
"allowNotApplicable": false,
"pointsPerChoice": false,
REST API Reference | Performance | 1910

"mediaURL": null,
"fileName": null,
"attachmentId": null,
"ownerId": null,
"updatedOn": null,
"snapshotId": 0,
"locked": false,
"lockedBy": null,
"lockedOn": null,
"answerLimit": null,
"allowComment": false,
"customCommentLabel": "",
"forceAreaName": false,
"linkedContentQstId": 0,
"linkedContentQstBody": null,
"linkedContentQstMediaUrl": null,
"noOfWordResponses": 1,
"scaleName": null,
"languageId": null,
"demographics": false,
"allowStaleTranslation": false,
"useDefaultValues": false,
"externalId": null,
"languageList": [],
"questTagDetail": [],
"availableLang": null,
"quesScrambleChoices": true,
"respBranchLogic": [],
"oob": false,
"questionTypeId": 3,
"copied": false
},
"nonTranslatedLang": null,
"staleUpdate": null,
"externalId": null,
"branchQues": false,
"linkcount": null,
"oob": false,
"demographics": false
}
}]
},
"canUserProvideFeedback": true,
"remainingDaysForFeedBack": 0,
"canViewedByCurrentLearner": true,
"currentConfigId": "pucfg000000000001000"
}

GET ACTIVE SURVEY INFO

Overview
Returns survey along with question details.

Requires OAuth
No
REST API Reference | Performance | 1911

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/pulse/surveyInfo

Return Values
{
"questionsConfig": {
"sections": {
"PERN": {
"HPY": [{
"emojiQuestionId": "pfqem000000000001100",
"surveyQuestionId": "exqst000000000001680",
"optionalQuestion": false
}],
"SAD": [{
"emojiQuestionId": "pfqem000000000001102",
"surveyQuestionId": "exqst000000000001680",
"optionalQuestion": false
}],
"NEU": [{
"emojiQuestionId": "pfqem000000000001101",
"surveyQuestionId": "exqst000000000001680",
"optionalQuestion": false
}]
},
"MGMT": {
"HPY": [{
"emojiQuestionId": "pfqem000000000001103",
"surveyQuestionId": "exqst000000000001683",
"optionalQuestion": false
}],
"SAD": [{
"emojiQuestionId": "pfqem000000000001105",
"surveyQuestionId": "exqst000000000001683",
"optionalQuestion": false
}],
"NEU": [{
"emojiQuestionId": "pfqem000000000001104",
"surveyQuestionId": "exqst000000000001683",
"optionalQuestion": false
}]
},
"CMPY": {
"HPY": [{
"emojiQuestionId": "pfqem000000000001106",
"surveyQuestionId": "exqst000000000001682",
"optionalQuestion": false
}],
"SAD": [{
"emojiQuestionId": "pfqem000000000001108",
"surveyQuestionId": "exqst000000000001682",
"optionalQuestion": false
}],
"NEU": [{
"emojiQuestionId": "pfqem000000000001107",
"surveyQuestionId": "exqst000000000001682",
"optionalQuestion": false
}]
REST API Reference | Performance | 1912

}
},
"questions": [{
"surveyQuestionId": "exqst000000000001680",
"questionId": "quest000000000001700",
"questionType": "YES_NO",
"questionText": "Et es Si/Na question?",
"choices": [{
"choiceId": "choic000000000001720",
"name": "Si",
"ordinal": 1
}, {
"choiceId": "choic000000000001721",
"name": "Na",
"ordinal": 2
}],
"noOfWordResponses": 1
}, {
"surveyQuestionId": "exqst000000000001683",
"questionId": "quest000000000001703",
"questionType": "WORD_RESPONSE",
"questionText": "Test Spanish Word Response Question",
"choices": [],
"noOfWordResponses": 1
}, {
"surveyQuestionId": "exqst000000000001682",
"questionId": "quest000000000001702",
"questionType": "WORD_RESPONSE",
"questionText": "What is your Spanish word response?",
"choices": [],
"noOfWordResponses": 2
}]
},
"configId": "pucfg000000000001060",
"canUserProvideFeedback": false,
"remainingDaysForFeedBack": 0,
"remainingSecondsForFeedBack": 0,
"canViewedByCurrentLearner": false
}

GET ACTIVE SURVEY QUESTION DETAILS (DEPRECATED)

Overview
Returns active survey's question details.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/pulse/surveyquestions
REST API Reference | Performance | 1913

Return Values

{
"questionsConfig": {
"sections": {
"PERN": {
"HPY": [
{
"emojiQuestionId": "pfqem000000000000001",
"surveyQuestionId": "exqst000000000000001",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000002",
"surveyQuestionId": "exqst000000000000002",
"optionalQuestion": false
}
],
"SAD": [
{
"emojiQuestionId": "pfqem000000000000003",
"surveyQuestionId": "exqst000000000000002",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000005",
"surveyQuestionId": "exqst000000000000003",
"optionalQuestion": false
}
],
"NEU": [
{
"emojiQuestionId": "pfqem000000000000004",
"surveyQuestionId": "exqst000000000000002",
"optionalQuestion": false
}
]
},
"MGMT": {
"HPY": [
{
"emojiQuestionId": "pfqem000000000000006",
"surveyQuestionId": "exqst000000000000004",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000007",
"surveyQuestionId": "exqst000000000000005",
"optionalQuestion": false
}
],
"SAD": [
{
"emojiQuestionId": "pfqem000000000000008",
"surveyQuestionId": "exqst000000000000005",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000010",
"surveyQuestionId": "exqst000000000000006",
"optionalQuestion": false
}
],
REST API Reference | Performance | 1914

"NEU": [
{
"emojiQuestionId": "pfqem000000000000009",
"surveyQuestionId": "exqst000000000000005",
"optionalQuestion": false
}
]
},
"CMPY": {
"HPY": [
{
"emojiQuestionId": "pfqem000000000000011",
"surveyQuestionId": "exqst000000000000007",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000012",
"surveyQuestionId": "exqst000000000000008",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000013",
"surveyQuestionId": "exqst000000000000009",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000018",
"surveyQuestionId": "exqst000000000000010",
"optionalQuestion": false
}
],
"SAD": [
{
"emojiQuestionId": "pfqem000000000000014",
"surveyQuestionId": "exqst000000000000008",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000015",
"surveyQuestionId": "exqst000000000000009",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000019",
"surveyQuestionId": "exqst000000000000010",
"optionalQuestion": false
}
],
"NEU": [
{
"emojiQuestionId": "pfqem000000000000016",
"surveyQuestionId": "exqst000000000000008",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000017",
"surveyQuestionId": "exqst000000000000009",
"optionalQuestion": false
},
{
"emojiQuestionId": "pfqem000000000000020",
"surveyQuestionId": "exqst000000000000010",
REST API Reference | Performance | 1915

"optionalQuestion": false
}
]
}
},
"questions": [
{
"surveyQuestionId": "exqst000000000000001",
"questionId": "quest000000000000001",
"questionType": "LIKERT",
"questionText": "What are we doing well?",
"choices": [
{
"choiceId": "scalc000000000000031",
"name": "Training Opportunities",
"ordinal": 1
},
{
"choiceId": "scalc000000000000032",
"name": "Manager Recognition and Praise",
"ordinal": 2
},
{
"choiceId": "scalc000000000000033",
"name": "Career Progression",
"ordinal": 3
},
{
"choiceId": "scalc000000000000034",
"name": "Work-Life Balance",
"ordinal": 4
},
{
"choiceId": "scalc000000000000035",
"name": "Autonomy and Independence",
"ordinal": 5
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000002",
"questionId": "quest000000000000002",
"questionType": "LIKERT",
"questionText": "What could we be doing better?",
"choices": [
{
"choiceId": "scalc000000000000031",
"name": "Training Opportunities",
"ordinal": 1
},
{
"choiceId": "scalc000000000000032",
"name": "Manager Recognition and Praise",
"ordinal": 2
},
{
"choiceId": "scalc000000000000033",
"name": "Career Progression",
"ordinal": 3
},
{
REST API Reference | Performance | 1916

"choiceId": "scalc000000000000034",
"name": "Work-Life Balance",
"ordinal": 4
},
{
"choiceId": "scalc000000000000035",
"name": "Autonomy and Independence",
"ordinal": 5
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000003",
"questionId": "quest000000000000007",
"questionType": "YES_NO",
"questionText": "Do you see yourself working here in the next 12 months?",
"choices": [
{
"choiceId": "choic000000000000001",
"name": "Yes",
"ordinal": 1
},
{
"choiceId": "choic000000000000002",
"name": "No",
"ordinal": 2
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000004",
"questionId": "quest000000000000003",
"questionType": "LIKERT",
"questionText": "What are we doing well?",
"choices": [
{
"choiceId": "scalc000000000000036",
"name": "Communication",
"ordinal": 1
},
{
"choiceId": "scalc000000000000037",
"name": "Talent Recognition",
"ordinal": 2
},
{
"choiceId": "scalc000000000000038",
"name": "Company Vision/Strategy",
"ordinal": 3
},
{
"choiceId": "scalc000000000000039",
"name": "Accountability/Decision Making",
"ordinal": 4
},
{
"choiceId": "scalc000000000000040",
"name": "Leadership",
"ordinal": 5
}
REST API Reference | Performance | 1917

],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000005",
"questionId": "quest000000000000004",
"questionType": "LIKERT",
"questionText": "What could we be doing better?",
"choices": [
{
"choiceId": "scalc000000000000036",
"name": "Communication",
"ordinal": 1
},
{
"choiceId": "scalc000000000000037",
"name": "Talent Recognition",
"ordinal": 2
},
{
"choiceId": "scalc000000000000038",
"name": "Company Vision/Strategy",
"ordinal": 3
},
{
"choiceId": "scalc000000000000039",
"name": "Accountability/Decision Making",
"ordinal": 4
},
{
"choiceId": "scalc000000000000040",
"name": "Leadership",
"ordinal": 5
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000006",
"questionId": "quest000000000000008",
"questionType": "YES_NO",
"questionText": "Do you feel comfortable providing upward feedback to your
supervisor?",
"choices": [
{
"choiceId": "choic000000000000003",
"name": "Yes",
"ordinal": 1
},
{
"choiceId": "choic000000000000004",
"name": "No",
"ordinal": 2
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000007",
"questionId": "quest000000000000005",
"questionType": "LIKERT",
"questionText": "What are we doing well?",
REST API Reference | Performance | 1918

"choices": [
{
"choiceId": "scalc000000000000041",
"name": "Company Culture",
"ordinal": 1
},
{
"choiceId": "scalc000000000000042",
"name": "Our People",
"ordinal": 2
},
{
"choiceId": "scalc000000000000043",
"name": "Our Offerings (Products - Services)",
"ordinal": 3
},
{
"choiceId": "scalc000000000000044",
"name": "Customer Service",
"ordinal": 4
},
{
"choiceId": "scalc000000000000045",
"name": "Pay - Benefits",
"ordinal": 5
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000008",
"questionId": "quest000000000000006",
"questionType": "LIKERT",
"questionText": "What could we be doing better?",
"choices": [
{
"choiceId": "scalc000000000000041",
"name": "Company Culture",
"ordinal": 1
},
{
"choiceId": "scalc000000000000042",
"name": "Our People",
"ordinal": 2
},
{
"choiceId": "scalc000000000000043",
"name": "Our Offerings (Products - Services)",
"ordinal": 3
},
{
"choiceId": "scalc000000000000044",
"name": "Customer Service",
"ordinal": 4
},
{
"choiceId": "scalc000000000000045",
"name": "Pay - Benefits",
"ordinal": 5
}
],
"noOfWordResponses": 0
REST API Reference | Performance | 1919

},
{
"surveyQuestionId": "exqst000000000000009",
"questionId": "quest000000000000009",
"questionType": "WORD_RESPONSE",
"questionText": "Describe our CURRENT CULTURE in three words or less.",
"choices": [],
"noOfWordResponses": 3
},
{
"surveyQuestionId": "exqst000000000000010",
"questionId": "quest000000000000010",
"questionType": "WORD_RESPONSE",
"questionText": "Describe your preferred FUTURE CULTURE in three words or less.",

"choices": [],
"noOfWordResponses": 3
}
]
},
"configId": "pucfg000000000000001",
"canUserProvideFeedback": true,
"remainingDaysForFeedBack": 0,
"remainingSecondsForFeedBack": 0,
"canViewedByCurrentLearner": true
}

SUBMIT PULSE SURVEY

Overview
Submits a pulse survey on behalf of the user.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/pulse/survey

Calling Options
Table 533: Calling Options

Name Description Sample Value Data Type Required?

surveyResponse Survey response de- com.saba.rest.ser- string Yes


tail vice.goal.Saba-
GoalRestDetail
REST API Reference | Performance | 1920

Request Body

{
"surveyResponse": [{
"qustRespDTOList": [{
"emojiQuestionId": "pfqem000000000001100",
"questionResponseValue": 1
}
],
"dimension": "PERN",
"emojiValue": "HPY",
"configId": "pucfg000000000001060"
},
{
"qustRespDTOList": [{
"emojiQuestionId": "pfqem000000000001104",
"respKeywords": ["test"]
}],
"dimension": "MGMT",
"emojiValue": "NEU",
"configId": "pucfg000000000001060"
}, {
"qustRespDTOList": [{
"emojiQuestionId": "pfqem000000000001108",
"respKeywords": ["test res"]
}],
"dimension": "CMPY",
"emojiValue": "SAD",
"configId": "pucfg000000000001060"
}
],
"personId": {
"displayName": "UONE1"
},
"localeId": {
"id": "local000000000000001",
"displayName": "en_US"
}
}

Return Values

{ "mesgList":[],
"defaultMessage":"Thank you for your feedback!"
}

Attribute details for PULSE APIs


The following are the attributes used in the Pulse APIs:

Attributes Type Description

configId String ID of the current configured


survey.
REST API Reference | Performance | 1921

Attributes Type Description

canUserProvideFeedback Boolean
True – survey questions will
be displayed to user (remain-
ingHoursForFeedBack and
remainingDaysForFeedBack
will be 0)
False – proper message will
be displayed to user when
user can provide feedback
(remainingHoursForFeedBack
or remainingDaysForFeed-
Back will be greater than 0)

canViewedByCurrentUser Boolean
True – survey question portlet
will be displayed to user.
False - survey question portlet
will not be displayed to user
(either pulse service is off or
which user type can pulse
policy is not enabled for
logged in user).

remainingDaysForFeedBack long How many days are remaining


before user can provide feed-
back.

remainingHoursForFeedBack long How many hours are remain-


ing before user can provide
feedback.

questionConfig Object Complex object of sections


and common question details

Table 534: questionConfig definition

Attributes Type Description

Sections Map Map of question IDs per emoji


and per dimension

questions List List of unique questionDetail


objects.

Table 535: emojiQuestionDetail definition

Attributes Type Description

emojiQuestionId ID
Emoji question ID (internal
identifier)
e.g. pfqem000000000000020
REST API Reference | Performance | 1922

Attributes Type Description

surveyQuestionId ID
Survey question ID (internal
identifier)
e.g. exqst000000000000010

optionalQuestion Boolean
True – user response is option-
al for given question.
False – user response is man-
datory for given question.

Table 536: questionDetail definition

Attributes Type Description

surveyQuestionId ID
unique survey question ID (in-
ternal identifier)
"id": "exqst000000000000001"

questionId ID
Unique question ID (internal
identifier)
e.g. quest000000000000003

questionText string The question text to display in


the appropriate language
(i18N). Returns the value in the
requested language, other-
wise return English value.

questionType string
The question type. Possible
Values:
• LIKERT
• YES_NO
• WORD_RESPONSE

noOfWordResponses number The number of textboxes to


display.

choices List List of ChoiceDetail object

Table 537: choiceDetail definition

Attributes Type Description

choiceId ID Choice ID (internal identifier)


REST API Reference | Performance | 1923

Attributes Type Description

Name string The choice text to display in


the appropriate language
(I18N). Returns the value in the
requested language, other-
wise return English value.

ordinal string Ordinal number to be used


while user submit the question
response.

Competency
REST endpoints for the performance data.

GET ALL COMPETENCIES FOR A PERSON

Overview
Returns all the competencies for a given user.
Note:
A user (if-logged in) invoking this REST API will see their own competencies. They can also
view another person's competencies by specifying the assignee's ID as the search criteria,
provided they have the privilege to view that assignee's competencies.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/performance/competencies
?type=:type&q=(:criteria_field%3D%3D:field_value)&count=:count&startPage=:startPage&includeDetails=:includeDetails
REST API Reference | Performance | 1924

Calling Options
Table 538: Calling Options

Name Description Sample Value Data Type Required?

type The type of competen- required enumerated Yes


cies. It can be either
held or required. The
default (if not spe-
cified) is both the
types of competen-
cies.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

criteria_field The search criteria i.e. assignee string Yes


the field name.
Searchable fields:
• assignee
• name
• gap

field_value The search value for em- string Yes


the specified search plo000000000200181
criteria.

includeDetails Returns the details of true boolean No


the competencies in
the search.

Return Values

{
"facets": [],
"totalResults": 6,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"id": "compt000000000001082",
"displayName": "Unified Portlet2",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/competencies/compt000000000001082?assignee=emplo000000000001000"

},
{
"id": "compt000000000001081",
"displayName": "Unified Portlet1",
"href":
REST API Reference | Performance | 1925

"http://<hostname-api.sabacloud.com>/v1/performance/competencies/compt000000000001081?assignee=emplo000000000001000"

},
{
"id": "compt000000000001104",
"displayName": "QA Testing",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/competencies/compt000000000001104?assignee=emplo000000000001000"

},
{
"id": "compt000000000001000",
"displayName": "Skill1",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/competencies/compt000000000001000?assignee=emplo000000000001000"

},
{
"id": "compt000000000001040",
"displayName": "General Computer Knowledge",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/competencies/compt000000000001040?assignee=emplo000000000001000"

},
{
"id": "compt000000000001041",
"displayName": "LongName LongName LongName LongName LongName LongName
LongName LongFinal",
"href":
"http://<hostname-api.sabacloud.com>/v1/performance/competencies/compt000000000001041?assignee=emplo000000000001000"

}
],
"startIndex": 1
}

Examples
Competencies for a logged in person (held competencies, by default)
http://<hostname-api.sabacloud.com>/v1/performance/competencies
Required Competencies for a given person
http://<hostname-api.sabacloud.com>/v1/performance/competencies?type=required&q=(assignee%3d%3demplo000000000001000)
Held competencies of a person
http://<hostname-api.sabacloud.com>/v1/performance/competencies?type=held&q=(assignee%3d%3demplo000000000001000)
Competencies for a person with competency name as search criteria
http://<hostname-api.sabacloud.com>/v1/performance/competencies?q=(assignee%3d%3demplo000000000001000,name%3d%3dQA
Testing)
Competencies for a person with competency gap as search criteria gives
http://<hostname-api.sabacloud.com>/v1/performance/competencies?q=(assignee%3d%3demplo000000000001000,gap%3d%3D0)
REST API Reference | Performance | 1926

GET DETAILS OF A PARTICULAR COMPETENCY OF A PARTICULAR


PERSON

Overview
Returns complete information about a competency based on the competency ID and person
ID that are passed as parameter values.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/performance/competencies/:id?assignee=:assignee

Calling Options
Table 539: Calling Options

Name Description Sample Value Data Type Required?

id Competency ID compt000000000001082 string Yes

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

assignee assignee, person id em- string Yes


plo000000000001000

Return Values

{
"mandatory": false,
"behaviorIndicators": null,
"competencyDetail": {
"name": "Unified Portlet2",
"id": "compt000000000001082",
"type": "Competency",
"members": null,
"description": null,
"groups": null,
"customValues": null
},
"gap": 4,
"additionalInfo": null,
"requiredLevel": null,
"heldLevel": {
REST API Reference | Performance | 1927

"name": "Above Average",


"value": 4
},
"isUnderReview": false,
"sources": []
}

GET ALL ASSESSMENTS OF COMPETENCIES FOR A PERSON

Overview
Returns all the assessments of competencies for a given user.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/performance/competencies/:competencyId/:assignee/assessments

Calling Options
Table 540: Calling Options

Name Description Sample Value Data Type Required?

competencyId Competency ID compt000000000001082 string Yes

assignee assignee, person id em- string Yes


plo000000000001000

Return Values

[
{
"assessmentId":"cmpas000000000001048",
"competencyMethod":{
"id":"cpmth000000000000002",
"displayName":"Self Assessment"
},
"assessedBy":{
"id":"emplo000000000001031",
"displayName":"User1 Two1"
},
"acquiredOn":"2020-04-22T21:42:22.000+0530",
"competencyLevel":{
"id":"cplvl000000000001157",
"displayName":"System Created Level 43"
},
"heldLevelValue":43,
"comment":"43 level selected",
REST API Reference | Performance | 1928

"status":"100",
"approvalDetails":[
{
"approver":{
"id":"emplo000000000001000",
"displayName":"User One"
},
"approvalStatus":200,
"approvalDate":"2020-04-22T21:46:32.000+0530",
"comments":"Done ok from uone 2nd level manager"
},
{
"approver":{
"id":"emplo000000000001001",
"displayName":"User Two"
},
"approvalStatus":100,
"approvalDate":null,
"comments":null
}
]
}
]

Review
REST endpoints for the performance data.

FIND ALL REVIEWS

Overview
Find the details of the reviews.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review?f=(:display)&count=:count&startPage=:startPage
REST API Reference | Performance | 1929

Calling Options
Table 541: Calling Options

Name Description Sample Value Data Type Required?

display Acceptable values are name string No


(case-sensitive)
cycle_name,
cycle_type,
cycle_subtype,
cycle_start_date,
cycle_end_date,
name, description,
status, calcula-
tion_method, initiat-
ive_id, holder_name,
period_start, peri-
od_end, collect_date,
due_date, rating_de-
scription

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"facets": [],
"totalResults": 294,
"hasMoreResults": true,
"itemsPerPage": 10,
"startIndex": 1,
"results": [
{
"name": "Review with (No e-signatures requries)",
"id": "revie000000000001057",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001057"
},
{
"name": "Review with (No e-signatures requries)",
"id": "revie000000000001058",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001058"
},
{
"name": "Review with (No e-signatures requries)",
"id": "revie000000000001059",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001059"
},
{
"name": "Review requires 2 level managers",
"id": "revie000000000001060",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001060"
},
REST API Reference | Performance | 1930

{
"name": "Review requires 2 level managers",
"id": "revie000000000001061",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001061"
},
{
"name": "Review requires 2 level managers",
"id": "revie000000000001062",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001062"
},
{
"name": "Review requires 2 level managers",
"id": "revie000000000001063",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001063"
},
{
"name": "For testing performance journal",
"id": "revie000000000001080",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001080"
},
{
"name": "For testing performance journal",
"id": "revie000000000001081",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001081"
},
{
"name": "For testing performance journal",
"id": "revie000000000001082",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001082"
}
]
}

FIND DETAILS OF REVIEW CYCLES

Overview
Find the details of the review cycles

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review-cycle?q=(:criteria)&f=(:display)&count=:count&startPage=:startPage&includeDetails=:detailsFlag

Calling Options
Table 542: Calling Options

Name Description Sample Value Data Type Required?

criteria Conditions type%3D%3DFocal string Yes


REST API Reference | Performance | 1931

Name Description Sample Value Data Type Required?

display Comma separated list name string Yes


of attributes to be
displayed in output

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

detailsFlag Flag to indicate if de- false boolean No


tails needs to be re-
turned.

Return Values

{
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": [],
"results": [
{
"name": "2015 Anual review",
"description": "<p>2015 Anual review dotnaway from Here.</p>",
"period_end": "2016-03-31T00:00:00.000+0530",
"period_start": "2016-01-01T00:00:00.000+0530",
"status": "RELEASE",
"initiative_id": {
"id": "initv000000000001503",
"displayName": null
},
"calculation_method": {
"calculationMethodAccountability": [],
"calculationMethod": "Self, Manager"
},
"collect_date": null,
"due_date": "2016-05-06T00:00:00.000+0530",
"cycle_start_date": "2016-01-01T00:00:00.000+0530",
"cycle_name": "2015 Anual review",
"cycle_end_date": "2016-03-31T00:00:00.000+0530",
"id": "revie000000000001640",
"rating_description": "3.50 - Exceeds Expectations",
"cycle_type": "Focal",
"cycle_subtype": "Annual",
"holder_name": "User1 Two1",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001640"
}
]
}
REST API Reference | Performance | 1932

FIND DETAILS OF REVIEWS

Overview
Find the details of the reviews

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review?q=(:criteria)&f=(:display)&count=:count&startPage=:startPage&includeDetails=:detailsFlag

Calling Options
Table 543: Calling Options

Name Description Sample Value Data Type Required?

criteria Conditions status%3D%3DCOM- string No


PLETE

display Acceptable values are cycle_name, string No


(case-sensitive) cycle_type,
cycle_name, cycle_subtype,
cycle_type, cycle_start_date,
cycle_subtype, cycle_end_date,
cycle_start_date, name, descrip-
cycle_end_date, tion, status, calcu-
name, description, lation_method,
status, calcula- initiative_id, hold-
tion_method, initiat- er_name, peri-
ive_id, holder_name, od_start, peri-
period_start, peri- od_end, col-
od_end, collect_date, lect_date,
due_date, rating_de- due_date, rat-
scription, holder_id, ing_description,
owner_id, has_ack, holder_id, own-
owner_name er_id, has_ack,
owner_name

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

detailsFlag Flag to indicate if de- false boolean No


tails needs to be re-
turned.
REST API Reference | Performance | 1933

Return Values

{
"facets": [],
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"name": "Cycle_accepts_goal from plan",
"status": "INCOMPLETE",
"initiative_id": {
"id": "initv000000000001484",
"displayName": null
},
"period_end": "2010-08-30T00:00:00.000+0530",
"period_start": "2009-01-01T00:00:00.000+0530",
"cycle_start_date": "2009-01-01T00:00:00.000+0530",
"cycle_name": "Cycle_accepts_goal from plan",
"cycle_end_date": "2010-08-30T00:00:00.000+0530",
"id": "revie000000000001623",
"rating_description": "Not Available",
"cycle_type": "Focal",
"cycle_subtype": "Annual",
"holder_name": "Paul Humm0",
"href": "https://<hostname>/v1/review/revie000000000001623"
}
]
}

GET ALL REVIEW CYCLES

Overview
Returns all review cycles.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review-cycle?count=:count&startPage=:startPage

Calling Options
Table 544: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Performance | 1934

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"startIndex": 1,
"facets": [],
"totalResults": 56,
"hasMoreResults": true,
"itemsPerPage": 10,
"results": [
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000000002"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001001"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001000"
},
{
"href": "https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001011"

},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001013"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001280"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001260"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001241"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001240"
},
{
"href":
"https://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000001025"
}
]
}
REST API Reference | Performance | 1935

GET DETAILS OF A PARTICULAR REVIEW

Overview
Returns the details of a review.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review/:id:(:searchFields)

URL (to get the extended details)


https://<hostname-api.sabacloud.com>/v1/review/:id?expand=raters
Note:
expand=raters returns a list of rater details under the "reviewRaterDetails" field of
"RestReviewDetail" in the output JSON.

Calling Options
Table 545: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired re- string Yes


review vie000000000001629

Return Values

{
"due_date": "2013-06-30T00:00:00.000-0400",
"period_end": "2013-06-30T00:00:00.000-0400",
"period_start": "2013-06-11T00:00:00.000-0400",
"calculation_method": {
"calculationMethod": "1100000000",
"calculationMethodAccountability": [
{
"id": "aType000000000000001",
"displayName": "Self"
},
{
"id": "aType000000000000002",
"displayName": "Manager"
}
]
},
"status": "DRAFT",
"cycle_id": {
REST API Reference | Performance | 1936

"id": "rcycl000000000004016",
"displayName": "RC_14Jun2013"
},
"owner_id": {
"id": "emplo000000000052257",
"displayName": "Aparna Jadhav"
},
"holder_id": {
"id": "persn000000000001118",
"displayName": "Ben Jahansetan"
},
"initiative_id": {
"id": "initv000000000006406",
"displayName": "Review Template created in ES_mx locale"
},
"collect_date": null,
"one_on_one_date": null,
"value": null,
"minUsersPerAudience": 0,
"one_on_one_comments": "",
"has_ack": false,
"ack_date": null,
"description": "RC14Jun2013-> annual(focal)\r\nPolicies:\r\nShow ratings given by all
reviewers to reviewee.\r\nGenerate score. \r\nEnforce reviewer sequence.",
"name": "RC_14Jun2013",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

GET DETAILS OF A PARTICULAR REVIEW CYCLE

Overview
Returns the details of a review-cycle.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review-cycle/:id:(:searchFields)

Calling Options
Table 546: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired rcycl000000000001280 string Yes


review cycle
REST API Reference | Performance | 1937

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"name": "2015 Anual review",
"type": "Focal",
"description": "<p>2015 Anual review dotnaway from Here.</p>",
"status": "ACTIVE",
"subType": "Annual",
"planName": null,
"systemList": null,
"canCreatePlan": false,
"reviewMode": "200",
"inverseCase": false,
"syncHeldLevel": false,
"flags": null,
"allowExtendDueDate": false,
"reviewScoreMethod": "CALCULATED",
"autoSetRevOwner": null,
"enforceRaterSequence": false,
"due_date": "2016-05-06T00:00:00.000+0530",
"period_start": "2016-01-01T00:00:00.000+0530",
"period_end": "2016-03-31T00:00:00.000+0530",
"showNARatingScale": true,
"minUsersPerAudience": 1,
"userCanInitiateReview": false,
"managersCanInitiateReview": true,
"approvalReqdToBeginRev": false,
"autoCloseAdhocReview": false,
"review_trigger_no_of_days": null,
"review_due_no_of_days": null,
"review_finalization_no_of_days": null,
"review_activation_no_of_days": null,
"review_approval_no_of_days": null,
"review_release_no_of_days": null,
"adminCanInitiateReview": false,
"userCanReAssignReview": false,
"calcMethodOnRater": true,
"allowMultipleReviews": false,
"startType": false,
"validUpto": null,
"validFrom": null,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
REST API Reference | Performance | 1938

"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

GET EXTENDED DETAILS OF A PARTICULAR REVIEW

Overview
Returns extended details of a review.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/performance/reviews/:id?expand=:searchFields

Calling Options
Table 547: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired re- string Yes


review vie000000000001629

searchFields Indicate what addition- reviewcycle,rat- string No


al details needs to be inglevels
returned. Acceptable
sections,oth-
values are (case-
ersfeed-
sensitive) review-
back,items,score,feed-
cycle,ratinglevels,re-
back
quiredraters,orgrat-
inglevels,reviewform

Return Values

{
"ReviewCycleInfo": {
"@type": "com.saba.performance.services.review.reviewcycle.ReviewCycleInfo",
"ratingLevelDetailDTO": [
"list",
[
{
"@type":
REST API Reference | Performance | 1939

"com.saba.performance.services.review.reviewtemplate.RatingLevelDetailDTO",
"minimumScore": 1,
"maximumScore": 1.49,
"correlatedLvlId": null,
"percentage": 5,
"name": "Newbie Tester",
"value": 1,
"id": "rtlvl000000000001066",
"correlatedLvlName": null,
"actualDistribPercentage": 0,
"numberOfReviews": 0
},
{
"@type":
"com.saba.performance.services.review.reviewtemplate.RatingLevelDetailDTO",
"minimumScore": 1.5,
"maximumScore": 2.49,
"correlatedLvlId": null,
"percentage": 15,
"name": "Average Tester",
"value": 2,
"id": "rtlvl000000000001067",
"correlatedLvlName": null,
"actualDistribPercentage": 0,
"numberOfReviews": 0
},
{
"@type":
"com.saba.performance.services.review.reviewtemplate.RatingLevelDetailDTO",
"minimumScore": 2.5,
"maximumScore": 3.49,
"correlatedLvlId": null,
"percentage": 60,
"name": "Star Tester",
"value": 3,
"id": "rtlvl000000000001068",
"correlatedLvlName": null,
"actualDistribPercentage": 0,
"numberOfReviews": 0
},
{
"@type":
"com.saba.performance.services.review.reviewtemplate.RatingLevelDetailDTO",
"minimumScore": 3.5,
"maximumScore": 4,
"correlatedLvlId": null,
"percentage": 20,
"name": "Ace Tester",
"value": 4,
"id": "rtlvl000000000001069",
"correlatedLvlName": null,
"actualDistribPercentage": 0,
"numberOfReviews": 0
}
]
],
"cycleDetailDTO": {
"@type": "com.saba.performance.services.review.reviewcycle.ReviewCycleDetailDTO",

"customValues": {
"@type": "map"
},
REST API Reference | Performance | 1940

"subType": null,
"syncHeldLevel": false,
"reviewScoreMethod": "1",
"planName": null,
"systemList": null,
"autoSetRevOwner": null,
"reviewMode": {
"@type": "map",
"displayName": "Performance",
"id": "200"
},
"inverseCase": false,
"activation_date": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "5:27 AM",
"dateInUserTimeZone": "14-DEC-2011",
"timeInUserTimeZone": "3:57 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "5:27 AM",
"dateInStandardFormat": "12/14/2011",
"date": 1323858463000,
"locale": "14-DEC-2011"
}
},
"activation_due_date": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "15-DEC-2011",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "12/15/2011",
"date": 1323925200000,
"locale": "15-DEC-2011"
}
},
"owner_submission_due_date": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "03-JAN-2012",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "01/03/2012",
"date": 1325566800000,
"locale": "03-JAN-2012"
}
},
"approval_due_date": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "04-JAN-2012",
REST API Reference | Performance | 1941

"timeInUserTimeZone": "10:30 AM",


"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "01/04/2012",
"date": 1325653200000,
"locale": "04-JAN-2012"
}
},
"release_due_date": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "05-JAN-2012",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "01/05/2012",
"date": 1325739600000,
"locale": "05-JAN-2012"
}
},
"approvalReqdToBeginRev": false,
"period_start": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "12-DEC-2011",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "12/12/2011",
"date": 1323666000000,
"locale": "12-DEC-2011"
}
},
"period_end": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "31-DEC-2011",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "12/31/2011",
"date": 1325307600000,
"locale": "31-DEC-2011"
}
},
"showNARatingScale": true,
"minUsersPerAudience": 0,
"review_trigger_no_of_days": 0,
"validUpto": null,
"validFrom": null,
"autoCloseAdhocReview": false,
REST API Reference | Performance | 1942

"startType": false,
"review_activation_no_of_days": 0,
"review_due_no_of_days": 0,
"review_approval_no_of_days": 0,
"review_release_no_of_days": 0,
"due_date": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "06-JAN-2012",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "01/06/2012",
"date": 1325826000000,
"locale": "06-JAN-2012"
}
},
"review_finalization_no_of_days": 0,
"enforceRaterSequence": false,
"userCanInitiateReview": false,
"userCanReAssignReview": false,
"managersCanInitiateReview": true,
"adminCanInitiateReview": true,
"canCreatePlan": false,
"allowMultipleReviews": false,
"allowExtendDueDate": false,
"relativeNoOfDays": 0,
"description": "",
"domain": {
"@type": "map",
"displayName": "world",
"id": "domin000000000000001"
},
"fixedDate": null,
"name": "Beta feedback",
"id": "rcycl000000000001034",
"status": "CANCEL",
"type": {
"@type": "map",
"displayName": "Focal",
"id": "Focal"
}
},
"requiredRaters": [
"list",
[
{
"@type":
"com.saba.performance.services.review.reviewtemplate.RequiredRaterDetailDTO",
"accountabilityType": {
"@type": "map",
"displayName": null,
"id": "aType000000000000001"
},
"requiredRaterList": {
"@type": "map",
"displayName": null,
"id": "rcycl000000000001034"
},
REST API Reference | Performance | 1943

"evaluationDueDate": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "18-DEC-2011",
"timeInUserTimeZone": "10:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "12/18/2011",
"date": 1324184400000,
"locale": "18-DEC-2011"
}
},
"showResultsTo": "100",
"resultAnonymous": false,
"includeInFinalScore": null,
"evaluationDueNoOfDays": null,
"sequence": 1,
"id": "rrate000000000001857",
"displayName": null
}
]
],
"ratingLevelDetailsForCompany": null,
"associatedReviewForms": [
"list",
[
{
"@type": "map",
"approvalChainType": null,
"targetAudienceId": null,
"displayName": "Beta Feedback Template",
"prId": null,
"id": "initv000000000001019",
"state": "CANCEL",
"sectionsCount": "5"
}
]
],
"ratingScaleLocked": true
}
}

GET EXTENDED DETAILS OF A PARTICULAR REVIEW CYCLE

Overview
Returns extended details of a review-cycle.

Requires OAuth
No

Method
GET
REST API Reference | Performance | 1944

URL
https://<hostname-api.sabacloud.com>/v1/performance/reviews/reviewCycle/:id?expand=:searchFields

Calling Options
Table 548: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired rcycl000000000001280 string Yes


review cycle

searchFields Indicate what addition- reviewcycle,rat- string No


al details needs to be inglevels
returned. Acceptable
sections,oth-
values are (case-
ersfeed-
sensitive) review-
back,items,score,feed-
cycle,ratinglevels,re-
back
quiredraters,orgrat-
inglevels,reviewform

Return Values

{
"RestReviewDetail": {
"@type": "restrvdetail",
"attachments": [
"list",
[]
],
"ratingLevelDetails": null,
"reviewDetail": {
"@type": "com.saba.review.ReviewDetail",
"extendedAttributes": {
"@type": "map"
},
"endDate": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-JUN-2013",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "06/30/2013",
"date": 1372564800000,
"locale": "30-JUN-2013"
}
},
"startDate": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11-JUN-2013",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
REST API Reference | Performance | 1945

"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "06/11/2013",
"date": 1370923200000,
"locale": "11-JUN-2013"
}
},
"auditDetail": {
"@type": "com.saba.ejb.AuditDetailImpl",
"updatedOn": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "1:27 PM",
"dateInUserTimeZone": "20-FEB-2014",
"timeInUserTimeZone": "11:57 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "1:27 PM",
"dateInStandardFormat": "02/20/2014",
"date": 1392920867000,
"locale": "20-FEB-2014"
}
},
"createdBy": "ajadhav",
"updatedBy": "ajadhav",
"createdOn": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "1:27 PM",
"dateInUserTimeZone": "20-FEB-2014",
"timeInUserTimeZone": "11:57 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "1:27 PM",
"dateInStandardFormat": "02/20/2014",
"date": 1392920867000,
"locale": "20-FEB-2014"
}
},
"createdId": "No created_id attribute"
},
"componentName": "Review",
"membersForScoping": [
"java.util.HashSet",
[
{
"@type": "persn",
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
REST API Reference | Performance | 1946

"id": "persn000000000001118",
"displayName": "Ben Jahansetan"
}
]
],
"scopeOperator": "ANY",
"dueDate": {
"DateWithLocale": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "30-JUN-2013",
"timeInUserTimeZone": "9:30 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "12:00 AM",
"dateInStandardFormat": "06/30/2013",
"date": 1372564800000,
"locale": "30-JUN-2013"
}
},
"calculationMethod": {
"calculationMethod": "1100000000",
"calculationMethodAccountability": [
"list",
[
{
"@type": "acnttyp",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "aType000000000000001",
"prefix": "aType"
},
"locale": null,
"id": "aType000000000000001",
"displayName": "Self"
},
{
"@type": "acnttyp",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "aType000000000000002",
"prefix": "aType"
},
"locale": null,
"id": "aType000000000000002",
"displayName": "Manager"
}
]
]
},
"finalizationComments": " ",
"reviewState": {
"@type": "com.saba.review.ReviewState",
"listId": "sysli000000000006009",
"systemName": "DRAFT",
"key": "DRAFT",
"displayName": "Draft"
},
"reviewCycle": {
"@type": "rvcycle",
"primaryKey": {
REST API Reference | Performance | 1947

"@type": "com.saba.persist.ObjectId",
"id": "rcycl000000000004016",
"prefix": "rcycl"
},
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"id": "rcycl000000000004016",
"displayName": "RC_14Jun2013"
},
"reviewer": {
"@type": "emplo",
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000052257",
"displayName": "Aparna Jadhav"
},
"finalizationDate": null,
"reviewee": {
"@type": "persn",
"sourceType": "InternalPerson",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0",
"displayName": "Person"
},
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"id": "persn000000000001118",
"displayName": "Ben Jahansetan"
},
"reviewForm": {
"@type": "com.saba.review.entity.InitiativeReference",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"id": "initv000000000006406",
"displayName": "Review Template created in ES_mx locale"
},
"feedbackDueDate": null,
"sectionList": null,
"oneOnOneDate": null,
"finalOverallRating": null,
"reviewOwnerAccountability": {
REST API Reference | Performance | 1948

"@type": "acnttyp",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "aType000000000000020",
"prefix": "aType"
},
"locale": null,
"id": "aType000000000000020",
"displayName": "Stakeholder"
},
"minUsersPerAudience": 0,
"oneOnOneComments": "",
"revieweeAcknowledged": false,
"revieweeAcknowledgedDate": null,
"description": "RC14Jun2013-> annual(focal)\r\nPolicies:\r\nShow ratings given by all
reviewers to reviewee.\r\nGenerate score. \r\nEnforce reviewer sequence.",
"reference": {
"@type": "review",
"locale": null,
"id": "revie000000000008293",
"displayName": "RC_14Jun2013-Review Template created in ES_mx locale"
},
"name": "RC_14Jun2013-Review Template created in ES_mx locale",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
},
"id": "revie000000000008293",
"displayName": null,
"securityDomain": {
"@type": "com.saba.domain.entity.DomainReference",
"id": "domin000000000000001",
"displayName": "world",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "domin000000000000001",
"prefix": "domin"
},
"locale": null
},
"auditReason": "audit with reason"
},
"reviewScoreMethod": "1",
"reviewRaterDetails": null,
"auditActions": null,
"reviewMilestones": null,
"reviewApprovers": null,
"associatedPlan": null,
"reviewUIActions": null,
"reviewObservations": null,
"policies": {
"@type": "map",
"canNotAccess": true,
"RATER_SEQUENCE_ENFORCED": true,
"showPercentRating": true,
"WEIGHTING_METHOD": true,
"IS_OFFLINE_REVIEW_ENABLED": false,
"IS_FILE_ATTACHMENT_ENABLED": false,
"rateSkillsByBI": false,
"IS_NUMERIC_RATING_ENABLED": true,
"aType000000000000003": false,
REST API Reference | Performance | 1949

"ADD_ITEM_TO_ACTIVE_REVIEW": false,
"aType000000000000007": false,
"aType000000000000008": false,
"GENERATE_SCORE": true,
"FEEDBACK_MODE": false,
"aType000000000000009": false,
"IS_LANG_CHECK_BR_ON": true,
"aType000000000000020": false,
"aType000000000000001": true,
"aType000000000000002": true
},
"reviewObservationDetail": null,
"relatedURIs": {
"@type": "map"
},
"loggedInPersonRaterDetail": null,
"userRoles": [
"list",
[]
],
"revieweeProfileCard": null,
"reviewAutoSaveTime": null,
"formDescription": "",
"cycleDescription": "RC14Jun2013-> annual(focal)\r\nPolicies:\r\nShow ratings given by
all reviewers to reviewee.\r\nGenerate score. \r\nEnforce reviewer sequence.",
"cycleType": "Focal",
"isSuccessPlanExists": null,
"awaitingTurnWarning": false,
"resourceAttachments": null,
"canAddAttachment": false,
"reviewAttachments": [
"list",
[]
],
"restReviewSectionDetails": null
}
}

GET META DETAILS OF A REVIEW-CYCLE

Overview
Returns the meta details of the review-detail component.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review-cycle/meta:(:searchFields)
REST API Reference | Performance | 1950

Calling Options
Table 549: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"name": null,
"type": null,
"description": null,
"status": null,
"subType": null,
"planName": null,
"systemList": null,
"canCreatePlan": false,
"reviewMode": "200",
"inverseCase": false,
"syncHeldLevel": false,
"flags": null,
"allowExtendDueDate": false,
"reviewScoreMethod": "CALCULATED",
"autoSetRevOwner": null,
"enforceRaterSequence": false,
"due_date": null,
"period_start": null,
"period_end": null,
"showNARatingScale": true,
"minUsersPerAudience": 0,
"userCanInitiateReview": false,
"managersCanInitiateReview": true,
"approvalReqdToBeginRev": false,
"autoCloseAdhocReview": false,
"review_trigger_no_of_days": null,
"review_due_no_of_days": null,
"review_finalization_no_of_days": null,
"review_activation_no_of_days": null,
"review_approval_no_of_days": null,
"review_release_no_of_days": null,
"adminCanInitiateReview": true,
"userCanReAssignReview": false,
"calcMethodOnRater": false,
"allowMultipleReviews": false,
"startType": false,
"validUpto": null,
"validFrom": null,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
REST API Reference | Performance | 1951

"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"href": "http://<hostname-api.sabacloud.com>/v1/review-cycle/rcycl000000000000001"

},
"name": "Review Cycle",
"displayName": "Review Cycle",
"attributes": [
{
"name": "acknowledgement_due_date",
"displayName": "Acknowledgement Due Date",
"description": "Ack Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "activation_date",
"displayName": "Activation Date",
"description": "Activation Date of cycle",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "activation_due_date",
"displayName": "Review Activation Due Date",
"description": "Activation Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "adminCanInitiateReview",
"displayName": "Administrator",
"description": "If true, admin(performance admin/HRBP) can use this cycle to create
review(for ad hoc review only)",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
REST API Reference | Performance | 1952

"display": true,
"isSearchFilter": false
},
{
"name": "allowExtendDueDate",
"displayName": "Allow review owner to extend the due date.",
"description": "Allow review owner to extend due date of review(for ad hoc review
only)",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "allowMultipleReviews",
"displayName": "Allow multiple reviews to be generated from this review cycle.",
"description": "Allow multiple reviews to be created from this review cycle(for ad hoc
review only)",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "approval_due_date",
"displayName": "Review Approval",
"description": "Approval Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "approvalReqdToBeginRev",
"displayName": "Approval required to being review",
"description": "If true, review owner need to approve to begin review",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "autoCloseAdhocReview",
"displayName": "Auto-close review once all the reviewers finish their reviews.",
"description": "If true, close review automatically based on all raters submission(for
ad hoc review only)",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
REST API Reference | Performance | 1953

"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "autoSetRevOwner",
"displayName": "Automatically set review owner",
"description": "Auto set review owner to Manager, Mentor or a specific person",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "calcMethodOnRater",
"displayName": "Calculation method on rater",
"description": "True - indicates newly created cycles for which calculation method
is attached with required rater",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "canCreatePlan",
"displayName": "Create a To-Do List based on this review",
"description": "User can create plan based on the review",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "collect_date",
"displayName": "Feedback Due Date",
"description": "Review Feedback Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "created_by",
"displayName": "Created By",
"description": "Created By",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Performance | 1954

"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": true
},
{
"name": "created_on",
"displayName": "Created On",
"description": "Created On",
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Review Instructions",
"description": "Description for the review cycle",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "due_date",
"displayName": "Review Finalization",
"description": "Due Date for cycle",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "enforceRaterSequence",
"displayName": "Enforce Reviewer Sequence",
"description": "If true, rater sequence is enforced",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "flags",
"displayName": "Flags",
"description": "Flags for policies introduced later",
"isRequired": false,
"isAutoGenerated": false,
REST API Reference | Performance | 1955

"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 10,
"maximumLength": 10,
"isSearchFilter": false
},
{
"name": "goal_setting_due_date",
"displayName": "Goal Setting Due Date",
"description": "Goal Setting Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "inverseCase",
"displayName": "Inverse Case",
"description": "If true, rating scale has 1 as highest value",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "manager_eval_due_date",
"displayName": "Manager Evaluation Due Date",
"description": "Manager Eval Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "managersCanInitiateReview",
"displayName": "Managers / Alternate Managers",
"description": "If true, managers can use this cycle to create review(for ad hoc review
only)",
"isRequired": true,
REST API Reference | Performance | 1956

"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "minUsersPerAudience",
"displayName": "Minimum number of users required per audience to display results",

"description": "A minimum of users required per audience to display results",


"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Review Name",
"description": "Unique name of the review cycle",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "owner_submission_due_date",
"displayName": "Review Owner Submission",
"description": "Owner Submission Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "period_end",
"displayName": "End Date",
"description": "Review Period End Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "period_start",
"displayName": "Start Date",
REST API Reference | Performance | 1957

"description": "Review Period Start Date",


"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "planName",
"displayName": "System To-Do List Name",
"description": "Name for the plan created based on the review",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "release_due_date",
"displayName": "Review Release",
"description": "Release Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "review_activation_no_of_days",
"displayName": "Review Activation",
"description": "Number of days to ",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "review_approval_no_of_days",
"displayName": "Review Approval",
"description": "Number of days to ",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "review_due_no_of_days",
"displayName": "Review Owner Submission",
REST API Reference | Performance | 1958

"description": "Number of days to ",


"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "review_finalization_no_of_days",
"displayName": "Review Finalization",
"description": "Number of days to ",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "reviewMode",
"displayName": "Mode",
"description": "Review Cycle Mode",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname-api.sabacloud.com>/v1/list/sysli000000000006026/values"

},
"display": true,
"length": 50,
"maximumLength": 50,
"isSearchFilter": false
},
{
"name": "review_release_no_of_days",
"displayName": "Review Release",
"description": "Number of days to ",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "reviewScoreMethod",
"displayName": "Generate Final Score",
"description": "1 = Calculated or overridden score; 2 = Manually set by owner; 3 = No
overall score",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
REST API Reference | Performance | 1959

"isSearchFilter": false
},
{
"name": "review_trigger_no_of_days",
"displayName": "Review Trigger After",
"description": "Number of days to ",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "self_eval_due_date",
"displayName": "Self Evaluation Due Date",
"description": "Self Eval Due Date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "showNARatingScale",
"displayName": "Show N/A in the rating scale",
"description": "Show NA rating scale policy.",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": "Domain for the review cycle",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "startType",
"displayName": "Trigger Based On",
"description": "Review Start type by hire or job start date",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Performance | 1960

{
"name": "status",
"displayName": "Status",
"description": "Status of Cycle",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname-api.sabacloud.com>/v1/list/sysli000000000006018/values"

},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "subType",
"displayName": "Sub Type",
"description": "Sub type of review cycle",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname-api.sabacloud.com>/v1/list/sysli000000000006024/values"

},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "syncHeldLevel",
"displayName": "Synchronize held skill level with review score",
"description": "Synchronize the held level of skill",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "systemList",
"displayName": "System List",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "type",
REST API Reference | Performance | 1961

"displayName": "Type",
"description": "Type of Cycle",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname-api.sabacloud.com>/v1/list/sysli000000000006019/values"

},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": "Updated By",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "updated_on",
"displayName": "Updated On",
"description": "Updated On",
"isRequired": true,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "userCanInitiateReview",
"displayName": "User",
"description": "If true, reviewee can use this cycle to create review(for ad hoc review
only)",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "userCanReAssignReview",
"displayName": "User can re-assign",
"description": "If true, reviewee can reassign review(for ad hoc review only)",
"isRequired": true,
"isAutoGenerated": false,
"type": "boolean",
REST API Reference | Performance | 1962

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validFrom",
"displayName": "Available from",
"description": "Date from which the review is valid(for ad hoc review only)",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "validUpto",
"displayName": "Available to",
"description": "Date upto which the review is valid(for ad hoc review only)",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom0",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
REST API Reference | Performance | 1963

"description": "Custom Field",


"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom4",
"displayName": "Custom4",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": "Custom Field",
"isRequired": false,
REST API Reference | Performance | 1964

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom7",
"displayName": "Custom7",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": "Custom Field",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
}
]
}
REST API Reference | Performance | 1965

GET META DETAILS OF A REVIEW

Overview
Returns the meta details of a review component.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/review/meta:(:searchFields)

Calling Options
Table 550: Calling Options

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details needs to be
returned. Acceptable
values are (case-
sensitive)

Return Values

{
"sampleData": {
"name": null,
"description": null,
"period_end": null,
"period_start": null,
"status": null,
"cycle_id": null,
"owner_id": null,
"holder_id": null,
"initiative_id": null,
"one_on_one_date": null,
"calculation_method": null,
"collect_date": null,
"value": null,
"due_date": null,
"minUsersPerAudience": 0,
"one_on_one_comments": null,
"ack_date": null,
"has_ack": false,
"securityDomain": {
"id": "domin000000000000001",
"displayName": null
},
REST API Reference | Performance | 1966

"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000000001"
},
"name": "Review",
"displayName": "Review",
"attributes": [
{
"name": "ack_comments",
"displayName": "Ack Comments",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 500,
"maximumLength": 500,
"isSearchFilter": false
},
{
"name": "ack_date",
"displayName": "Ack Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "approver_list_id",
"displayName": "Approver List (not used)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "calculation_method",
"displayName": "Calculation Method",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 10,
"maximumLength": 10,
"isSearchFilter": true
},
{
"name": "collect_date",
"displayName": "Feedback Due Date",
"description": null,
"isRequired": false,
REST API Reference | Performance | 1967

"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "created_by",
"displayName": "Created by",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "created_on",
"displayName": "Created on",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "cycle_id",
"displayName": "Review Cycle Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "description",
"displayName": "Description",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2040,
"maximumLength": 2040,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "due_date",
REST API Reference | Performance | 1968

"displayName": "Finalization Due Date",


"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "has_ack",
"displayName": "Reviewee acknowledged",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "holder_id",
"displayName": "Reviewee",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "initiative_id",
"displayName": "Review Form",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "minUsersPerAudience",
"displayName": "Minimum number of users required per audience to display results",
REST API Reference | Performance | 1969

"description": "A minimum of users required per audience to display results",


"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "name",
"displayName": "Review Name",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "next_review_date",
"displayName": "Next Review Date (not used)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "one_on_one_comments",
"displayName": "One on One Comments",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 2000,
"maximumLength": 2000,
"isSearchFilter": false
},
{
"name": "one_on_one_date",
"displayName": "One On One Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Performance | 1970

{
"name": "owner_id",
"displayName": "Review Owner",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "period_end",
"displayName": "End Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "period_start",
"displayName": "Start Date",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "scale_id",
"displayName": "Scale (not used)",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "section_list_id",
"displayName": "Section List ",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
REST API Reference | Performance | 1971

"displayName": "Domain",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Review Status",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "updated_by",
"displayName": "Updated by",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 25,
"maximumLength": 25,
"isSearchFilter": false
},
{
"name": "updated_on",
"displayName": "Updated on",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "value",
"displayName": "Overall Rating",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Performance | 1972

{
"name": "custom0",
"displayName": "Custom0",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom1",
"displayName": "Custom1",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom2",
"displayName": "Custom2",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom3",
"displayName": "Custom3",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom4",
REST API Reference | Performance | 1973

"displayName": "Custom4",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom5",
"displayName": "Custom5",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom6",
"displayName": "Custom6",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom7",
"displayName": "Custom7",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom8",
"displayName": "Custom8",
"description": null,
REST API Reference | Performance | 1974

"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "custom9",
"displayName": "Custom9",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
}
]
}

FIND DETAILS OF REVIEWS WITH POST BASED SEARCH

Overview
Find the details of the reviews

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/review/searchQuery?f=(:display)&count=:count&startPage=:startPage&includeDetails=:detailsFlag
REST API Reference | Performance | 1975

Calling Options
Table 551: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions [{"name":"hold- object Yes


er_id", "operat-
or":"==",
"value":"em-
plo000000000200304"}]

display Acceptable values are cycle_name, string No


(case-sensitive) cycle_type,
cycle_name, cycle_subtype,
cycle_type, cycle_start_date,
cycle_subtype, cycle_end_date,
cycle_start_date, name, descrip-
cycle_end_date, tion, status, calcu-
name, description, lation_method,
status, calcula- initiative_id, hold-
tion_method, initiat- er_name, peri-
ive_id, holder_name, od_start, peri-
period_start, peri- od_end, col-
od_end, collect_date, lect_date,
due_date, rating_de- due_date, rat-
scription, holder_id, ing_description,
owner_id, has_ack, holder_id, own-
owner_name,cre- er_id, has_ack,
ated_on,updated_on, owner_name,cre-
created_by,up- ated_on,up-
dated_by dated_on, cre-
ated_by,up-
dated_by

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

detailsFlag Flag to indicate if de- false boolean No


tails needs to be re-
turned.

Request Body

{
"conditions":[
{
"name":"holder_id",
"operator":"==",
"value":"emplo000000000200304"
},
{
"name":"cycle_id",
"operator":"==",
"value":"rcycl000000000001280"
}
]
}

Return Values

{
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"facets": [],
"results": [
{
"name": "2015 Anual review",
"description": "<p>2015 Anual review dotnaway from Here.</p>",
"period_end": "2016-03-31T00:00:00.000+0530",
"period_start": "2016-01-01T00:00:00.000+0530",
"status": "RELEASE",
"initiative_id": {
"id": "initv000000000001503",
"displayName": null
},
"calculation_method": {
"calculationMethodAccountability": [],
"calculationMethod": "Self, Manager"
},
"collect_date": null,
"due_date": "2016-05-06T00:00:00.000+0530",
"cycle_start_date": "2016-01-01T00:00:00.000+0530",
"cycle_name": "2015 Anual review",
"cycle_end_date": "2016-03-31T00:00:00.000+0530",
"id": "revie000000000001640",
"rating_description": "3.50 - Exceeds Expectations",
"cycle_type": "Focal",
"cycle_subtype": "Annual",
"holder_name": "User1 Two1",
"href": "https://<hostname-api.sabacloud.com>/v1/review/revie000000000001640"
}
]
}
Chapter

11
Recruiting

Topics: REST endpoints for the recruiting data.

• Job Requisition
• Job Applications
• Job Postings
• Candidate
REST API Reference | Recruiting | 1978

Job Requisition
REST endpoints for the recruiting data.

FIND DETAILS OF JOB REQUISITION

Overview
Finds the details of the Job requisitions.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 552: Calling Options

Name Description Sample Value Data Required?


Type

criteria The search criteria i.e. the string Yes


• JobRequisition-
criteria field name with
Status%3D%3DDRAFT
search value.
• Location%3D%3Dlocat
You can use the following 000000000001000
fields: • requisitionNo%3D%3D1001
• JobRequisitionStatus • cat-
• Location egory%3D%3DNot%20Spe-
• requisitionNo cified
• category • employment-
Type%3D%3DTemporary
• employmentType
• costCenter%3D%3DSaba
• costCenter
• Domain%3D%3Ddomin
• Domain
000000000000001
• Id
• Id%3D%3Djobrq
000000000001001

count The number of records 10 integer No


per page.

startPage The start page number 1 integer No


for the list of records.
REST API Reference | Recruiting | 1979

Return Values

{
"startIndex": 1,
"results": [
{
"title": "001",
"id": "jobrq000000000004209",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000004209"
},
{
"title": "002",
"id": "jobrq000000000004210",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000004210"
},
{
"title": "1",
"id": "jobrq000000000002820",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002820"
},
{
"title": "1",
"id": "jobrq000000000002846",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002846"
},
{
"title": "1",
"id": "jobrq000000000002982",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002982"
},
{
"title": "1",
"id": "jobrq000000000003160",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000003160"
},
{
"title": "1",
"id": "jobrq000000000003900",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000003900"
},
{
"title": "1111111",
"id": "jobrq000000000001043",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000001043"
},
{
"title": "1111111111",
"id": "jobrq000000000007083",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000007083"
},
{
"title": "123123123213",
"id": "jobrq000000000006023",
"href":
REST API Reference | Recruiting | 1980

"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000006023"
}
],
"totalResults": 0,
"hasMoreResults": true,
"itemsPerPage": 10,
"facets": []
}

FIND DETAILS OF JOB REQUISITION (Using POST - Range based


search)

Overview
Returns the details of the job requisitions along with the ID, Name and the Deeplink URL based
on the provided range based search criteria.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition/searchQuery?count=:count&startPage=:startPage
REST API Reference | Recruiting | 1981

Calling Options
Table 553: Calling Options

Name Description Sample Value Data Required?


Type

conditions The search condi- object Yes


• [{"name": "JobRequisitionStatus","operator":
tions.
"==","value": "DRAFT"}]
You can use the • { [{"name": "Location","operator": "==","value":
following fields: "locat 000000000001000"}] }
• JobRequisi- • { [{"name": "requisitionNo","operator":
tionStatus "==","value": "1001"}] }
• Location • { [{"name": "category","operator":
• requisitionNo "==","value": "Not Specified"}] }
• category • { [{"name": "employmentType","operator":
"==","value": "Temporary"}] }
• employment-
Type • { [{"name": "costCenter","operator":
"==","value": "Saba"}] }
• costCenter
• { [{"name": "Domain","operator": "==","value":
• Domain
"domin 000000000000001"}] }
• Id
• { [{"name": "Id","operator": "==","value": "jobrq
You can use 000000000001001"}] }
search operators
such as:
• =gt=
• =ge=
• =lt=
• =le=
• ==
• !=

count The number of 10 integer No


records per
page.

startPage The start page 1 integer No


number for the
list of records.

Request Body

{ "conditions" :
[{"name": "JobRequisitionStatus","operator": "==","value": "DRAFT"}]
}

Return Values

{
"startIndex": 1,
"results": [
REST API Reference | Recruiting | 1982

{
"title": "001",
"id": "jobrq000000000004209",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000004209"
},
{
"title": "002",
"id": "jobrq000000000004210",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000004210"
},
{
"title": "1",
"id": "jobrq000000000002820",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002820"
},
{
"title": "1",
"id": "jobrq000000000002846",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002846"
},
{
"title": "1",
"id": "jobrq000000000002982",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002982"
},
{
"title": "1",
"id": "jobrq000000000003160",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000003160"
},
{
"title": "1",
"id": "jobrq000000000003900",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000003900"
},
{
"title": "1111111",
"id": "jobrq000000000001043",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000001043"
},
{
"title": "1111111111",
"id": "jobrq000000000007083",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000007083"
},
{
"title": "123123123213",
"id": "jobrq000000000006023",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000006023"
}
],
"totalResults": 0,
REST API Reference | Recruiting | 1983

"hasMoreResults": true,
"itemsPerPage": 10,
"facets": []
}

GET ALL JOB REQUISITIONS

Overview
Returns all job requisitions.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition?count=:count&startPage=:startPage

Calling Options
Table 554: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"startIndex": 1,
"results": [
{
"title": "001",
"id": "jobrq000000000004209",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000004209"
},
{
"title": "002",
"id": "jobrq000000000004210",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000004210"
},
{
"title": "1",
REST API Reference | Recruiting | 1984

"id": "jobrq000000000002820",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002820"
},
{
"title": "1",
"id": "jobrq000000000002846",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002846"
},
{
"title": "1",
"id": "jobrq000000000002982",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000002982"
},
{
"title": "1",
"id": "jobrq000000000003160",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000003160"
},
{
"title": "1",
"id": "jobrq000000000003900",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000003900"
},
{
"title": "1111111",
"id": "jobrq000000000001043",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000001043"
},
{
"title": "1111111111",
"id": "jobrq000000000007083",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000007083"
},
{
"title": "123123123213",
"id": "jobrq000000000006023",
"href":
"https://<hostname>-api.sabacloud.com/v1/job-requisition/jobrq000000000006023"
}
],
"totalResults": 0,
"hasMoreResults": true,
"itemsPerPage": 10,
"facets": []
}

GET DETAILS OF A PARTICULAR JOB REQUISITION

Overview
Returns the details of a particular job requisition.
REST API Reference | Recruiting | 1985

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition/:id:(:searchFields)

URL (to include external job board data)


https://<hostname-api.sabacloud.com>/v1/job-requisition/:id?includeJobBoardData=true
OR
https://<hostname-api.sabacloud.com>/v1/job-requisition/:id:(jobBoardData,jobboards)
Return Values (jobBoardData specific):

{
"jobboards":[
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr0000001c4316020141108ff091007ffc",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004113"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr000000545cc2aa0140c94bfe57007ffe",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004114"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
REST API Reference | Recruiting | 1986

"jobBoard":"vendr0000001c4316020141108ff091007fff",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004115"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr00000049a4339c01629452a33a004142",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004116"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr00000049a4339c01629452a33a0034dc",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004117"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr00000034540e6f0162bd540a150020d4",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004118"
}
],
"id":"jobrq000000000004446",
"jobBoardData":[
{
"name":"Broadbean",
REST API Reference | Recruiting | 1987

"code":"BROADBEAN",
"customFields":[

],
"oobFields":[
{
"name":"Location",
"code":"COUNTRY_CODE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"in",
"displayName":"India"
}
},
{
"name":"State",
"code":"STATE",
"visible":true,
"type":"String",
"value":"Maharashtra",
"lovValue":null
},
{
"name":"Job Family",
"code":"JOB_FUNCTION",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"mgmt",
"displayName":"Management"
}
},
{
"name":"Salary Type",
"code":"PAY_INTERVAL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"BW",
"displayName":"Bi-weekly"
}
},
{
"name":"Employment Type",
"code":"JOB_TYPE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"C",
"displayName":"Contract"
}
},
{
"name":"Industry",
"code":"INDUSTRY",
"visible":false,
"type":"LOV",
REST API Reference | Recruiting | 1988

"value":null,
"lovValue":null
},
{
"name":"Min experience ",
"code":"EXPERIENCE_LEVEL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":null
}
]
},
{
"name":"Metro Job",
"code":"METRO JOB",
"customFields":[
{
"name":"Custom0",
"code":"CUSTOM",
"visible":true,
"type":"String",
"value":"custom0str",
"lovValue":null
},
{
"name":"CustomString",
"code":"CUSTOMSTRING",
"visible":true,
"type":"String",
"value":"str",
"lovValue":null
}
],
"oobFields":[
{
"name":"Location",
"code":"COUNTRY_CODE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"in",
"displayName":"India"
}
},
{
"name":"State",
"code":"STATE",
"visible":false,
"type":"LOV",
"value":"Maharashtra",
"lovValue":null
},
{
"name":"Job Family",
"code":"JOB_FUNCTION",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"mgmt",
REST API Reference | Recruiting | 1989

"displayName":"Management"
}
},
{
"name":"Salary Type",
"code":"PAY_INTERVAL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"BW",
"displayName":"Bi-weekly"
}
},
{
"name":"Employment Type",
"code":"JOB_TYPE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"P",
"displayName":"Part-time"
}
},
{
"name":"Industry",
"code":"INDUSTRY",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":null
},
{
"name":"Min experience ",
"code":"EXPERIENCE_LEVEL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":null
}
]
},
{
"name":"Cus_JB",
"code":"CUS_JB",
"customFields":[
{
"name":"String_attr",
"code":"code3",
"visible":true,
"type":"String",
"value":null,
"lovValue":null
},
{
"name":"custlov",
"code":"custlov",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
REST API Reference | Recruiting | 1990

"code":null,
"displayName":null
}
},
{
"name":"test",
"code":"code1",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":null,
"displayName":null
}
},
{
"name":"flag",
"code":"code2",
"visible":true,
"type":"Boolean",
"value":true,
"lovValue":null
},
{
"name":"customLov",
"code":"customLov",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":null,
"displayName":null
}
}
],
"oobFields":[
{
"name":"Location",
"code":"COUNTRY_CODE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"in",
"displayName":"India"
}
},
{
"name":"State",
"code":"STATE",
"visible":true,
"type":"String",
"value":"Maharashtra",
"lovValue":null
},
{
"name":"Job Family",
"code":"JOB_FUNCTION",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
REST API Reference | Recruiting | 1991

"code":"mgmt",
"displayName":"Management"
}
},
{
"name":"Salary Type",
"code":"PAY_INTERVAL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":null,
"displayName":null
}
},
{
"name":"Employment Type",
"code":"JOB_TYPE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":null,
"displayName":null
}
},
{
"name":"Industry",
"code":"INDUSTRY",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":null
},
{
"name":"Min experience ",
"code":"EXPERIENCE_LEVEL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":null
}
]
},
{
"name":"Job Market Fair",
"code":"JOB MARKET FAIR",
"customFields":[
{
"name":"Are you willing to Join this organization now?",
"code":"21",
"visible":true,
"type":"Boolean",
"value":true,
"lovValue":null
},
{
"name":"Skills",
"code":"Sk1",
"visible":true,
"type":"LOV",
"value":null,
REST API Reference | Recruiting | 1992

"lovValue":{
"code":null,
"displayName":null
}
},
{
"name":"Degree",
"code":"T1",
"visible":true,
"type":"String",
"value":"ENGG",
"lovValue":null
}
],
"oobFields":[
{
"name":"Location",
"code":"COUNTRY_CODE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"in",
"displayName":"India"
}
},
{
"name":"State",
"code":"STATE",
"visible":false,
"type":"LOV",
"value":"Maharashtra",
"lovValue":null
},
{
"name":"Job Family",
"code":"JOB_FUNCTION",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"mgmt",
"displayName":"Management"
}
},
{
"name":"Salary Type",
"code":"PAY_INTERVAL",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":{
"code":null,
"displayName":null
}
},
{
"name":"Employment Type",
"code":"JOB_TYPE",
"visible":false,
"type":"LOV",
"value":null,
REST API Reference | Recruiting | 1993

"lovValue":{
"code":null,
"displayName":null
}
},
{
"name":"Industry",
"code":"INDUSTRY",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":null
},
{
"name":"Min experience ",
"code":"EXPERIENCE_LEVEL",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":null
}
]
},
{
"name":"LinkedIn",
"code":"LINKEDIN",
"customFields":[

],
"oobFields":[
{
"name":"Location",
"code":"COUNTRY_CODE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"in",
"displayName":"India"
}
},
{
"name":"State",
"code":"STATE",
"visible":true,
"type":"String",
"value":"Maharashtra",
"lovValue":null
},
{
"name":"Job Family",
"code":"JOB_FUNCTION",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"mgmt",
"displayName":"Management"
}
},
{
"name":"Salary Type",
REST API Reference | Recruiting | 1994

"code":"PAY_INTERVAL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"BW",
"displayName":"Bi-weekly"
}
},
{
"name":"Employment Type",
"code":"JOB_TYPE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"C",
"displayName":"Contract"
}
},
{
"name":"Industry",
"code":"INDUSTRY",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":null
},
{
"name":"Min experience ",
"code":"EXPERIENCE_LEVEL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":null
},
{
"name":"LinkedIn Id",
"code":"POSTED_BY",
"visible":true,
"type":"String",
"value":"test123@test.test",
"lovValue":null
}
]
},
{
"name":"Monster",
"code":"MONSTER",
"customFields":[

],
"oobFields":[
{
"name":"Location",
"code":"COUNTRY_CODE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"in",
"displayName":"India"
REST API Reference | Recruiting | 1995

}
},
{
"name":"State",
"code":"STATE",
"visible":true,
"type":"String",
"value":"Maharashtra",
"lovValue":null
},
{
"name":"Job Family",
"code":"JOB_FUNCTION",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"mgmt",
"displayName":"Management"
}
},
{
"name":"Salary Type",
"code":"PAY_INTERVAL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"BW",
"displayName":"Biweekly"
}
},
{
"name":"Employment Type",
"code":"JOB_TYPE",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":{
"code":"P",
"displayName":"Intern"
}
},
{
"name":"Industry",
"code":"INDUSTRY",
"visible":false,
"type":"LOV",
"value":null,
"lovValue":null
},
{
"name":"Min experience",
"code":"EXPERIENCE_LEVEL",
"visible":true,
"type":"LOV",
"value":null,
"lovValue":null
}
]
}
],
REST API Reference | Recruiting | 1996

"jobboards":[
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr0000001c4316020141108ff091007ffc",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004113"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr000000545cc2aa0140c94bfe57007ffe",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004114"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr0000001c4316020141108ff091007fff",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004115"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr00000049a4339c01629452a33a004142",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
REST API Reference | Recruiting | 1997

"postMessage":null,
"id":"rqjbd000000000004116"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr00000049a4339c01629452a33a0034dc",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004117"
},
{
"externalId":null,
"requisition":{
"id":"jobrq000000000004446",
"displayName":"Need SSE API"
},
"postStatus":null,
"jobBoard":"vendr00000034540e6f0162bd540a150020d4",
"externalServiceType":"JOB-BOARD",
"additionalInfo1":null,
"additionalInfo2":null,
"additionalInfo3":null,
"additionalInfo4":null,
"postMessage":null,
"id":"rqjbd000000000004118"
}
]
}

Calling Options
Table 555: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired jobrq000000000001020 string Yes


job requisition
REST API Reference | Recruiting | 1998

Name Description Sample Value Data Type Required?

searchFields Indicate what addition- string No


al details need to be
returned in the out-
put. Acceptable val-
ues are (case-sensit-
ive)
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is~
SearchFilter": true, in-
voke the "Get Meta
details" REST APIs.

includeJobBoard- Pass true to include true string No


Data the external job board
data.

Return Values

{
"location": {
"id": "locat000000000001000",
"displayName": "Location1"
},
"description": "<p>recruting test 01 job</p>",
"source": null,
"requisitionTemplate": {
"id": "reqtp000000000000001",
"displayName": "System Default Template"
},
"employmentType": "Permanent",
"requisitionStage": [],
"requiresTravel": false,
"requiresResume": true,
"requiresCoverLetter": false,
"companyDescription": "<p>Company Description for the Requisition Template</p>",
"requiresPreAssessment": false,
"organization": {
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"status": "DRAFT",
"sourceType": null,
"jobFamily": {
"id": "jfmly000000000001000",
"displayName": "Position job family"
},
"title": "HPEngineer3",
"approvedOn": null,
"targetDate": null,
"googleMapWidget": null,
"publishedOn": null,
REST API Reference | Recruiting | 1999

"jobType": null,
"notes": "<p>Perfect</p>",
"submittedOn": null,
"minExperience": 2,
"maxExperience": 5,
"interviewers": [],
"recruiter": [
{
"stakeholderType": "RECRUITER",
"requisition": {
"id": "jobrq000000000001045",
"displayName": "HPEngineer3"
},
"stakeholder": {
"id": "persn000000000201414",
"displayName": "fname lname"
},
"id": "rsthd000000000001059"
}
],
"industry": "Computer Software",
"applicantType": "INTERNAL-ONLY",
"closedDate": null,
"hrPartner": {
"id": "emplo000000000001043",
"displayName": "User3 Four3"
},
"hiringManager": {
"id": "emplo000000000001000",
"displayName": "User One"
},
"minimumSalary": 20000,
"maximumSalary": 500000,
"requisitionNo": "1043",
"qualification": "<p>everything</p>",
"salaryType": "YEARLY",
"jobAdStyle": "Cool",
"noOfOpenings": 1,
"isEEOCReq": true,
"unpublishType": "NONE",
"unpublishDays": 30,
"endOfMonth": false,
"marketAverage": null,
"referralBonus": null,
"unpublishDate": null,
"plainTextSM": null,
"pieChartSM": null,
"barChartSM": {
"type": "BAR-CHART",
"owner": {
"id": "jobrq000000000001045",
"displayName": "HPEngineer3"
},
"identifier": "barChartSM",
"smartWidgetValues": [
{
"name": "Developer",
"value": "2",
"parent": {
"id": "smtwd000000000001042",
"displayName": "Experience"
},
REST API Reference | Recruiting | 2000

"id": "smtvl000000000001089"
}
],
"smartWidget_visibility": "ANYONE",
"title": "Experience",
"id": "smtwd000000000001042"
},
"progressBarSM": null,
"midSalary": 260000,
"midBudget": 260000,
"maxBudget": 500000,
"salaryCurrency": null,
"category": "Professionals",
"compensation": "Nothing",
"costCenter": "Everything",
"isFeaturedJobExternal": false,
"referralBonusCurr": null,
"educationQualification": null,
"id": "jobrq000000000001045",
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"jobboards": [],
"regions": [
{
"associateType": "REGION",
"requisition": {
"id": "jobrq000000000001045",
"displayName": "HPEngineer3"
},
"associate": {
"id": "regio000000000002000",
"displayName": "New1"
},
"id": "jrass000000000001023"
}
]
}

GET META DETAILS OF JOB REQUISITION

Overview
Returns the meta details of a job requisition component.
REST API Reference | Recruiting | 2001

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition/meta

Return Values

{
"sampleData": {
"location": null,
"description": null,
"source": null,
"compensation": null,
"targetDate": null,
"salaryCurrency": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"sourceType": null,
"organization": null,
"status": "DRAFT",
"category": null,
"educationQualification": null,
"referralBonusCurr": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
},
"isFeaturedJobInternal": null,
"isFeaturedJobExternal": false,
"minExperience": null,
"maxExperience": null,
"interviewers": null,
"recruiter": null,
"industry": null,
"applicantType": "INTERNAL-AND-EXTERNAL",
"closedDate": null,
"hrPartner": null,
"hiringManager": null,
"minimumSalary": null,
"maximumSalary": null,
"requisitionNo": null,
"qualification": null,
"salaryType": "YEARLY",
"regions": null,
"jobAdStyle": null,
"noOfOpenings": 1,
"isEEOCReq": false,
"unpublishType": null,
"hireType": "NEW-HIRE",
"googleMapWidget": null,
"submittedOn": null,
"approvedOn": null,
"jobFamily": null,
"title": null,
"requisitionTemplate": null,
REST API Reference | Recruiting | 2002

"employmentType": null,
"requisitionStage": null,
"requiresTravel": false,
"requiresResume": true,
"requiresCoverLetter": false,
"companyDescription": null,
"requiresPreAssessment": null,
"employmentClassification": "NOT-MENTIONED",
"businessJustification": null,
"publishedOn": null,
"jobType": null,
"notes": null,
"costCenter": null,
"unpublishDays": null,
"endOfMonth": false,
"marketAverage": null,
"referralBonus": null,
"unpublishDate": null,
"plainTextSM": {
"type": null,
"owner": null,
"identifier": null,
"title": null,
"smartWidgetValues": null,
"smartWidget_visibility": "ANYONE",
"id": null
},
"pieChartSM": {
"type": null,
"owner": null,
"identifier": null,
"title": null,
"smartWidgetValues": null,
"smartWidget_visibility": "ANYONE",
"id": null
},
"barChartSM": {
"type": null,
"owner": null,
"identifier": null,
"title": null,
"smartWidgetValues": null,
"smartWidget_visibility": "ANYONE",
"id": null
},
"progressBarSM": {
"type": null,
"owner": null,
"identifier": null,
"title": null,
"smartWidgetValues": null,
"smartWidget_visibility": "ANYONE",
"id": null
},
"midSalary": null,
"midBudget": null,
"maxBudget": null,
"id": null,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
REST API Reference | Recruiting | 2003

"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"jobboards": null,
"href": "http://<hostname>/v1/job-requisition/jobrq000000000000001"
},
"name": "JobRequisition",
"displayName": "Job Requisition",
"attributes": [
{
"name": "applicantType",
"displayName": "Publish to",
"description": "Type of Applicant, can be Internal/External/Both",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012004/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "approvedOn",
"displayName": "Approved On",
"description": "Job Requisition approval date",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "barChartSM",
"displayName": "Bar Chart Type Smart Widgets",
"description": "Job Requisition Bar Chart Smart Widgets",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "SmartWidget",
"displayName": "Smart Widget",
"attributes": [
{
"name": "id",
"displayName": "Id",
REST API Reference | Recruiting | 2004

"description": "Smart Widget Id",


"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "identifier",
"displayName": "Unique Identifier",
"description": "Unique Identifier of Smart Widget on Template",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "owner",
"displayName": "Owner of Smart Widget",
"description": "Requisition Id",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "smartWidgetValues",
"displayName": "Smart Widget Values",
"description": "SmartWidget Value Component",
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "SmartWidgetValue",
"displayName": "Smart Widget Value",
"attributes": [
{
"name": "id",
"displayName": "Id",
"description": "Smart Widget Value Id",
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Recruiting | 2005

"name": "name",
"displayName": "Name of Smart Widget Value",
"description": "Smart Widget Value Name",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "parent",
"displayName": "Parent of Smart Widget Value",
"description": "Smart Widget Id",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "value",
"displayName": "Smart Widget Value",
"description": "Smart Widget Value",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}
},
{
"name": "smartWidget_visibility",
"displayName": "Smart Widget Visibility",
"description": "Visibility Level for SmartWidgets",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012011/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "title",
"displayName": "Title",
"description": "Smart Widget Title",
"isRequired": false,
REST API Reference | Recruiting | 2006

"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "type",
"displayName": "Smart Widget Type",
"description": "Smart Widget Type",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000003135/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
}
]
}
},
{
"name": "businessJustification",
"displayName": "Business Justification",
"description": "Business Justification",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "category",
"displayName": "EEO Job Category",
"description": "Category",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/listi000000000012001/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
REST API Reference | Recruiting | 2007

"name": "closedDate",
"displayName": "Close date",
"description": "Date on which this job requisition is closed or cancelled",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "companyDescription",
"displayName": "Company Description",
"description": "Company Description",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 64000,
"maximumLength": 64000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "compensation",
"displayName": "Compensation Displayed to Candidates (Public)",
"description": "Compensation displayed to candidate",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "costCenter",
"displayName": "Cost center",
"description": "Cost center to which this Job Requisition belongs to",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "description",
"displayName": "Job Description",
"description": "Description of the Job Requisition",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
REST API Reference | Recruiting | 2008

"isReference": false,
"isProtected": false,
"display": true,
"length": 64000,
"maximumLength": 64000,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "educationQualification",
"displayName": "Education Qualification",
"description": "Minimum Educational Qualification required for the Applicant",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "employmentClassification",
"displayName": "Employment Classification",
"description": "Employment Classification, can be Replacement Not
Mentioned/Exempt/Non Exempt",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012031/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "employmentType",
"displayName": "Type of Employment",
"description": "Employment Type",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/listi000000000001013/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "endOfMonth",
"displayName": "End Of Month",
"description": "Select unpublish date as end of month",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
REST API Reference | Recruiting | 2009

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "googleMapWidget",
"displayName": "Google Map Widget",
"description": "Google Map Widget URL",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "hireType",
"displayName": "Hire Type",
"description": "Hire Type, can be Replacement Hire/New Hire/Other",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012030/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "hiringManager",
"displayName": "Hiring Manager",
"description": "Hiring Manager",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "hrPartner",
"displayName": "HR Partner",
"description": "HR Partner",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "Id",
"description": "Job Requisition Id",
REST API Reference | Recruiting | 2010

"isRequired": true,
"isAutoGenerated": true,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "industry",
"displayName": "Industry",
"description": "Industry for Template",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/listi000000000012002/values"
},
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "interviewers",
"displayName": "Interviewers",
"description": "Requisition Interviewers",
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "RequisitionStakeholder",
"displayName": "Requisition Stakeholder",
"attributes": [
{
"name": "id",
"displayName": "Id",
"description": null,
"isRequired": false,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "requisition",
"displayName": "Requisition",
"description": "Requisition Id",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
REST API Reference | Recruiting | 2011

},
{
"name": "stakeholder",
"displayName": "Stakeholder",
"description": "Id of the Stakeholder",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "stakeholderType",
"displayName": "Stakeholder Type",
"description": "Type of Stakeholder",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012010/values"
},
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "isEEOCReq",
"displayName": "Is EEOC Required",
"description": "Is EEOC component required",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isFeaturedJobExternal",
"displayName": "Mark the external job posting featured",
"description": "Is this Job Requisition Featured on External Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isFeaturedJobInternal",
"displayName": "Mark the internal job posting featured",
"description": "Is this Job Requisition Featured on Internal Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
REST API Reference | Recruiting | 2012

"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "jobAdStyle",
"displayName": "Job Advertisement Style",
"description": "Job Advertisement Style",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "jobboards",
"displayName": "Job Boards",
"description": "Requisition Job Boards",
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "RequisitionJobBoard",
"displayName": "Requisition Job Board",
"attributes": [
{
"name": "additionalInfo1",
"displayName": "Additional Info 1",
"description": "Additional Information for Requisition Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "additionalInfo2",
"displayName": "Additional Info 2",
"description": "Additional Information for Requisition Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
REST API Reference | Recruiting | 2013

"name": "additionalInfo3",
"displayName": "Additional Info 3",
"description": "Additional Information for Requisition Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "additionalInfo4",
"displayName": "Additional Info 4",
"description": "Additional Information for Requisition Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "externalId",
"displayName": "External Id",
"description": "External Id of the Associated Job-Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "externalServiceType",
"displayName": "External ServiceType",
"description": "The type of vendor service",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012025/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "Id",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
REST API Reference | Recruiting | 2014

"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "jobBoard",
"displayName": "Job Board",
"description": "Id of the JobBoard",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "postMessage",
"displayName": "Post Message",
"description": "Post Message for Requisition Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "postStatus",
"displayName": "Post Status",
"description": "Post Status for Requisition Job Board",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "requisition",
"displayName": "Requisition",
"description": "Requisition Id",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "jobFamily",
"displayName": "Job Family",
REST API Reference | Recruiting | 2015

"description": "Job Family for this requisition",


"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "jobType",
"displayName": "Job",
"description": "Job Type for this requisition",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "location",
"displayName": "Location",
"description": "Location where this Job Requisition is available",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "marketAverage",
"displayName": "Compensation Displayed to Candidates (Public)",
"description": "Market Average for this position",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": false
},
{
"name": "maxBudget",
"displayName": "Budget (max)",
"description": "Maximum Budget",
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "maxExperience",
"displayName": "Maximum Experience",
REST API Reference | Recruiting | 2016

"description": "Maximum Experience of the applicant, in years",


"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "maximumSalary",
"displayName": "To",
"description": "Maximum Salary",
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "midBudget",
"displayName": "Budget (mid)",
"description": "Budget (mid)",
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "midSalary",
"displayName": "Salary (mid)",
"description": "Salary (mid)",
"isRequired": true,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "minExperience",
"displayName": "Minimum Experience",
"description": "Minimum Experience required for the applicant, in years",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "minimumSalary",
"displayName": "From",
"description": "Minimum Salary",
"isRequired": true,
REST API Reference | Recruiting | 2017

"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "noOfOpenings",
"displayName": "Number of Hires",
"description": "No of openings available for this job requisition",
"isRequired": true,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "notes",
"displayName": "Notes",
"description": "Approval Notes for Job Requisition details",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 64000,
"maximumLength": 64000,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "organization",
"displayName": "Organization",
"description": "Organization for which the hiring is required",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "pieChartSM",
"displayName": "Pie Chart Type Smart Widgets",
"description": "Job Requisition Pie Chart Smart Widgets",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"componentName": "SmartWidget",
"href": "http://<hostname>/Saba/api/component/smart/meta?type=widget",
"description": "A Smart Widget used to associate with job requisition template and job
requisition for various skills, experience and qualifications."
}
REST API Reference | Recruiting | 2018

},
{
"name": "plainTextSM",
"displayName": "Plain Text Type Smart Widgets",
"description": "Job Requisition Plain Text Smart Widgets",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"componentName": "SmartWidget",
"href": "http://<hostname>/Saba/api/component/smart/meta?type=widget",
"description": "A Smart Widget used to associate with job requisition template and job
requisition for various skills, experience and qualifications."
}
},
{
"name": "progressBarSM",
"displayName": "Progress Bar Type Smart Widgets",
"description": "Job Requisition Progress Bar Smart Widgets",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"componentName": "SmartWidget",
"href": "http://<hostname>/Saba/api/component/smart/meta?type=widget",
"description": "A Smart Widget used to associate with job requisition template and job
requisition for various skills, experience and qualifications."
}
},
{
"name": "publishedOn",
"displayName": "Published On",
"description": "Published On (Active) Date for Job Requisition",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "qualification",
"displayName": "Qualifications",
"description": "Qualification required for this Job Requisition",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 64000,
"maximumLength": 64000,
"isI18n": true,
"isSearchFilter": true
},
REST API Reference | Recruiting | 2019

{
"name": "recruiter",
"displayName": "Recruiter",
"description": "Requisition Interviewers",
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"componentName": "RequisitionStakeholder",
"href": "http://<hostname>/Saba/api/component/requisition/meta?type=stakeholder",

"description": "Holds details about the requisition stakeholders such as


Interviewers,Screeners and Recruiters"
}
},
{
"name": "referralBonus",
"displayName": "Referral Bonus",
"description": "Referral bonus amount to given out to Internal employee who is referring",

"isRequired": false,
"isAutoGenerated": false,
"type": "real",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "referralBonusCurr",
"displayName": "Referral Bonus Currency",
"description": "Currency for the referral bonus",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "regions",
"displayName": "Career Sites",
"description": "Requisition Regions",
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "JobRequisitionAssociate",
"displayName": "Requisition Regions",
"attributes": [
{
"name": "associate",
"displayName": "Associate",
"description": "Id of the Associate",
"isRequired": false,
REST API Reference | Recruiting | 2020

"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "associateType",
"displayName": "Associate Type",
"description": "Type of Associate",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012032/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "requisition",
"displayName": "Requisition",
"description": "Requisition Id",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
}
]
}
},
{
"name": "requiresCoverLetter",
"displayName": "Allow Cover Letter",
"description": "Is Cover Letter required",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Recruiting | 2021

"name": "requiresPreAssessment",
"displayName": "Requires Pre-Assessment",
"description": "Is Pre Assessment required",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "requiresResume",
"displayName": "Requires Resume",
"description": "Is Resume Required",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "requiresTravel",
"displayName": "Requires Travel",
"description": "Requires Travel",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "requisitionNo",
"displayName": "Requisition ID",
"description": "Unique identification auto generated number, can be changed manually
if auto generation is OFF ",
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "requisitionStage",
"displayName": "Requisition Stage",
"description": "Requisition Stage Component",
"isRequired": false,
"isAutoGenerated": false,
"type": "array",
"isReference": false,
"isProtected": false,
"display": true,
"component": {
"name": "Requisition Stage",
REST API Reference | Recruiting | 2022

"displayName": "Requisition Stage",


"attributes": [
{
"name": "assessment",
"displayName": "Assessment",
"description": "Assessment at Requisition Stage",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "id",
"displayName": "ID",
"description": "ID",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "isRequired",
"displayName": "Is Required",
"description": "Stage Required or Not",
"isRequired": false,
"isAutoGenerated": false,
"type": "boolean",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "requisition",
"displayName": "Job Requisition",
"description": "Job Requisition",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sequence",
"displayName": "Sequence",
"description": "Sequence of Stages",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
REST API Reference | Recruiting | 2023

{
"name": "stageName",
"displayName": "Stage Name",
"description": "Stage Level Name",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"isI18n": true,
"isSearchFilter": false
},
{
"name": "type",
"displayName": "Stage Type",
"description": "Type of Stage",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012002/values"
},
"display": true,
"length": 255,
"isI18n": true,
"isSearchFilter": false
}
]
}
},
{
"name": "requisitionTemplate",
"displayName": "Job Requisition Template",
"description": "Job Requisition Template from which this Job Requisition was created",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "salaryCurrency",
"displayName": "Salary Currency",
"description": "Currency for the Salary",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "salaryType",
"displayName": "Salary",
"description": "Salary Type",
REST API Reference | Recruiting | 2024

"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012012/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "source",
"displayName": "Source",
"description": "Source of this requisition, it can be Person Id or Job Id or Job Family Id
",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "sourceType",
"displayName": "Source Type",
"description": "Prefix of the id stored in source",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "securityDomain",
"displayName": "Domain",
"description": "split",
"isRequired": true,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "status",
"displayName": "Status",
"description": "Status",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012003/values"
},
"display": true,
"isSearchFilter": false
REST API Reference | Recruiting | 2025

},
{
"name": "submittedOn",
"displayName": "Submitted On",
"description": "Submitted On Date for Job Requisition",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": false
},
{
"name": "targetDate",
"displayName": "Target date",
"description": "Target date by which it is expected to fill the job requisition",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "title",
"displayName": "Job Title",
"description": "Job Requisition Title",
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "unpublishDate",
"displayName": "Unpublish Date",
"description": "Date after which a job requisition will get unpublished",
"isRequired": false,
"isAutoGenerated": false,
"type": "date",
"isReference": false,
"isProtected": false,
"display": true,
"isSearchFilter": true
},
{
"name": "unpublishDays",
"displayName": "Unpublish Days",
"description": "No of days from the the date of publishing a job requisition after which
it will get unpublished",
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"isProtected": false,
REST API Reference | Recruiting | 2026

"display": true,
"isSearchFilter": true
},
{
"name": "unpublishType",
"displayName": "Auto-Unpublish",
"description": "Unpublish Type, can be Date/Days/End Of Month",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"choices": {
"href": "http://<hostname>/Saba/api/list/sysli000000000012028/values"
},
"display": true,
"isSearchFilter": false
},
{
"name": "custom0",
"displayName": "Custom 0",
"description": "Custom 0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom1",
"displayName": "Custom 1",
"description": "Custom 1",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom2",
"displayName": "Custom 2",
"description": "Custom 2",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
REST API Reference | Recruiting | 2027

},
{
"name": "custom3",
"displayName": "Custom 3",
"description": "Custom 3",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom4",
"displayName": "Custom 4",
"description": "Custom 4",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom5",
"displayName": "Custom 5",
"description": "Custom 5",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom6",
"displayName": "Custom 6",
"description": "Custom 6",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
REST API Reference | Recruiting | 2028

"name": "custom7",
"displayName": "Custom 7",
"description": "Custom 7",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom8",
"displayName": "Custom 8",
"description": "Custom 8",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
},
{
"name": "custom9",
"displayName": "Custom 9",
"description": "Custom 9",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"isProtected": false,
"display": true,
"length": 255,
"maximumLength": 255,
"isI18n": true,
"isSearchFilter": true
}
]
}

CREATE A NEW JOB REQUISITION

Overview
Creates a new job requisition

Requires OAuth
No

Method
POST
REST API Reference | Recruiting | 2029

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition

Calling Options
Table 556: Calling Options

Name Description Sample Value Data Type Required?

location Location {"id": object Yes


"locat000000000001000",
"displayName":
"Location1"}

description Job Description <p>recruting test string Yes


01 job</p>

source Source string No

targetDate Target date string No

organization Organization {"id":bisut000000000001000", object Yes


"display-
Name":"Busines-
sUnit1"}

requisitionTem- Job Requisition Tem- {"id":"re- object Yes


plate plate qtp000000000000001",
"display-
Name":null}

employmentType Type of Employment Permanent string No

requisitionStage Requisition Stage string No

requiresTravel Requires Travel false string No

requiresResume Requires Resume true string No

requiresCoverLet- Allow Cover Letter false string No


ter

companyDescrip- Company Description Company De- string Yes


tion scription for the
Requisition Tem-
plate

requiresPreAs- Requires Pre-Assess- false string No


sessment ment

status Status DRAFT string Yes

unpublishDays Unpublish Days 30 integer No

endOfMonth End of Month false string No


REST API Reference | Recruiting | 2030

Name Description Sample Value Data Type Required?

marketAverage Compensation Dis- string No


played to Candidates
(Public)

referralBonus Referral Bonus string No

unpublishDate Unpublish Date string No

plainTextSM Plain Text Type Smart string No


Widgets

pieChartSM Pie Chart Type Smart string No


Widgets

barChartSM Bar Chart Type Smart string No


Widgets

progressBarSM Progress Bar Type string No


Smart Widgets

googleMapWid- Google Map Widget string No


get

minExperience Minimum Experience 2 integer No

maxExperience Maximum Experience 5 integer No

interviewers Interviewers string No

recruiter Recruiter object No


[{"stakeholder":
{ "id":"per-
sn000000000201414",
"displayName":
"fname lname"
},"stakeholder-
Type": "RECRUIT-
ER",
"id":rsthd000000000001022"}]

industry Industry string No

applicantType Publish to INTERNAL-ONLY string Yes

closedDate Close date string No

hrPartner HR Partner {"id": "em- object Yes


plo000000000001043",
"displayName":
"User3 Four3"}
REST API Reference | Recruiting | 2031

Name Description Sample Value Data Type Required?

hiringManager Hiring Manager {"id": "em- object Yes


plo000000000001000",
"displayName":
"User One"}

minimumSalary Minimum Salary 20000 integer Yes

maximumSalary Maximum Salary 50000 integer Yes

qualification Qualifications <p>BE</p> string Yes

salaryType Salary Type YEARLY string Yes

jobAdStyle Job Advertisement Cool string Yes


Style

noOfOpenings Number of Hires 2 integer Yes

hireType Type of hire. Can be NEW-HIRE enumerated No


"REPLACEMENT-HIRE",
"NEW-HIRE" or "OTHER"

employmentClas- Employment classific- NOT-MENTIONED enumerated No


sification ation. Can be "NOT-
MENTIONED", "EX-
EMPT" or "NON-EX-
EMPT"

businessJustifica- Business Justification string No


tion

isEEOCReq Is EEOC Required string No

unpublishType Auto-Unpublish string No

sourceType Source Type string No

category EEO Job Category Not Specified string No

compensation Compensation Dis- string No


played to Candidates
(Public)

costCenter Cost Center string No

salaryCurrency Salary Currency {"id":crncy000000000000167", object Yes


"display-
Name":"US Dol-
lars"}

publishedOn Published On string No

jobType Job string No

notes Notes string No


REST API Reference | Recruiting | 2032

Name Description Sample Value Data Type Required?

title Job Title HPEngineer3 string Yes

submittedOn Submitted On string No

approvedOn Approved On string No

jobFamily Job Family {"id": object Yes


"jfmly000000000001000",
"displayName":
"Job Family 121"}

educationQualific- Education Qualifica- string No


ation tion

isFeaturedJobEx- Mark the external job false string No


ternal posting featured

referralBonus- Referral Bonus Cur- string No


Curr rency

customValues Custom Values string No

securityDomain Domain {"id": "dom- object Yes


in000000000000001",
"displayName":
"world"}

jobboards Job Boards string No

regions Regions [{ "associate": object No


{"id": "re-
gio000000000000001"},
"associateType":
"REGION"}]

Request Body

{
"location": {
"id": "locat000000000001000",
"displayName": "Location1"
},
"description": "<p>recruting test 01 job</p>",
"source": null,
"targetDate": null,
"organization": {
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"requisitionTemplate": {
"id": "reqtp000000000000001",
"displayName": "System Default Template"
},
"employmentType": "Permanent",
"requisitionStage": [
REST API Reference | Recruiting | 2033

],
"requiresTravel": false,
"requiresResume": true,
"requiresCoverLetter": false,
"companyDescription": "<p>Company Description for the Requisition Template</p>",
"requiresPreAssessment": false,
"status": "DRAFT",
"unpublishDays": 30,
"endOfMonth": false,
"marketAverage": null,
"referralBonus": null,
"unpublishDate": null,
"plainTextSM": null,
"pieChartSM": null,
"barChartSM":{"id":null,"type":"BAR-CHART","identifier":"barChartSM","title":"Experience",
"smartWidget_visibility":"ANYONE",
"smartWidgetValues":[{"name":"Java","value":1}]},
"progressBarSM": null,
"googleMapWidget": null,
"interviewers": [],
"recruiter": [
{

"stakeholder": {
"id": "persn000000000201414",
"displayName": "fname lname"
},
"stakeholderType": "RECRUITER",
"id": "rsthd000000000001022"
}
],
"industry": "Computer Software",
"applicantType": "INTERNAL-ONLY",
"closedDate": null,
"hrPartner": {
"id": "emplo000000000001043",
"displayName": "User3 Four3"
},
"hiringManager": {
"id": "emplo000000000001000",
"displayName": "User One"
},
"minimumSalary": 20000,
"maximumSalary": 500000,

"qualification": "<p>everything</p>",
"salaryType": "YEARLY",
"jobAdStyle": "Cool",
"noOfOpenings": 1,
"isEEOCReq": true,
"unpublishType": "NONE",
"minExperience": 2,
"maxExperience": 5,
"sourceType": null,
"category": "Professionals",
"compensation": "Nothing",
"costCenter": "Everything",
"salaryCurrency": {"id":"crncy000000000000001","displayName":"US Dollars"},
"publishedOn": null,
"jobType":null,
"notes": "<p>Perfect</p>",
REST API Reference | Recruiting | 2034

"title": "HPEngineer2",
"approvedOn": null,
"submittedOn": null,
"jobFamily": {
"id": "jfmly000000000001000",
"displayName": "Job Family 121"
},
"educationQualification": null,
"isFeaturedJobExternal": false,
"referralBonusCurr": null,
"customValues": {
"custom9": null,
"custom0": null,
"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"jobboards": [],
"hireType":"OTHER",
"employmentClassification":"NON-EXEMPT",
"businessJustification":"new1"

Return Values

{
"id": "jobrq000000000001140",
"displayName": "HPEngineer2",
"href": "http://<host_name>/v1/job-requisition/jobrq000000000001140"
}

UPDATE JOB REQUISITION

Overview
Updates job requisition based on the job requisition's ID that is passed as the parameter.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/job-requisition/:id
REST API Reference | Recruiting | 2035

Calling Options
Table 557: Calling Options

Name Description Sample Value Data Type Required?

id The id of job requisi- jobrq000000000001020 string Yes


tion to be updated

location Location { "id": object No


"locat000000000001000",
"displayName":
"Location1" }

description Job Description <p>recruting test string No


01 job</p>

organization Organization {"id":bisut000000000001000", object No


"display-
Name":"Busines-
sUnit1"}

requisitionTem- Job Requisition Tem- {"id":"re- object No


plate plate qtp000000000000001",
"display-
Name":null}

employmentType Type of Employment Contractor string No

requisitionStage Requisition Stage [{"isRequired": object No


false, "assess-
ment": {"id":
"cninv000000000057714",
"displayName":
"Job 0129-0131-
034520631472023431041"},
"stageName":
"Pre assessment",
"sequence": 1,
"type": "PRE-AS-
SESSMENT"}]

requiresTravel Requires Travel false boolean No

requiresResume Requires Resume false boolean No

requiresCoverLet- Allow Cover Letter false boolean No


ter

companyDescrip- Company Description Company De- string No


tion scription for the
Requisition Tem-
plate

businessJustifica- Business Justification Business justifica- string No


tion tion
REST API Reference | Recruiting | 2036

Name Description Sample Value Data Type Required?

requiresPreAs- Requires Pre-Assess- false string No


sessment ment

status Status DRAFT string No

unpublishDays Unpublish Days 30 integer No

endOfMonth End of Month false string No

unpublishDate Unpublish Date 2016-08- string No


16T00:00:00.000+0530

pieChartSM Pie Chart Type Smart {"type": "PIE- object No


Widgets CHART", "identifi-
er": "pieChartSM",
"smartWidgetVal-
ues": [{"name":
"java", "value": "In-
termediate", "par-
ent": {"id": "smt-
wd000000000001000",
"displayName":
"Skills"}}, {"name":
"Js", "value": "Ex-
pert", "parent":
{"id": "smt-
wd000000000001000",
"displayName":
"Skills"}}],
"smartWidget_vis-
ibility": "ANYONE",
"title": "Skills"}
REST API Reference | Recruiting | 2037

Name Description Sample Value Data Type Required?

barChartSM Bar Chart Type Smart {"type": "BAR- object No


Widgets CHART", "identifi-
er": "barChartSM",
"smartWidgetVal-
ues": [{"name":
"java1", "value": "2",
"parent": {"id":
"smt-
wd000000000002034",
"displayName":
"Experience"}},
{"name": "Ad-
vanced Java1",
"value": "1", "par-
ent": {"id": "smt-
wd000000000002034",
"displayName":
"Experience"}}],
"smartWidget_vis-
ibility": "ANYONE",
"title": "Experi-
ence"}

minExperience Minimum Experience 1 integer No

maxExperience Maximum Experience 3 integer No

interviewers Interviewers [{"stakeholder": object No


{"id": "em-
plo000000000201187",
"displayName":
"custome_menu
uone"}, "stake-
holderType": "IN-
TERVIEWER"}]

recruiter Recruiter [{"stakeholder": object No


{"id": "em-
plo000000000201187",
"displayName":
"custome_menu
uone"}, "stake-
holderType": "RE-
CRUITER"}]

industry Industry Software string No

applicantType Publish to INTERNAL-ONLY string No

closedDate Close date 2016-08- string No


16T15:20:48.000+0530
REST API Reference | Recruiting | 2038

Name Description Sample Value Data Type Required?

hrPartner HR Partner {"id": "em- object No


plo000000000001043",
"displayName":
"User3 Four3"}

hiringManager Hiring Manager {"id": "em- object No


plo000000000001000",
"displayName":
"User One"}

minimumSalary Minimum Salary 20000 integer No

maximumSalary Maximum Salary 50000 integer No

qualification Qualifications <p>BE</p> string No

salaryType Salary Type YEARLY string No

jobAdStyle Job Advertisement Cool string No


Style

noOfOpenings Number of Hires 2 integer No

hireType Hire Type NEW-HIRE enumerated No

employmentClas- Employment Classific- NOT-MENTIONED enumerated No


sification ation

isEEOCReq Is EEOC Required false boolean No

unpublishType Auto-Unpublish UNPUBLISH-DATE string No

category EEO Job Category Not Specified string No

compensation Compensation Dis- 50000 integer No


played to Candidates
(Public)

costCenter Cost Center center1 string No

salaryCurrency Salary Currency {"id":crncy000000000000167", object No


"display-
Name":"US Dol-
lars"}

publishedOn Published On 2016-08- string No


16T04:00:32.000+0530

jobType Job {"id": "job- object No


tp00000000200200"}

notes Notes Notes string No

title Job Title HPEngineer3 string No


REST API Reference | Recruiting | 2039

Name Description Sample Value Data Type Required?

submittedOn Submitted On 2016-08- string No


15T15:00:32.000+0530

approvedOn Approved On 2016-08- string No


16T15:00:32.000+0530

educationQualific- Education Qualifica- Qualification de- string No


ation tion tails

isFeaturedJobEx- Mark the external job true boolean No


ternal posting featured

customValues Custom Values {"custom9": "1", object No


"custom0": "2",
"custom3": "3",
"custom4": "4",
"custom1": "5",
"custom2": "6",
"custom7": "7",
"custom8": "8",
"custom5": "9",
"custom6":"10"}

securityDomain Domain {"id": "dom- object No


in000000000000001",
"displayName":
"world"}

regions Regions [{ "associate": object No


{"id": "re-
gio000000000000001"},
"associateType":
"REGION"}]

Request Body

{
"location": {
"id": "locat000000000001000",
"displayName": "Location1"
},
"description": "<p>recruting test 01 job<\/p>",
"organization": {
"id": "bisut000000000001000",
"displayName": "BusinessUnit1"
},
"requisitionTemplate": {
"id": "reqtp000000000000001",
"displayName": null
},
"employmentType": "Contractor",
"requisitionStage": [
{
"isRequired": false,
REST API Reference | Recruiting | 2040

"assessment": {
"id": "cninv000000000057714",
"displayName": "Job 0129-0131-034520631472023431041"
},
"stageName": "Pre assessment",
"sequence": 1,
"type": "PRE-ASSESSMENT"
}
],
"requiresTravel": false,
"requiresResume": false,
"requiresCoverLetter": false,
"companyDescription": "Company Description for the Requisition Template",
"businessJustification": "Business justification",
"requiresPreAssessment": false,
"status": "DRAFT",
"unpublishDays": 30,
"endOfMonth": false,
"unpublishDate": "2016-08-16T00:00:00.000+0530",
"pieChartSM": {
"type": "PIE-CHART",
"identifier": "pieChartSM",
"smartWidgetValues": [
{
"name": "java",
"value": "Intermediate",
"parent": {
"id": "smtwd000000000001000",
"displayName": "Skills"
}
},
{
"name": "Js",
"value": "Expert",
"parent": {
"id": "smtwd000000000001000",
"displayName": "Skills"
}
}
],
"smartWidget_visibility": "ANYONE",
"title": "Skills"
},
"barChartSM": {
"type": "BAR-CHART",
"identifier": "barChartSM",
"smartWidgetValues": [
{
"name": "java1",
"value": "2",
"parent": {
"id": "smtwd000000000002034",
"displayName": "Experience"
}
},
{
"name": "Advanced Java1",
"value": "1",
"parent": {
"id": "smtwd000000000002034",
"displayName": "Experience"
}
REST API Reference | Recruiting | 2041

}
],
"smartWidget_visibility": "ANYONE",
"title": "Experience"
},
"minExperience": 1,
"maxExperience": 3,
"interviewers": [
{
"stakeholder": {
"id": "emplo000000000201187",
"displayName": "custome_menu uone"
},
"stakeholderType": "INTERVIEWER"
}
],
"recruiter": [
{
"stakeholder": {
"id": "emplo000000000201187",
"displayName": "custome_menu uone"
},
"stakeholderType": "RECRUITER"
}
],
"industry": "Software",
"applicantType": "INTERNAL-ONLY",
"closedDate": "2016-08-16T15:20:48.000+0530",
"hrPartner": {
"id": "emplo000000000001043",
"displayName": "User3 Four3"
},
"hiringManager": {
"id": "emplo000000000001000",
"displayName": "User One"
},
"minimumSalary": 20000,
"maximumSalary": 50000,
"qualification": "<p>BE<\/p>",
"salaryType": "YEARLY",
"jobAdStyle": "Cool",
"noOfOpenings": 2,
"hireType": "NEW-HIRE",
"employmentClassification": "NOT-MENTIONED",
"isEEOCReq": false,
"unpublishType": "UNPUBLISH-DATE",
"category": "Not Specified",
"compensation": 50000,
"costCenter": "center1",
"salaryCurrency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"publishedOn": "2016-08-16T04:00:32.000+0530",
"jobType": {
"id": "jobtp00000000200200"
},
"notes": "Notes",
"title": "HPEngineer3",
"submittedOn": "2016-08-15T15:00:32.000+0530",
"approvedOn": "2016-08-16T15:00:32.000+0530",
"educationQualification": "Qualification details",
REST API Reference | Recruiting | 2042

"isFeaturedJobExternal": true,
"customValues": {
"custom9": "1",
"custom0": "2",
"custom3": "3",
"custom4": "4",
"custom1": "5",
"custom2": "6",
"custom7": "7",
"custom8": "8",
"custom5": "9",
"custom6": "10"
},
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
}
}

UPDATE LOCALE-SPECIFIC DETAILS OF JOB REQUISITION

Overview
Update locale-specific attributes of job requisition.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale
Example:
https://<hostname-api.sabacloud.com>/v1/job-requisition/jobrq000000000001000/locale

Calling Options
Table 558: Calling Options

Name Description Default Value Data Type Required?

componentId Component to be up- job-requisition string Yes


dated

instanceId Instance id of compon- compt000000000001042 string Yes


ent

locale Locale id or display- {"id": "loc- object Yes


name al000000000000010",
"displayName":
"de_DE"}
REST API Reference | Recruiting | 2043

Name Description Default Value Data Type Required?

title Name of job requisi- jobreq string No


tion

description Job requisition de- description string No


scription

customValues Custom values {"custom0": "cus- object No


tom 00","cus-
tom1":"custom
01","custom2":"cus-
tom 02","cus-
tom3":"custom
03","cus-
tom4":"custom
04","cus-
tom5":"custom
05",,"cus-
tom6":"custom
06","cus-
tom7":"custom
07","cus-
tom8":"custom
08","cus-
tom9":"custom
09"}

qualification Job requisition quali- msc string No


fication

compensation Job requisition com- comp string No


pensation

companyDescrip- Job requisition com- description string No


tion pany Description

notes Job requisition notes notes string No

internalJobDe- Job requisition intern- job description string No


scription al Job Description

Request Body

{"details":[
{
"locale":{
"id":"local000000000000002",
"displayName": "de_DE"
},
"title":"jobRq",
"description":"description",
"qualification":"bcom",
"compensation":"comp",
"companyDescription":"abt",
"notes":"note1",
REST API Reference | Recruiting | 2044

"internalJobDescription":"int",
"customValues":{
"custom0": "custom val 0",
"custom1": "custom val 1"
}
}
]}

Job Applications
REST endpoints for the recruiting data.

CREATE A NEW JOB APPLICATION

Overview
Creates a new job application. This API helps create a job specific application.
Note: In case the candidate already exists then the ID of the candidate is mandatory in the
Request Body. Only the resume can be updated for a candidate and not other details.

Requires OAuth
No

Method
POST

Content-type
Multipart/form-data
Note:
The supported file types for upload are: doc, docx, txt, pdf, dotx.

URL
https://<hostname-api.sabacloud.com>/v1/job-applications
REST API Reference | Recruiting | 2045

Calling Options
Table 559: Calling Options

Name Description Sample Value Data Type Required?

detail Details of the job ap- text Yes


plication as JSON.
Possible values for the
following fields:
1. referralSource >
sourceType:
AGENCY / EMPLOY-
EE / OTHER
2. Job_offer > status:
DRAFT / PENDING-
APPROVAL / OF-
FER-APPROVED /
OFFER-NOT-AP-
PROVED /OFFERED
/ ACCEPTED / DE-
CLINED / HIRED /
CANCELLED / OF-
FER-RESENT / AC-
CEPTED-EDITED
Note: During POST,
in case the candid-
ate already exists
then the ID of can-
didate is mandat-
ory in Request
Body. Only the re-
sume can be up-
dated for a candid-
ate.

files:type Valid values for the files:type attribute are:


• resume
• coverLetter
• other
Any other keyword will consider the file being uploaded as an unspecified
attachment (equals to using "other" keyword).

resume Resume of the candid- file Yes


ate

coverletter Cover letter of the file No


candidate

other Other file of the can- file No


didate
REST API Reference | Recruiting | 2046

Request Body

{
"appliedOn": "2017-07-11",
"status": "NEW",
"rejectReason":null,
"referralSource": {
"sourceType": "AGENCY",
"sourceName": "SEEK"
},
"jobRequisition": {
"id": "jobrq000000000001001",
"displayName": "1001"
},
"job_offer":{
"status":"DRAFT",
"startDate":"2017-10-11",
"person":{
"id": "emplo000000000000001",
"displayName": "uone"
},
"offerSalary":{
"amount": 20000.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"agencyFee":{
"amount": 500.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"referralBonus":{
"amount": 100.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "usd"
}
},
"referralSourceNotes":"reference note description",
"position":{
"id": "postn000000000001000",
"displayName": "position1"
}
},
"candidate": {
"id": "candi000000000001043",
"firstName": "testcan3",
"lastName": "test3",
"middleName": "",
"email": "testcan3@saba.com",
"dateOfBirth": "1990-10-10",
"address1": "addr1",
"address2": "addr2",
"zip": "947590",
"city": "city1",
"state": "state1",
"country": "country1",
"homePhone": "1234567898",
"mobilePhone": "1234567898",
REST API Reference | Recruiting | 2047

"ssn": "12312432",
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9",
"custom10": "c10",
"custom11": "c11",
"custom12": "c12",
"custom13": "c13",
"custom14": "c14",
"custom15": "c15",
"custom16": "c16",
"custom17": "c17",
"custom18": "c18",
"custom19": "c19",
"spokenLanguages": "English,Hindi",
"eligibleForOtherOpenings": true,
"availableFrom": "2017-12-10",
"timeZone": {
"id": "tzone000000000000003",
"displayName": "(GMT-10:00) Hawaii"
},
"region":{
"id": "regio000000000000001",
"displayName": "APAC"
},
"profile": {
"profileSummary": "test summery",
"readyToRelocate": true,
"demographicInformation": {
"veteranStatus": "NOT_VETERAN",
"race": "OTHER_RACE",
"disability": "NOT_DISABLED",
"gender": 1
},
"educations": [{
"institution": "inst1",
"degree": "MCA",
"schoolStartDate": "2010-01-01",
"schoolEndDate": "2015-01-01",
"score": "90"
}],
"workExperiences": [{
"employerName": "saba",
"roleSummary": "role1",
"positionTitle": "Eng1",
"startDate": "2016-01-01",
"endDate": null,
"reasonForLeaving": "no reason",
"salary": {
"amount": 10000.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
}
REST API Reference | Recruiting | 2048

}],
"skills": [{
"name": "skill1",
"measure": "4"
}],
"preferredLocations": [{
"id": "locat000000000200121",
"displayName": "Pune"
}],
"preferredCategories": [{
"id": "jfmly000000000001040",
"displayName": "Default Job Family"
}],
"salaryRequested": {
"amount": 15000,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"profileLinks": ["www.google.com", "www.gmail.com"],
"references": [{
"name": "name1",
"title": "job1",
"phone": "1234567898",
"email": "test@saba.com"
}],
"files": [{
"name": "Resume.doc",
"type": "resume"
}]
}
}
}

UPDATE JOB APPLICATION

Overview
Updates job application details based on the job application's ID that is passed as the
parameter. This API helps update a job specific application.

Requires OAuth
No

Method
PUT

Content-type
Multipart/form-data
Note:
The supported file types for upload are: doc, docx, txt, pdf, dotx.
REST API Reference | Recruiting | 2049

URL
https://<hostname-api.sabacloud.com>/v1/job-applications/:id
Example: https://<hostname-api.sabacloud.com>/v1/job-applications/jrqcd000000000001022

Calling Options
Table 560: Calling Options

Name Description Sample Value Data Type Required?

id The ID of job applica- jr- string Yes


tion to be updated qcd000000000001022

detail Details of the job ap- text Yes


plication as JSON.
Possible values for the
following fields:
1. referralSource >
sourceType:
AGENCY / EMPLOY-
EE / OTHER
2. Job_offer > status:
DRAFT / PENDING-
APPROVAL / OF-
FER-APPROVED /
OFFER-NOT-AP-
PROVED /OFFERED
/ ACCEPTED / DE-
CLINED / HIRED /
CANCELLED / OF-
FER-RESENT / AC-
CEPTED-EDITED

files:type Valid values for the file No


files:type attribute
are:
• resume
• coverLetter
• other
Any other keyword
will consider the file
being uploaded as an
unspecified attach-
ment (equals to using
"other" keyword).

Request Body

{
"appliedOn": "2017-07-11",
REST API Reference | Recruiting | 2050

"status": "NEW",
"rejectReason":null,
"referralSource": {
"sourceType": "AGENCY",
"sourceName": "SEEK"
},
"jobRequisition": {
"id": "jobrq000000000001001",
"displayName": "1001"
},
"job_offer":{
"status":"DRAFT",
"startDate":"2017-10-11",
"person":{
"id": "emplo000000000000001",
"displayName": "uone"
},
"offerSalary":{
"amount": 20000.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"agencyFee":{
"amount": 500.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"referralBonus":{
"amount": 100.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "usd"
}
},
"referralSourceNotes":"reference note description",
"position":{
"id": "postn000000000001000",
"displayName": "position1"
}
},
"candidate": {
"id": "candi000000000001043",
"firstName": "testcan3",
"lastName": "test3",
"middleName": "",
"email": "testcan3@saba.com",
"dateOfBirth": "1990-10-10",
"address1": "addr1",
"address2": "addr2",
"zip": "947590",
"city": "city1",
"state": "state1",
"country": "country1",
"homePhone": "1234567898",
"mobilePhone": "1234567898",
"ssn": "12312432",
"custom0": "c0",
"custom1": "c1",
REST API Reference | Recruiting | 2051

"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9",
"custom10": "c10",
"custom11": "c11",
"custom12": "c12",
"custom13": "c13",
"custom14": "c14",
"custom15": "c15",
"custom16": "c16",
"custom17": "c17",
"custom18": "c18",
"custom19": "c19",
"spokenLanguages": "English,Hindi",
"eligibleForOtherOpenings": true,
"availableFrom": "2017-12-10",
"timeZone": {
"id": "tzone000000000000003",
"displayName": "(GMT-10:00) Hawaii"
},
"region":{
"id": "regio000000000000001",
"displayName": "APAC"
},
"profile": {
"profileSummary": "test summery",
"readyToRelocate": true,
"demographicInformation": {
"veteranStatus": "NOT_VETERAN",
"race": "OTHER_RACE",
"disability": "NOT_DISABLED",
"gender": 1
},
"educations": [{
"institution": "inst1",
"degree": "MCA",
"schoolStartDate": "2010-01-01",
"schoolEndDate": "2015-01-01",
"score": "90"
}],
"workExperiences": [{
"employerName": "saba",
"roleSummary": "role1",
"positionTitle": "Eng1",
"startDate": "2016-01-01",
"endDate": null,
"reasonForLeaving": "no reason",
"salary": {
"amount": 10000.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
}
}],
"skills": [{
"name": "skill1",
REST API Reference | Recruiting | 2052

"measure": "4"
}],
"preferredLocations": [{
"id": "locat000000000200121",
"displayName": "Pune"
}],
"preferredCategories": [{
"id": "jfmly000000000001040",
"displayName": "Default Job Family"
}],
"salaryRequested": {
"amount": 15000,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"profileLinks": ["www.google.com", "www.gmail.com"],
"references": [{
"name": "name1",
"title": "job1",
"phone": "1234567898",
"email": "test@saba.com"
}],
"files": [{
"name": "Resume.doc",
"type": "resume"
}]
}
}
}

Job Postings
REST endpoints for the recruiting data.

GET ALL ACTIVE JOB-POSTINGS

Overview
Returns all the active job-postings.
Note: This is a public REST API (for external career sites) and do not require authentication.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/public/job-postings?count=:count&startPage=:startPage
REST API Reference | Recruiting | 2053

Table 561: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"totalResults": 2,
"startIndex": 1,
"hasMoreResults": false,
"itemsPerPage": 10,
"results": [
{
"id": "jobrq000000000001020",
"href":
"http://<hostname-api.sabacloud.com>/v1/public/job-postings/jobrq000000000001020",
"title": "Coder"
},
{
"id": "jobrq000000000001060",
"href":
"http://<hostname-api.sabacloud.com>/v1/public/job-postings/jobrq000000000001060",
"title": "HPEngineer3A"
}
],
"facets": []
}

GET DETAILS OF A PARTICULAR JOB-POSTING

Overview
Returns details of a particular job-posting.
Note: This is a public REST API (for external career sites) and do not require authentication.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/public/job-postings/{id}
REST API Reference | Recruiting | 2054

Table 562: Calling Options

Name Description Sample Value Data Type Required?

id ID of the job-posting jobrq000000000001020 string Yes

Return Values

{
"employmentType": "Regular",
"about": "<p>We are a dynamic organization with great customers and a culture where
people are valued and empowered to deliver amazing results. We are also growing and
looking to hire talented and passionate individuals to join our team!</p>",
"description": "<p>Job description</p>",
"title": "QA Manager",
"experience": [
{
"experience": "Strategy",
"experienceLevel ": "3"
},
{
"experience": "IT Background",
"experienceLevel ": "10"
},
{
"experience": "Team Management",
"experienceLevel ": "7"
}
],
"applyLink":
"http://<hostname>/Saba/Web_spf/HPRecruit/jobs-jobs/career/jobdetail/jobrq000000000001020",

"skills": [
{
"skill": "MBA",
"skillLevel ": "Guru"
},
{
"skill": "HTML5",
"skillLevel ": "Expert"
},
{
"skill": "JAVA",
"skillLevel ": "Expert"
}
],
"number": "1020",
"qualification": "<p>qa</p>",
"locationCountry": "USA",
"closedDate": null,
"postedOn": "Posted 25 day(s) ago",
"jobFamily": "Executives",
"location": "San Francisco, Californina",
"id": "jobrq000000000001020",
"locationState": "CA",
"category": null,
"locationCity": "Redwood Shores"
}
REST API Reference | Recruiting | 2055

Candidate
REST endpoints for the recruiting data.

CREATE A NEW CANDIDATE

Overview
Creates a new candidate. This API helps create a candidate with a general job application
profile.

Requires OAuth
No

Method
POST

Content-type
Multipart/form-data
Note:
The supported file types for upload are: doc, docx, txt, pdf, dotx.

URL
https://<hostname-api.sabacloud.com>/v1/candidates
REST API Reference | Recruiting | 2056

Calling Options
Table 563: Calling Options

Name Description Sample Value Data Type Required?

detail Details of the candid- text Yes


ate as JSON.
Possible values for the
following fields:
1. veteranStatus:
NOT_VETERAN /
VETERAN / Not
Specified
2. race: ASIAN /Not
Specified
3. disability:
NOT_DISABLED /
DISABLED /Not
Specified
4. gender: 0 / 1 / 2 /3
(0: Male, 1: Female,
2: INFORMATIONUN-
AVAILABLE, 3:
DONT_WANT_TO_SPE-
CIFY)

Note: veteranStatus,
race and disability are
user lov and hence lov
name should be in-
cluded in JSON.

files:type Valid values for the files:type attribute are:


• resume
• other
Any other keyword will consider the file being uploaded as an unspecified
attachment (equals to using "other" keyword).

resume Resume of the candid- file Yes


ate

other Other file of the can- file No


didate

Request Body

{
"firstName": "testcan3",
"lastName": "test3",
"middleName": "",
REST API Reference | Recruiting | 2057

"email": "testcan3@saba.com",
"dateOfBirth": "1990-10-10",
"address1": "addr1",
"address2": "addr2",
"zip": "947590",
"city": "city1",
"state": "state1",
"country": "country1",
"homePhone": "1234567898",
"mobilePhone": "1234567898",
"ssn": "12312432",
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9",
"custom10": "c10",
"custom11": "c11",
"custom12": "c12",
"custom13": "c13",
"custom14": "c14",
"custom15": "c15",
"custom16": "c16",
"custom17": "c17",
"custom18": "c18",
"custom19": "c19",
"spokenLanguages": "English,Hindi",
"eligibleForOtherOpenings": true,
"availableFrom": "2017-12-10",
"timeZone": {
"id": "tzone000000000000003",
"displayName": "(GMT-10:00) Hawaii"
},
"region":{
"id": "regio000000000000001",
"displayName": "APAC"
},
"profile": {
"profileSummary": "test summery",
"readyToRelocate": true,
"demographicInformation": {
"veteranStatus": "NOT_VETERAN",
"race": "OTHER_RACE",
"disability": "NOT_DISABLED",
"gender": 1
},
"educations": [{
"institution": "inst1",
"degree": "MCA",
"schoolStartDate": "2010-01-01",
"schoolEndDate": "2015-01-01",
"score": "90"
}],
"workExperiences": [{
"employerName": "saba",
"roleSummary": "role1",
"positionTitle": "Eng1",
REST API Reference | Recruiting | 2058

"startDate": "2016-01-01",
"endDate": null,
"reasonForLeaving": "no reason",
"salary": {
"amount": 10000.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
}
}],
"skills": [{
"name": "skill1",
"measure": "4"
}],
"preferredLocations": [{
"id": "locat000000000200121",
"displayName": "Pune"
}],
"preferredCategories": [{
"id": "jfmly000000000001040",
"displayName": "Default Job Family"
}],
"salaryRequested": {
"amount": 15000,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"profileLinks": ["www.google.com", "www.gmail.com"],
"references": [{
"name": "name1",
"title": "job1",
"phone": "1234567898",
"email": "test@saba.com"
}],
"files": [{
"name": "Resume.doc",
"type": "resume"
}]
}
}

UPDATE CANDIDATE

Overview
Updates candidate details based on the Candidate's ID that is passed as the parameter. This
API helps update a candidate with a general job application profile.

Requires OAuth
No

Method
PUT
REST API Reference | Recruiting | 2059

Content-type
Multipart/form-data
Note:
The supported file types for upload are: doc, docx, txt, pdf, dotx.

URL
http://<hostname-api.sabacloud.com>/v1/candidates/:id
Example:
http://<hostname-api.sabacloud.com>/v1/candidates/candi000000000001043

Calling Options
Table 564: Calling Options

Name Description Sample Value Data Type Required?

id The ID of candidate to candi000000000001043 string Yes


be updated

detail Details of the candid- text Yes


ate as JSON.
Possible values for the
following fields:
1. veteranStatus:
NOT_VETERAN /
VETERAN / Not
Specified
2. race: ASIAN /Not
Specified
3. disability:
NOT_DISABLED /
DISABLED /Not
Specified
4. gender: 0 / 1 / 2 /3
(0: Male, 1: Female,
2: INFORMATIONUN-
AVAILABLE, 3:
DONT_WANT_TO_SPE-
CIFY)

Note: veteranStatus,
race and disability are
user lov and hence lov
name should be in-
cluded in JSON.
REST API Reference | Recruiting | 2060

Name Description Sample Value Data Type Required?

files:type Valid values for the file No


files:type attribute
are:
• resume
• coverLetter
• other
Any other keyword
will consider the file
being uploaded as an
unspecified attach-
ment (equals to using
"other" keyword).

Request Body

{
"firstName": "testcan3",
"lastName": "test3",
"middleName": "",
"email": "testcan3@saba.com",
"dateOfBirth": "1990-10-10",
"address1": "addr1",
"address2": "addr2",
"zip": "947590",
"city": "city1",
"state": "state1",
"country": "country1",
"homePhone": "1234567898",
"mobilePhone": "1234567898",
"ssn": "12312432",
"custom0": "c0",
"custom1": "c1",
"custom2": "c2",
"custom3": "c3",
"custom4": "c4",
"custom5": "c5",
"custom6": "c6",
"custom7": "c7",
"custom8": "c8",
"custom9": "c9",
"custom10": "c10",
"custom11": "c11",
"custom12": "c12",
"custom13": "c13",
"custom14": "c14",
"custom15": "c15",
"custom16": "c16",
"custom17": "c17",
"custom18": "c18",
"custom19": "c19",
"spokenLanguages": "English,Hindi",
"eligibleForOtherOpenings": true,
"availableFrom": "2017-12-10",
"timeZone": {
"id": "tzone000000000000003",
REST API Reference | Recruiting | 2061

"displayName": "(GMT-10:00) Hawaii"


},
"region":{
"id": "regio000000000000001",
"displayName": "APAC"
},
"profile": {
"profileSummary": "test summery",
"readyToRelocate": true,
"demographicInformation": {
"veteranStatus": "NOT_VETERAN",
"race": "OTHER_RACE",
"disability": "NOT_DISABLED",
"gender": 1
},
"educations": [{
"institution": "inst1",
"degree": "MCA",
"schoolStartDate": "2010-01-01",
"schoolEndDate": "2015-01-01",
"score": "90"
}],
"workExperiences": [{
"employerName": "saba",
"roleSummary": "role1",
"positionTitle": "Eng1",
"startDate": "2016-01-01",
"endDate": null,
"reasonForLeaving": "no reason",
"salary": {
"amount": 10000.00,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
}
}],
"skills": [{
"name": "skill1",
"measure": "4"
}],
"preferredLocations": [{
"id": "locat000000000200121",
"displayName": "Pune"
}],
"preferredCategories": [{
"id": "jfmly000000000001040",
"displayName": "Default Job Family"
}],
"salaryRequested": {
"amount": 15000,
"currency": {
"id": "crncy000000000000001",
"displayName": "USD"
}
},
"profileLinks": ["www.google.com", "www.gmail.com"],
"references": [{
"name": "name1",
"title": "job1",
"phone": "1234567898",
"email": "test@saba.com"
}],
"files": [{
"name": "Resume.doc",
"type": "resume"
}]
}
}
Chapter

12
Analytics

Topics: REST endpoints for the analytics data.

• Reports
REST API Reference | Analytics | 2064

Reports
REST endpoints for the analytics data.

GET REPORT DEFINITION

Overview
Returns more detailed report definition which includes report definition information, filters,
display attributes, chart information with chart attributes.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/analytics/report/definition/:reportId
Example:
https://<hostname-api.sabacloud.com>/v1/analytics/report/definition/rptdf0000007904c03f0156a16c63e5008000

Calling Options
Table 565: Calling Options

Name Description Sample Value Data Type Required?

reportId Report ID. string Yes


Starts with: ‘rptdf’

audienceType Audience Type. string Yes


If not specified, the
API will return the re-
port definition detail
with respect to ADMIN
audience type.
If specified, the API
will return the report
definition detail if the
report is shared with
the specified audi-
ence type.
Refer: #ENUM for sup-
ported audience type.
REST API Reference | Analytics | 2065

Return Values

{
"id": "rptdf000000392db88b015929f8b09c007fff",
"displayName": "RaaS test",
"entityType": "Flat List",
"isOOB": false,
"reportAsAServiceEnabled": true,
"category": "Compensation",
"filter": {
"logicalOperator": "AND",
"filters": [
{
"id": "rptfl000000392db88b015929f8b09c007ffd",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
},
"attributeType": "DIMENSION",
"operator": "Contains",
"value": "a",
"supportedOperators": [
"Contains"
],
"isOptional": false,
"isCaseSensitive": false,
"isEditable": true,
"isOperatorEditable": false
}
],
"secondaryFilterGroup": [],
"exceptionFilterGroup": []
},
"displayAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
},
{
"attributeType": "METRIC",
"attribute": {
REST API Reference | Analytics | 2066

"id": "rptra00000000000000000000000000009187",
"name": "Course_30_days_past_due",
"displayName": "Courses 30 Days Past Due"
}
}
],
"charts": [
{
"id": "rppsd000000392db88b015929f8b09c007ff4",
"displayName": "Total Number of Courses By Course Title",
"type": "PIECHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
},
{
"id": "rppsd0000003bcf439901593a4c2a16007fdb",
"displayName": "Crosstab chart",
"type": "CROSSTABCHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
}
REST API Reference | Analytics | 2067

]
}

GET REPORT LIST

Overview
Returns a list of reports in which report as a service configuration is enabled (report specific
config).It will mainly return the necessary details of the report and all the charts associated
with that report.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/analytics/report/list
Example:
https://<hostname-api.sabacloud.com>/v1/analytics/report/list?category=Compensation&audienceType=employee

Calling Options
Table 566: Calling Options

Name Description Sample Value Data Type Required?

audienceType Audience Type string Yes

category string No
If not specified, the
API will return RaaS
enabled reports from
ALL categories.
If specified, the API
will return RaaS en-
abled report from the
SPECIFIED category.

Return Values

{
"categoryList": [
{
"categoryName": "Compensation",
"reportDefinitionEntityList": [
{
"id": "rptdf000000392db88b015929f8b09c007fff",
REST API Reference | Analytics | 2068

"displayName": "RaaS test",


"entityType": "Flat List",
"createdBy": "User Two",
"isOOB": false,
"reportAsAServiceEnabled": true,
"lastExecutedOn": "Mon Jan 02 15:00:58 IST 2017",
"charts": [
{
"id": "rppsd000000392db88b015929f8b09c007ff4",
"displayName": "Total Number of Courses By Course Title",
"type": "PIECHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
},
{
"id": "rppsd0000003bcf439901593a4c2a16007fdb",
"displayName": "Crosstab chart",
"type": "CROSSTABCHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
}
REST API Reference | Analytics | 2069

]
}
]
}
]
}

REPORT ASYNC EXECUTION STATUS

Overview
This API will retrun the execution status of the async report

Requires OAuth
No

Method
GET/POST

URL
https://<hostname-api.sabacloud.com>/v1/analytics/report/execution/status/:reportRunId
Example:
https://<hostname-api.sabacloud.com>/v1/analytics/report/execution/status/rpteh00000013e7012f0159409c8fc8007ffd

Calling Options
Table 567: Calling Options

Name Description Sample Value Data Type Required?

reportRunId Report run ID string Yes


Starts with: ‘rpteh

Request Body (For POST)

{
"reportRunId": "rpteh000000709600da01596928ba82007fdc"
}

Return Values

{
"currentPage": 1,
"isLastPage": false,
"resultSize": 6,
"executionStatus": "S",
"reportDefinitionEntity": {
"id": "rptdf000000392db88b015929f8b09c007fff",
"displayName": "RaaS test",
REST API Reference | Analytics | 2070

"entityType": "Flat List",


"isOOB": false,
"reportAsAServiceEnabled": true,
"category": "Compensation",
"filter": {
"logicalOperator": "AND",
"filters": [
{
"id": "rptfl000000392db88b015929f8b09c007ffd",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
},
"attributeType": "DIMENSION",
"operator": "Contains",
"value": "a",
"supportedOperators": [
"Contains"
],
"isOptional": false,
"isCaseSensitive": false,
"isEditable": true,
"isOperatorEditable": false
}
],
"secondaryFilterGroup": [],
"exceptionFilterGroup": []
},
"displayAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
],
"charts": [
{
"id": "rppsd000000392db88b015929f8b09c007ff4",
"displayName": "Total Number of Courses By Course Title",
"type": "PIECHART",
"chartAttributes": [
REST API Reference | Analytics | 2071

{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
},
{
"id": "rppsd0000003bcf439901593a4c2a16007fdb",
"displayName": "Crosstab chart",
"type": "CROSSTABCHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
}
]
},
"data": [
[
"course_name": "#$%OTHERS#$%",
"Total_Number_of_Courses": "159"
],
[
"course_name": "JavaCourse",
"Total_Number_of_Courses": "2"
],
[
REST API Reference | Analytics | 2072

"course_name": "Domain_SabaSupport_course2en_US",
"Total_Number_of_Courses": "2"
],
]
}

EXECUTE ASYNC REPORT

Overview
This API will fetch the data of the report which was executed in the async mode

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/analytics/report/execute/:reportId/:chartId

Calling Options
Table 568: Calling Options

Name Description Sample Value Data Type Required?

reportId Report ID. string Yes


Starts with: ‘rptdf’

chartId Chart ID. string Yes


Starts with: ‘rppsd’

reportRunId Report run id (Re- string Yes


quired to excute an
async report)
Mandatory: No (for
synchronous execu-
tion)
Mandatory: Yes (for
asynchronous execu-
tion)
REST API Reference | Analytics | 2073

Request Body

{
"reportRunId": "rpteh000000709600da01596928ba82007fdc"
}

Return Values

{
"currentPage": 1,
"isLastPage": false,
"resultSize": 6,
"executionStatus": "S",
"reportDefinitionEntity": {
"id": "rptdf000000392db88b015929f8b09c007fff",
"displayName": "RaaS test",
"entityType": "Flat List",
"isOOB": false,
"reportAsAServiceEnabled": true,
"category": "Compensation",
"filter": {
"logicalOperator": "AND",
"filters": [
{
"id": "rptfl000000392db88b015929f8b09c007ffd",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
},
"attributeType": "DIMENSION",
"operator": "Contains",
"value": "a",
"supportedOperators": [
"Contains"
],
"isOptional": false,
"isCaseSensitive": false,
"isEditable": true,
"isOperatorEditable": false
}
],
"secondaryFilterGroup": [],
"exceptionFilterGroup": []
},
"displayAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
REST API Reference | Analytics | 2074

}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
],
"charts": [
{
"id": "rppsd000000392db88b015929f8b09c007ff4",
"displayName": "Total Number of Courses By Course Title",
"type": "PIECHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
},
{
"id": "rppsd0000003bcf439901593a4c2a16007fdb",
"displayName": "Crosstab chart",
"type": "CROSSTABCHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
REST API Reference | Analytics | 2075

"displayName": "Total Number of Courses"


}
}
]
}
]
},
"data": [
[
"course_name": "#$%OTHERS#$%",
"Total_Number_of_Courses": "159"
],
[
"course_name": "JavaCourse",
"Total_Number_of_Courses": "2"
],
[
"course_name": "Domain_SabaSupport_course2en_US",
"Total_Number_of_Courses": "2"
],
]
}

EXECUTE REPORT

Overview
This API will execute the report in the synchronous / asynchronous (depending upon the
configuration)

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/analytics/report/execute/:reportId/:chartId
Exmaple:
https://<hostname-api.sabacloud.com>/v1/analytics/report/execute/rptdf0000007904c03f0156a16c63e5008000/rppsd0000005d584d490156b0e88d5d007fe8

Calling Options
Table 569: Calling Options

Name Description Sample Value Data Type Required?

reportId Report ID. string Yes


Starts with: ‘rptdf’
REST API Reference | Analytics | 2076

Name Description Sample Value Data Type Required?

chartId Chart ID. string Yes


Starts with: ‘rppsd’

audienceType Audience Type string Yes


If not specified, the
API will execute the
report definition with
respect to ADMIN
audience type.
If specified, the API
will execute the report
definition if the report
is shared with the
specified audience
type.
Refer: #ENUM for
supported audience
type.

@type Execution parameters com.saba.ser- string Yes


vices.rest.dto.
APIExecutionDTO

pageSize Page size. 20 string Yes


Mandatory: Yes (for
synchronous execu-
tion)
Mandatory: No (for
asynchronous execu-
tion)

pageNumber Page number 1 string Yes


Mandatory: Yes (for
synchronous execu-
tion)
Mandatory: No (for
asynchronous execu-
tion)
REST API Reference | Analytics | 2077

Name Description Sample Value Data Type Required?

filter Filter object string Yes


Mandatory: Yes (for
synchronous execu-
tion)
Mandatory: No (for
asynchronous execu-
tion)
Note: Do not provide
filters which are
marked as un-edit-
able (editable=false)
in the report.

Request Body

{
"logicalOperator": "AND",
"filters": [
"java.util.List",
[
{
"id": "rptfl000000392db88b015929f8b09c007ffd",
"operator": "Contains",
"value": "a",
"isCaseSensitive": false
}
]
],
"secondaryFilterGroup": [
"java.util.List",
[]
],
"exceptionFilterGroup": [
"java.util.List",
[]
]
}

Return Values

{
"currentPage": 1,
"isLastPage": false,
"resultSize": 6,
"executionStatus": "S",
"reportDefinitionEntity": {
"id": "rptdf000000392db88b015929f8b09c007fff",
"displayName": "RaaS test",
"entityType": "Flat List",
"isOOB": false,
"reportAsAServiceEnabled": true,
"category": "Compensation",
"filter": {
REST API Reference | Analytics | 2078

"logicalOperator": "AND",
"filters": [
{
"id": "rptfl000000392db88b015929f8b09c007ffd",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
},
"attributeType": "DIMENSION",
"operator": "Contains",
"value": "a",
"supportedOperators": [
"Contains"
],
"isOptional": false,
"isCaseSensitive": false,
"isEditable": true,
"isOperatorEditable": false
}
],
"secondaryFilterGroup": [],
"exceptionFilterGroup": []
},
"displayAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
],
"charts": [
{
"id": "rppsd000000392db88b015929f8b09c007ff4",
"displayName": "Total Number of Courses By Course Title",
"type": "PIECHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
REST API Reference | Analytics | 2079

"displayName": "Course Title"


}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
},
{
"id": "rppsd0000003bcf439901593a4c2a16007fdb",
"displayName": "Crosstab chart",
"type": "CROSSTABCHART",
"chartAttributes": [
{
"attributeType": "DIMENSION",
"attribute": {
"id": "rptra00000000000000000000000000009001",
"name": "course_name",
"displayName": "Course Title"
}
},
{
"attributeType": "DIMENSION",
"timeRange": "MONTH",
"attribute": {
"id": "rptra00000000000000000000000000009006",
"name": "course_avail_from",
"displayName": "Course Available From"
}
},
{
"attributeType": "METRIC",
"attribute": {
"id": "rptra00000000000000000000000000009117",
"name": "Total_Number_of_Courses",
"displayName": "Total Number of Courses"
}
}
]
}
]
},
"data": [
[
"course_name": "#$%OTHERS#$%",
"Total_Number_of_Courses": "159"
],
[
"course_name": "JavaCourse",
"Total_Number_of_Courses": "2"
],
[
"course_name": "Domain_SabaSupport_course2en_US",
"Total_Number_of_Courses": "2"
],
]
}
Chapter

13
Calendar

Topics: REST endpoints for the calendar data.

• FIND CALENDAR EVENTS


• Appointment
REST API Reference | Calendar | 2082

FIND CALENDAR EVENTS


Overview
Returns the details of the calendar events based on the provided search criteria.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/calendar/search

Calling Options
Table 570: Calling Options

Name Description Sample Value Data Type Required?

@type @type com.saba.ser- String Yes


vices.calendar.
SabaCalendar-
ViewFilter

type ["ALL"] String No


Accepts:
ILTCLASS, BLEN-
DEDOFFERING, VIRTU-
ALCLASS, SABAMEET-
ING, COURSE, CERTI-
FICATION, CUR-
RICULUM, RECURRING-
COURSE, APPOINT-
MENT, INSTRUCT-
ORLED, ALL

context Context. Accepts the ["LEARNER"] String No


following values:
• LEARNER
• CATALOG
• INSTRUCTOR

startDate Start date {"@type":"java.util.Date", String Yes


"time":"2013-05-
01"}
REST API Reference | Calendar | 2083

Name Description Sample Value Data Type Required?

endDate End date {"@type":"java.util.Date", String Yes


"time":"2013-07-
31"}

ownerID Person who is associ- {"@type":"Servi- object No


ated with the event ceObjectRefer-
ence", "id":"per-
sn000000000001031",
"display-
Name":"CTHREE2"}

title Title string No

location Location {"@type":"Servi- object No


ceObjectRefer-
ence",
"id":"locat000000000001000",
"display-
Name":"Loca-
tion1"}

Note: Calendar events search depends upon one of the following context and the privileges
of the logged in user whose certificate is used to call the REST API:
• INSTRUCTOR context returns the records when the logged in user is a Catalog Admin,
People Admin or an Instructor. Instructor can only search self calendar events, while the
Catalog Admin or the People Admin can search calendar events for an instructor passed
in the Request Body.
• LEARNER context can be used with Self, Catalog Admin or the People Admin privileges.
• CATALOG context can only be used for the Catalog Admin and People Admin.

Request Body

{
"@type":"com.saba.calendar.calendarelement.SabaCalendarViewFilter",
"type":[
"ILTCLASS"
],
"context":[
"LEARNER"
],
"endDate":{
"@type":"java.util.Date",
"time":"2016-07-31"
},
"startDate":{
"@type":"java.util.Date",
"time":"2013-05-01"
},
"location":{"@type":"ServiceObjectReference","id":"locat000000000001000"},
"ownerID":{"@type":"ServiceObjectReference","id":"emplo000000000001000"},
"title":"AdvancedJava"

}
REST API Reference | Calendar | 2084

Return Values

[
"list",
[
{
"@type": "com.saba.services.calendar.CalendarElementDetail",
"eventType": "ILTCLASS",
"elementName": "AdvancedJava",
"elementId": "class000000000201603",
"eventId": "timel000000000004503",
"ownerID": "emplo000000000001000",
"locationId": "locat000000000001000",
"locationName": "Location1",
"additionalData": {
"@type": "map",
"locationTimeZone": "tzone000000000000005",
"eventID": "class000000000201603",
"locationName": "Location1",
"locationId": "locat000000000001000",
"transcriptID": "ofapr000000000004523",
"registrationID": "regdw000000000004323",
"eventName": "AdvancedJava",
"moduleID": "regmd000000000003915",
"courseID": "cours000000000200564"
},
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1432553400000,
"locale": "25.05.2015",
"timeInLocale": "5:00 PM",
"dateInStandardFormat": "05/25/2015",
"timeInStandardFormat": "5:00 PM",
"customTimeZoneDate": 0,
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"timeInUserTimeZone": "4:30 AM",
"dateInUserTimeZone": "25.05.2015"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1432524600000,
"locale": "25.05.2015",
"timeInLocale": "9:00 AM",
"dateInStandardFormat": "05/25/2015",
"timeInStandardFormat": "9:00 AM",
"customTimeZoneDate": 0,
"dateInCustomTimeZone": null,
"timeInCustomTimeZone": null,
"timeInUserTimeZone": "8:30 PM",
"dateInUserTimeZone": "24.05.2015"
}
}
]
]
REST API Reference | Calendar | 2085

Appointment
REST endpoints for the appointment data.

GET DETAILS OF A PARTICULAR APPOINTMENT

Overview
Returns complete information about an appointment based on the Appointments ID that is
passed as a parameter value.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/calendar/appointment/:id

Calling Options
Table 571: Calling Options

Name Description Sample Value Data Type Required?

id Appointment's ID evapp000000000001000 string Yes

Return Values

{
"@type":"com.saba.services.calendar.RestAppointmentDetail",
"subject":"Appointment_43011725",
"startDate":{
"@type":"com.saba.customtypes.DateWithLocale",
"date":1644897600000,
"locale":"02/15/2022",
"timeInLocale":"9:30 AM",
"dateInUserTimeZone":"02/14/2022",
"timeInUserTimeZone":"8:00 PM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"9:30 AM",
"dateInStandardFormat":"02/15/2022"
},
"startTime":"9:30",
"endDate":{
"@type":"com.saba.customtypes.DateWithLocale",
REST API Reference | Calendar | 2086

"date":1644935400000,
"locale":"02/15/2022",
"timeInLocale":"8:00 PM",
"dateInUserTimeZone":"02/15/2022",
"timeInUserTimeZone":"6:30 AM",
"dateInCustomTimeZone":null,
"timeInCustomTimeZone":null,
"customTimeZoneDate":0,
"timeInStandardFormat":"8:00 PM",
"dateInStandardFormat":"02/15/2022"
},
"endTime":"20:00",
"timeZone":{
"@type":"com.saba.i18n.entity.TimeZoneReference",
"detail":null,
"id":"tzone000000000000005",
"displayName":"(GMT-08:00) Pacific Time (US & Canada), Tijuana",
"locale":null,
"primaryKey":{
"@type":"com.saba.persist.ObjectId",
"id":"tzone000000000000005",
"prefix":"tzone"
}
},
"note":"SampleNote"
}

CREATE A NEW APPOINTMENT

Overview
Creates a new appointment.
Note: Catalog admins and people admins can create appointments for other users by
specifying the owner details in the owner field.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/calendar/appointment?failOnConflict=:failOnConflict

Calling Options
Table 572: Calling Options

Name Description Sample Value Data Type Required?

failOnConflict Flag to indicate if the true string No


Appointment needs
conflict check
REST API Reference | Calendar | 2087

Name Description Sample Value Data Type Required?

@type type appointment de- com.saba.ser- string Yes


tail vices.calen-
dar.RestAppoint-
mentDetail

subject Appointment subject Appointment string Yes


subject

startDate Start Date of Appoint- {"@type":"date", string Yes


ment "time":"2022-12-
31"}

startTime Start timings of Ap- 09:00 string Yes


pointment in HH:mm
format

endDate End Date of Appoint- {"@type":"date", string Yes


ment "time":"2022-12-
31"}

endTime End timings of Ap- 17:00 string Yes


pointment in HH:mm
format

timeZone Timezone's ID {"id": string Yes


"tzone000000000000005",ds
i-
playName":
"(GMT-08:00) Pa-
cific Time (US &
Canada),
Tijuana"}

note Note to be added on string No


Appointment

Request Body

{
"@type":"com.saba.services.calendar.RestAppointmentDetail",
"subject":"Appointment subject",
"startDate":{
"@type":"date",
"time":"2018-12-30"
},
"startTime":"09:15",
"endDate":{
"@type":"date",
"time":"2018-12-30"
},
"endTime":"20:00",
"timeZone":{
"@type":"com.saba.i18n.entity.TimeZoneReference",
"id":"tzone000000000000005",
"displayName":"(GMT-08:00) Pacific Time (US & Canada), Tijuana"
REST API Reference | Calendar | 2088

},
"owner":{
"@type":"ServiceObjectReference",
"id":"emplo000000000205708",
"displayName":"usernmae"
},
"note":"SampleNote"
}

Return Values

{
"id":"evapp000000000200094",
"displayName":"Appointment_43011725",

"href":"https://<hostname-api.sabacloud.com>/v1/calendar/appointment/evapp000000000200094"
}

UPDATE AN EXISTING APPOINTMENT

Overview
Updates an existing appointment based on the Appointment's ID that is passed as the
parameter.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/calendar/appointment/:id?failOnConflict=:failOnConflict

Calling Options
Table 573: Calling Options

Name Description Sample Value Data Type Required?

id Appointment's ID evapp000000000001000 string Yes

failOnConflict Flag to indicate if the true string No


Appointment needs
conflict check

@type type appointment de- com.saba.ser- string Yes


tail vices.calen-
dar.RestAppoint-
mentDetail
REST API Reference | Calendar | 2089

Name Description Sample Value Data Type Required?

subject Appointment subject Appointment string Yes


subject

startDate Start Date of Appoint- {"@type":"date", string Yes


ment "time":"2022-12-
31"}

startTime Start timings of Ap- 09:00 string Yes


pointment in HH:mm
format

endDate End Date of Appoint- {"@type":"date", string Yes


ment "time":"2022-12-
31"}

endTime End timings of Ap- 17:00 string Yes


pointment in HH:mm
format

timeZone Timezone's ID {"id": string Yes


"tzone000000000000005",ds
i-
playName":
"(GMT-08:00) Pa-
cific Time (US &
Canada),
Tijuana"}

note Note to be added on string No


Appointment

Request Body

{
"@type":"com.saba.services.calendar.RestAppointmentDetail",
"subject":"Appointment subject",
"startDate":{
"@type":"date",
"time":"2018-12-30"
},
"startTime":"09:15",
"endDate":{
"@type":"date",
"time":"2018-12-30"
},
"endTime":"20:00",
"timeZone":{
"@type":"com.saba.i18n.entity.TimeZoneReference",
"id":"tzone000000000000005",
"displayName":"(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
"note":"SampleNote"
}
DELETE AN EXISTING APPOINTMENT

Overview
Deletes an existing appointment based on the Appointment's ID that is passed as a parameter
value.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/calendar/appointment/:id

Calling Options
Table 574: Calling Options

Name Description Sample Value Data Type Required?

id Appointment's ID evapp000000000001000 string Yes


Chapter

14
Platform

Topics: REST endpoints for the platform data.

• Data Extract
• Data Import
• IP Address Management
APIs
REST API Reference | Platform | 2092

Data Extract
REST endpoints for the platform data.

GET LIST OF DATA EXTRACT JOBS

Overview
Returns the list of available data extract jobs.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/dataextract/jobsList?count=:count&startPage=:startPage

Calling Options
Table 575: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"startIndex": 1,
"results": [
{
"name": "test",
"id": "exdfn0000001e8a663a0152449cd6ff006a51",
"fileName": "test.csv",
"separator": ",",
"description": "test",
"encryptEnabled": true,
"status": "ENABLED",
"schedule": {
"timeZone": "India Standard Time",
"nextFireTime": "2016-01-24T08:30:00.000+0530",
REST API Reference | Platform | 2093

"prevFireTime": "1970-01-01T05:29:59.999+0530",
"cronExprMessage": "At 8:30 AM, only on Sunday",
"endDate": "2016-01-28T00:00:00.000+0530",
"startDate": "2016-01-20T08:30:00.000+0530"
},
"queries": [
{
"id": "exjqy0000001e8a663a0152449cd6ff006a50",
"queryId": "exqry0000003887daaf01484c6829e7007ff7",
"queryName": "Offering Session"
}
],
"siteName": "SabaSite",
"createdOn": "2016-01-15T16:19:10.000+0530",
"updatedBy": "admin",
"updatedOn": "2016-01-15T16:19:10.000+0530",
"createdBy": "admin"
},
{
"name": "test2",
"id": "exdfn0000001e8a663a0152449cd6ff0065d1",
"fileName": "tyest2",
"separator": ",",
"description": "test",
"encryptEnabled": true,
"status": "ENABLED",
"schedule": null,
"queries": [
{
"id": "exjqy0000001e8a663a0152449cd6ff0065d0",
"queryId": "exqry0000003887daaf01484c6829e70079af",
"queryName": "Utilization"
}
],
"siteName": "SabaSite",
"createdOn": "2016-01-15T16:28:25.000+0530",
"updatedBy": "admin",
"updatedOn": "2016-01-15T16:28:25.000+0530",
"createdBy": "admin"
}
],
"facets": null,
"hasMoreResults": false,
"totalResults": 2,
"itemsPerPage": 10
}

SCHEDULE DATA EXTRACT JOB

Overview
Allows scheduling a data extract job.

Requires OAuth
No

Method
POST
REST API Reference | Platform | 2094

URL
https://<hostname-api.sabacloud.com>/v1/dataextract/job/:id/scheduleJob

Calling Options
Table 576: Calling Options

Name Description Sample Value Data Type Required?

@type @type of request deschedule string Yes


body

id Data Extract Job's ID string Yes

occurenceType [ "DAILY", enumerated Yes


Frequency of data ex-
"WEEKLY",
tract.
"MONTHLY" ]
Input Frequency
Fields

oc- DALIY WEEKLY MONTHLY


curen-
ce-
Type

startDate Re- Re- Re-


qure
id quried quired

end- Re- Re- Re-


Date qure
id quried quired

week
ylMask null Re- null
quried

day- 0 0 Re-
Of- quired
Month

startDate {"@type":"date", string Yes


Start Date of data ex-
tract "datetime":"2016-
01-22 7:30:00"}

endDate {"@type":"date", string Yes


End Date of data ex-
tract "datetime":"2017-
01-22 7:30:00"}

dayOfMonth 0 string No
Used only for monthly
extract. Value can be
from 1 to 31
REST API Reference | Platform | 2095

Name Description Sample Value Data Type Required?

weeklyMask 0,0,0,0,0,0,0 string No


Used only for weekly
extract. First bit rep-
resents Monday and
last bit represents
Sunday. Use only for
weekly occurrence,
otherwise the value
should be null.

Request Body

{
"@type": "deschedule",
"occurenceType": "WEEKLY",
"startDate": {
"@type": "date",
"datetime": "2016-01-20 8:30:00"
},
"endDate": {
"@type": "date",
"datetime": "2016-01-28 00:00:00"
},
"weeklyMask": "0,0,0,0,0,0,1,",
"dayOfMonth": 0
}

Return Values

{
"@type": "com.saba.integration.dataextract.presentation.DataExtractJobInfo",
"name": "test3",
"id": "exdfn0000001e8a663a0152449cd6ff00658c",
"fileName": "test3.csv",
"separator": ",",
"description": "test",
"encryptEnabled": true,
"status": "ENABLED",
"schedule": {
"@type": "com.saba.integration.dataextract.presentation.DataExtractJobScheduleInfo",

"timeZone": "India Standard Time",


"nextFireTime": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1458784800000,
"locale": "03/24/2016",
"timeInLocale": "7:30 AM",
"dateInUserTimeZone": "03/23/2016",
"timeInUserTimeZone": "7:00 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "7:30 AM",
"dateInStandardFormat": "03/24/2016"
},
"prevFireTime": {
REST API Reference | Platform | 2096

"@type": "com.saba.customtypes.DateWithLocale",
"date": -1,
"locale": "01/01/1970",
"timeInLocale": "5:29 AM",
"dateInUserTimeZone": "12/31/1969",
"timeInUserTimeZone": "3:59 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "5:29 AM",
"dateInStandardFormat": "01/01/1970"
},
"cronExprMessage": "At 7:30 AM, only on Thursday",
"endDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1485050400000,
"locale": "01/22/2017",
"timeInLocale": "7:30 AM",
"dateInUserTimeZone": "01/21/2017",
"timeInUserTimeZone": "6:00 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "7:30 AM",
"dateInStandardFormat": "01/22/2017"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1458612000000,
"locale": "03/22/2016",
"timeInLocale": "7:30 AM",
"dateInUserTimeZone": "03/21/2016",
"timeInUserTimeZone": "7:00 PM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "7:30 AM",
"dateInStandardFormat": "03/22/2016"
}
},
"queries": [
"list",
[
{
"@type": "com.saba.integration.dataextract.presentation.DataExtractQueryInfo",
"id": "exjqy0000001e8a663a0152449cd6ff00658b",
"queryId": "exqry00000000e827efc014936b79a2101fc1",
"queryName": "Course Details"
}
]
],
"siteName": "SabaSite",
"createdOn": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1452855541000,
"locale": "01/15/2016",
"timeInLocale": "4:29 PM",
"dateInUserTimeZone": "01/15/2016",
"timeInUserTimeZone": "2:59 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
REST API Reference | Platform | 2097

"timeInStandardFormat": "4:29 PM",


"dateInStandardFormat": "01/15/2016"
},
"updatedBy": "admin",
"updatedOn": {
"@type": "com.saba.customtypes.DateWithLocale",
"date": 1452855541000,
"locale": "01/15/2016",
"timeInLocale": "4:29 PM",
"dateInUserTimeZone": "01/15/2016",
"timeInUserTimeZone": "2:59 AM",
"timeInCustomTimeZone": null,
"dateInCustomTimeZone": null,
"customTimeZoneDate": 0,
"timeInStandardFormat": "4:29 PM",
"dateInStandardFormat": "01/15/2016"
},
"createdBy": "admin"
}

Data Import
REST endpoints for the platform data.
Note: Data Import API is a paid service. Please contact Cornerstone SBX support for more
information.

MONITOR SCHEDULED JOB

Overview
Returns the monitoring details of a given scheduled data import job.
Note: This API does not include jobs created by marketplace connectors such as Workday,
Lynda etc.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/:jobId/monitor?startPage=:startPage&count=:count&q=(:query)
Supported search attributes:

Attribute Name Description Required Example


REST API Reference | Platform | 2098

objectName This search criteria No object-


attribute will accept Name%3D%3DSocial
object name as value Content Import
and will return all sub
objects in monitoring
detail of a given ob-
ject type.

startDateAfter This search criteria No startDateAfter%3D%3D2017-


attribute will accept 01-01
date as value in yyyy-
MM-dd format and will
return object sub ob-
jects in monitoring
detail having trigger-
ing start date after
given date.

startDateBefore This search criteria No startDate-


attribute will accept Before%3D%3D2017-
date as value in yyyy- 01-01
MM-dd format and will
return object sub ob-
jects in monitoring
detail having trigger-
ing start date before
given date.

inputFile This search criteria No inputFile%3D%3DDo-


attribute will accept main.csv
file name as a value
and will return all sub
objects in monitoring
detail having input file
name as a given
value.

Calling Options
Table 577: Calling Options

Name Description Sample Value Data Type Required?

jobid Job's ID im- string Yes


pjb00000047922c9
e015d0c516191007ff9

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Platform | 2099

Return Values

{
"results": [
{
"endDate": "2017-07-11",
"warnings": "0",
"failed": "0",
"importObject": "Social Content Import",
"error": null,
"inputFile": "socialcontentimport.csv",
"processed": "1",
"successPreProcess": "1",
"inserted": "1",
"job_id": "impjb0000002d50bc07015d30d6db58007fff",
"totalPreProcess": "1",
"id": "vimpp000000000001801",
"failedPreProcess": "1",
"updated": "0",
"startDate": "2017-07-11",
"status": "Completed",
"startTime" : "11:42:00 PM",
"endTime" : "11:42:00 PM",
"timezone" : "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
},
{
"endDate": "2017-07-11",
"warnings": "0",
"failed": "0",
"importObject": "Training Unit",
"error": null,
"inputFile": "trainingunit.csv",
"processed": "1",
"successPreProcess": "1",
"inserted": "0",
"job_id": "impjb0000002d50bc07015d30d6db58007fff",
"totalPreProcess": "1",
"id": "vimpp000000000001800",
"failedPreProcess": "1",
"updated": "1",
"startDate": "2017-07-11",
"status": "Completed",
"startTime" : "11:42:00 PM",
"endTime" : "11:42:00 PM",
"timezone" : "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
}
],
"facets": null,
"startIndex": 1,
"totalResults": 2,
"hasMoreResults": false,
"itemsPerPage": 10
}

MONITOR SCHEDULED JOB - POST BASED

Overview
Returns the monitoring details of a given scheduled data import job using the POST method.
REST API Reference | Platform | 2100

Note: This API does not include jobs created by marketplace connectors such as Workday,
Lynda etc.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/:jobId/monitor/searchQuery?startPage=:startPage&count=:count
Supported search attributes:

Attribute Name Description Required Example

objectName This search criteria No object-


attribute will accept Name%3D%3DSocial
object name as value Content Import
and will return all sub
objects in monitoring
detail of a given ob-
ject type.

startDateAfter This search criteria No startDateAfter%3D%3D2017-


attribute will accept 01-01
date as value in yyyy-
MM-dd format and will
return object sub ob-
jects in monitoring
detail having trigger-
ing start date after
given date.

startDateBefore This search criteria No startDate-


attribute will accept Before%3D%3D2017-
date as value in yyyy- 01-01
MM-dd format and will
return object sub ob-
jects in monitoring
detail having trigger-
ing start date before
given date.

inputFile This search criteria No inputFile%3D%3DDo-


attribute will accept main.csv
file name as a value
and will return all sub
objects in monitoring
detail having input file
name as a given
value.
REST API Reference | Platform | 2101

Calling Options
Table 578: Calling Options

Name Description Sample Value Data Type Required?

jobid Job's ID im- string Yes


pjb00000047922c9
e015d0c516191007ff9

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Request Body

{
"conditions" : [
{
"name" : "startDateAfter",
"operator":"==",
"value":"2017-01-01"
},
{
"name" : "startDateBefore",
"operator":"==",
"value":"2017-03-01"
},
{
"name" : "objectName",
"operator" : "==",
"value" : "Social Content Import"
},
{
"name" : "inputFile",
"operator" : "==",
"value" : "socialcontentimport.csv"
}
]
}

Return Values

{
"results": [
{
"endDate": "2017-02-11",
"warnings": "0",
"failed": "0",
"importObject": "Social Content Import",
"error": null,
"inputFile": "socialcontentimport.csv",
"processed": "1",
"successPreProcess": "1",
REST API Reference | Platform | 2102

"inserted": "1",
"job_id": "impjb00000047922c9e015d0c516191007ff9",
"totalPreProcess": "1",
"id": "vimpp000000000001801",
"failedPreProcess": "1",
"updated": "0",
"startDate": "2017-02-11",
"status": "Completed",
"startTime" : "11:42:00 PM",
"endTime" : "11:42:00 PM",
"timezone" : "(GMT-08:00) Pacific Time (US & Canada), Tijuana"
}
],
"facets": null,
"startIndex": 1,
"totalResults": 1,
"hasMoreResults": false,
"itemsPerPage": 10
}

GET ALL SCHEDULED DATA IMPORT JOBS

Overview
Returns the details of all the available scheduled data import jobs with job id, job name and
href url for detail API.
Note: This API does not include jobs created by marketplace connectors such as Workday,
Lynda etc.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob?startPage=:startPage
&count=:count&q=(:criteria_field==:field_value)&includeDetails=:includeDetails

Calling Options
Table 579: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | Platform | 2103

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. string No


the field name.
You can use object-
Name, jobName for
the criteria_field.

field_value The search value for string No


the specified search
criteria.

includeDetails Include details in the false boolean No


API output

Supported Search Attributes


The following search attributes are provided:

Attribute Description Re- Example


Name quired

object- This search criteria attribute No objectName%3D%3DSocial Content Im-


Name will accept object name as port
value and will return all
scheduled jobs of provided
object.

jobName This search criteria attribute No jobName%3D%3Djob1


will accept job name as value
and will return all jobs
matching name of jobs.

API Attributes mapping with the UI:


Below is a UI – API attribute mapping. Attributes which are marked as NA remains inapplicable
for a given frequency type.
• frequency attribute remains identical in API to identify whether it's a Daily, Weekly or a
Monthly frequency with value as 1, 2 and 3 respectively.
• timeFrequency remains applicable only when the frequency type is Daily.
• weeklyMask and dayOfMonth remain applicable only when the frequency type is Weekly
and Monthly respectively.
Sample UI – API attribute mapping is mentioned in the table below:

Frequency UI Day Of API Attributes


Month/Every
UI frequency weeklyMask timeFre- dayOfMonth
quency
REST API Reference | Platform | 2104

Daily 24 Hour 1 NA 24 NA

Daily 12 Hour 12

Daily 6 Hour 6

Weekly Monday 2 1000000 NA NA

Weekly Monday, Tues- 1100000


day

Monthly 1 3 NA NA 1

Monthly 2 2

Return Values

{
"startIndex": 1,
"results": [
{

"href":"https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/impjb0000005689fe330158ddf16945007ff5",

"id": "impjb0000005689fe330158ddf16945007ff5",
"displayName": "UB_2"
},
{

"href":"https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/impjb0000001cf64d50015b5b8b6d14007ea8",

"id": "impjb0000001cf64d50015b5b8b6d14007ea8",
"displayName": "StorySFTP"
}
],
"totalResults": 72,
"hasMoreResults": true,
"itemsPerPage": 2,
"facets": null
}

GET ALL SCHEDULED DATA IMPORT JOBS - POST BASED

Overview
Returns the details of all the available scheduled data import jobs with job id, job name and
href url for detail API.
Note: This API does not include jobs created by marketplace connectors such as Workday,
Lynda etc.

Requires OAuth
No
REST API Reference | Platform | 2105

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/searchQuery
?includeDetails=:includeDetails&startPage=:startPage&count=:count

Calling Options
Table 580: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

conditions The search condition. [{"name": "object- object Yes


Name", "operat-
You can use object-
or": "==","value":
Name, jobName for
"Training
the criteria_field.
Unit"},{"name":
"jobName","oper-
ator": "==","value":
"Job1"}]

includeDetails Include details in the false boolean No


API output

Supported Search Attributes


The following search attributes are provided:

Attribute Description Re- Example


Name quired

object- This search criteria attribute No objectName%3D%3DSocial Content Im-


Name will accept object name as port
value and will return all
scheduled jobs of provided
object.

jobName This search criteria attribute No jobName%3D%3Djob1


will accept job name as value
and will return all jobs
matching name of jobs.

API Attributes mapping with the UI:


REST API Reference | Platform | 2106

Below is a UI – API attribute mapping. Attributes which are marked as NA remains inapplicable
for a given frequency type.
• frequency attribute remains identical in API to identify whether it's a Daily, Weekly or a
Monthly frequency with value as 1, 2 and 3 respectively.
• timeFrequency remains applicable only when the frequency type is Daily.
• weeklyMask and dayOfMonth remain applicable only when the frequency type is Weekly
and Monthly respectively.
Sample UI – API attribute mapping is mentioned in the table below:

Frequency UI Day Of API Attributes


Month/Every
UI frequency weeklyMask timeFre- dayOfMonth
quency

Daily 24 Hour 1 NA 24 NA

Daily 12 Hour 12

Daily 6 Hour 6

Weekly Monday 2 1000000 NA NA

Weekly Monday, Tues- 1100000


day

Monthly 1 3 NA NA 1

Monthly 2 2

Request Body

{
"conditions" : [
{
"name" : "objectName",
"operator":"==",
"value":"Organization, External"
},
{
"name" : "jobName",
"operator":"==",
"value":"UB_2"
}]
}

Return Values

{
"startIndex": 1,
"results": [
{

"href":"https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/impjb0000005689fe330158ddf16945007ff5",

"id": "impjb0000005689fe330158ddf16945007ff5",
REST API Reference | Platform | 2107

"displayName": "UB_2"
}
],
"totalResults": 1,
"hasMoreResults": true,
"itemsPerPage": 10,
"facets": null
}

GET DETAILS OF A SCHEDULED DATA IMPORT JOB

Overview
Returns the details of a given scheduled data import job.
Note: This API does not include jobs created by marketplace connectors such as Workday,
Lynda etc.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/:jobId

Calling Options
Table 581: Calling Options

Name Description Sample Value Data Type Required?

jobid Job's ID im- string Yes


pjb00000047922c9
e015d0c516191007ff9

Return Values

{
"jobName": "UB_2",
"weeklyMask": "1100010",
"endDate": "2037-01-01",
"timezone": "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi",
"subJobs": [
{
"id": "isbjb0000005689fe330158ddf16945007ff4",
"prefix": "Organization, External",
"objectName": "Organization, External",
"sequence": "1"
}
REST API Reference | Platform | 2108

],
"frequency": "2",
"timeFrequency": "1",
"dayOfMonth": "1",
"delimiter": ",",
"jobDescription": "new",
"id": "impjb00000047922c9e015d0c516191007ff9",
"time": "19:30:00",
"startDate": "2016-12-08"
}

TRIGGER A SCHEDULED JOB

Overview
Triggers a scheduled job. This API only initiates the import process. If there are other files
being imported, your request will be queued. If there are no other files being imported, then
the import will proceed as normal. Import happens asynchronously. Successful response
from the API only means the request was initiated. You will need to invoke the MONITOR
SCHEDULED JOB API to check the status of the import. You can only invoke this API once
every 15 minutes. The Data Import Automation service will be disabled, if the service is invoked
more frequently than 15 minutes.
Note: To use the Bulk Import API, the scheduled job must be created manually. This API only
allows you to automatically trigger the scheduled job and not create one. Cornerstone SBX
can run only one Data Import Job at a time. This holds true for imports initiated manually,
through scheduled jobs, marketplace connectors, or this API.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/:jobId/trigger

Calling Options
Table 582: Calling Options

Name Description Sample Value Data Type Required?

jobid Job's ID im- string Yes


pjb00000047922c9
e015d0c516191007ff9

Return Values

200
REST API Reference | Platform | 2109

IP Address Management APIs


REST endpoints for the platform data.

ADD AN IP RANGE

Overview
The API adds the provided IP range. It throws exceptions if the IP Address format is invalid
or if the provided IP range is overlapping with the IP ranges already created.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/ipmanagement/add

Calling Options
Table 583: Calling Options

Name Description Sample Value Data Type Required?

copyToMicroSite false boolean No


If enabled, the IP
range will be added to
all the microsites un-
der the main site.
Note: Default value is
false.

Request Body

{
"fromIP": "50.237.97.60",
"toIP": "50.237.97.60",
"type": "denylist",
"microSite": "m1"
}
REST API Reference | Platform | 2110

Return Values

{
"status": success
}

RETRIEVE ADDED IPs

Overview
The API lists the IPs added.
Note: By default this API lists the IPs added for denylist as well as allowlist.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/ipmanagement/list?pageNumber=1&pageSize=2

Calling Options
Table 584: Calling Options

Name Description Sample Value Data Type Required?

pageNumber 1 integer No
The start page num-
ber for the list of re-
cords.
Note: Default value is
1.

pageSize The number of re- 10 integer No


cords per page.
Note: Default value is
10.

microSiteKey This is the microsite default string No


URL identifier.
Note: Default value is
default which will up-
date for main site
only.
REST API Reference | Platform | 2111

Name Description Sample Value Data Type Required?

type Accepts: denylist / al- denylist string No


lowlist. If not provided,
the currently set valid-
ation type from the
system will be con-
sidered.

Return Values

{
"ipList": [
"list",
[
{
"fromIP": "50.237.97.54",
"toIP": "50.237.97.54",
"type": "denylist",
"microSite": "default"
},
{
"fromIP": "50.237.97.53",
"toIP": "50.237.97.53",
"type": "denylist",
"microSite": "m7"
}
]
],
"pageNumber": 1,
"pageSize": 2,
"totalRecords": 9,
"hasAdditionalPages": true
}

DELETE IP RANGE

Overview
The API deletes the provided IP range.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/ipmanagement/delete?fromIP=<IPAddress>&toIP=<IPAddress>
Calling Options
Table 585: Calling Options

Name Description Sample Value Data Type Required?

fromIP 50.237.97 integer Yes


The From IP address.

toIP The To IP address. 50.237.97.60 integer Yes

type Accepts: denylist / al- denylist string No


lowlist. If not provided,
the currently set valid-
ation type from the
system will be con-
sidered.

microSiteKey This is the microsite default string No


URL identifier.

deleteFromMi- If enabled, the IP false boolean No


croSites range will be deleted
from all the micros-
ites under the main
site.
If "deleteFromMicroS-
ites=false" and no mi-
crosite is passed, and
if the passed IP range
is found on the de-
fault microsite, it de-
letes else throws an
error.
If "deleteFromMicroS-
ites=true" and no mi-
crosite passed, and if
the passed IP range is
found on any micros-
ite, it deletes else
throws an error.
Note: Default value is
false.

Return Values

{
"status": success
}
Chapter

15
Bulk APIs

Topics: REST endpoints for the platform data.

• GET AUTHENTICATION While SBX has a large variety of APIs, the GET APIs do not scale
TOKEN FOR BULK APIS - beyond a few thousand records. To ingest large chunks of
SBX data periodically using APIs, use Bulk APIs. Bulk APIs are
USING THE 2-LEGGED OAUTH
purpose-built APIs to retrieve large data sets from SBX. You
• PREPARE CALLS can use these APIs to sync data more than once a day. Bulk
• GET STATUS OF JOB APIs can be useful in building headless applications and richer
• FETCH DATA URL integrations.
Note: By default, this feature is disabled. To enable this
feature, contact your Account Manager.
After this feature is enabled, the System Admin needs to
enable the Bulk APIs service under System > Services >
Foundation and generate the required credentials. For more
details on how to get the required credentials see Bulk API
Configuration.
REST API Reference | Bulk APIs | 2114

GET AUTHENTICATION TOKEN FOR BULK APIS - USING


THE 2-LEGGED OAUTH
Overview
You can get the required credentials (Client ID and the secret) using steps available here.
After you get the required credentials use this 2-legged OAuth API.

Requires OAuth
No

Content-Type
application/x-www-form-urlencoded

Method
POST

URL
https://<hostname>-api.sabacloud.com/v1/oauth2/token

Calling Options
Table 586: Calling Options

Name Description Sample Value Data Type Required?

The client Identity string Yes


client_id

client_secret The client secret string Yes

scope scope of the call: ex- string Yes


tract-api

grant_type client_credentials string Yes

Return Values:

{
"access_token": "UUE........T0",
"expires_in": 604800000,
"token_type": "Bearer",
"scope": "extract-api"
}

Note: The format of the Authorization header is as specified below:


REST API Reference | Bulk APIs | 2115

Since the access token type is Bearer, the value of the Authorization header should start
with Bearer followed by a space followed by the access_token value:

Authorization = Bearer 1*SP ACCESS_TOKEN

PREPARE CALLS
Overview
Returns the execution ID for each prepare call.
Note: Bulk API calls are asynchronous.

Requires OAuth
Yes (refer GET AUTHENTICATION TOKEN FOR BULK APIS - USING THE 2-LEGGED OAUTH on
page 2114)

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/<Courses or Course_Tags or
Course_Skills or Course_Languages or Course_Categories or Course_AudienceTypes or
Course_Assignments or Course_Completions>

Calling Options
Table 587: Calling Options

Name Description Sample Value Data Type Required?

entityParams Indicate the query string Yes


name and parameter
details. See the ex-
amples below.

Courses
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Courses
Request Body:

{
"entityParams": [
{
"queryName": "Courses",
"paramDetailList": [
{
"attribute": "domain_id",
"operator": "=",
REST API Reference | Bulk APIs | 2116

"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "custom8",
"operator": "=",
"value": "custom8",
"type": "String"
REST API Reference | Bulk APIs | 2117

},
{
"attribute": "custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "discontinued_from",
"operator": ">=",
"value": "2024-10-10T00:00:00Z",
"type": "String"
},
{
"attribute": "updated_on",
"operator": ">=",
"value": "2020-10-10T00:00:00Z",
"type": "String"
},
{
"attribute": "created_on",
"operator": ">=",
"value": "2020-10-10T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
}
]
}
]
}

Note: paramDetailList in the above example mentions all the possible conditions or filters.
Return Values:

{
"executionId": "blext000000000001321"
}

Course_Tags
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_Tags
Request Body:

{
"entityParams": [
{
"queryName": "Course_Tags",
"paramDetailList": [
{
REST API Reference | Bulk APIs | 2118

"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "course_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
REST API Reference | Bulk APIs | 2119

"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
}
]
}
]
}

Return Values:

{
"executionId": "blext000000000001322"
}

Course_Skills
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_Skills
Request Body:

{
"entityParams": [
{
"queryName": "Course_Skills",
"paramDetailList": [
{
"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
REST API Reference | Bulk APIs | 2120

{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "course_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
REST API Reference | Bulk APIs | 2121

"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
}
]
}
]
}}

Return Values:

{
"executionId": "blext000000000001323"
}

Course_Languages
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_Languages
Request Body:

{
"entityParams": [
{
"queryName": "Course_Languages",
"paramDetailList": [
{
"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
REST API Reference | Bulk APIs | 2122

},
{
"attribute": "course_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
REST API Reference | Bulk APIs | 2123

"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
}
]
}
]
}

Return Values:

{
"executionId": "blext000000000001324"
}

Course_Categories
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_Categories
Request Body:

{
"entityParams": [
{
"queryName": "Course_Categories",
"paramDetailList": [
{
"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "course_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
REST API Reference | Bulk APIs | 2124

"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
}
]
}
]
}
REST API Reference | Bulk APIs | 2125

Return Values:

{
"executionId": "blext000000000001325"
}

Course_AudienceTypes
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_AudienceTypes
Request Body:

{
"entityParams": [
{
"queryName": "Course_AudienceTypes",
"paramDetailList": [
{
"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "course_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
REST API Reference | Bulk APIs | 2126

"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
}
]
}
]
}

Return Values:

{
"executionId": "blext000000000001326"
}

Course_Assignments
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_Assignments
REST API Reference | Bulk APIs | 2127

Request Body:

{
"entityParams": [
{
"queryName": "Course_Assignments",
"paramDetailList": [
{
"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "course_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
REST API Reference | Bulk APIs | 2128

"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "person_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "person_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "person_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "person_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "person_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "person_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "person_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "person_custom5",
"operator": "=",
"value": "custom5",
REST API Reference | Bulk APIs | 2129

"type": "String"
},
{
"attribute": "person_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "person_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "person_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "person_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "person_type",
"operator": "=",
"value": "100",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000001",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "en_US",
"type": "String"
},
{
"attribute": "assignment_updated_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "assignment_created_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
REST API Reference | Bulk APIs | 2130

{
"attribute": "assigned_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "include_terminated",
"operator": "=",
"value": "",
"type": "String"
}
]
}
]
}

Return Values:

{
"executionId": "blext000000000001327"
}

Course_Completions
https://<hostname-api.sabacloud.com>/v1/extracts/prepare/Course_Completions
Request Body:

{
"entityParams": [
{
"queryName": "Course_Completions",
"paramDetailList": [
{
"attribute": "course_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "course_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "course_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
},
{
"attribute": "course_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "course_custom2",
"operator": "=",
REST API Reference | Bulk APIs | 2131

"value": "custom2",
"type": "String"
},
{
"attribute": "course_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "course_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "course_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "course_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "course_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "course_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "course_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "person_domain_id",
"operator": "=",
"value": "domin000000000000001",
"type": "String"
},
{
"attribute": "person_domain_name",
"operator": "=",
"value": "world",
"type": "String"
},
{
"attribute": "person_custom0",
"operator": "=",
"value": "custom0",
"type": "String"
REST API Reference | Bulk APIs | 2132

},
{
"attribute": "person_custom1",
"operator": "=",
"value": "custom1",
"type": "String"
},
{
"attribute": "person_custom2",
"operator": "=",
"value": "custom2",
"type": "String"
},
{
"attribute": "person_custom3",
"operator": "=",
"value": "custom3",
"type": "String"
},
{
"attribute": "person_custom4",
"operator": "=",
"value": "custom4",
"type": "String"
},
{
"attribute": "person_custom5",
"operator": "=",
"value": "custom5",
"type": "String"
},
{
"attribute": "person_custom6",
"operator": "=",
"value": "custom6",
"type": "String"
},
{
"attribute": "person_custom7",
"operator": "=",
"value": "custom7",
"type": "String"
},
{
"attribute": "person_custom8",
"operator": "=",
"value": "custom8",
"type": "String"
},
{
"attribute": "person_custom9",
"operator": "=",
"value": "custom9",
"type": "String"
},
{
"attribute": "person_type",
"operator": "=",
"value": "100",
"type": "String"
},
{
REST API Reference | Bulk APIs | 2133

"attribute": "internal_persons",
"operator": "=",
"value": "",
"type": "String"
},
{
"attribute": "external_persons",
"operator": "=",
"value": "",
"type": "String"
},
{
"attribute": "internal_and_external",
"operator": "=",
"value": "",
"type": "String"
},
{
"attribute": "course_discontinuedfrom",
"operator": "!=",
"value": "2023-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "course_locale_id",
"operator": "=",
"value": "local000000000000002",
"type": "String"
},
{
"attribute": "course_locale_code",
"operator": "=",
"value": "fr_FR",
"type": "String"
},
{
"attribute": "completion_updated_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "completion_created_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "marked_completed_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "marked_ended_on",
"operator": "!=",
"value": "2024-04-25T00:00:00Z",
"type": "String"
},
{
"attribute": "include_terminated",
"operator": "=",
REST API Reference | Bulk APIs | 2134

"value": "",
"type": "String"
}
]
}
]
}

Return Values:

{
"executionId": "blext000000000001328"
}

GET STATUS OF JOB


Overview
Returns the current status of the job.

Requires OAuth
Yes (refer GET AUTHENTICATION TOKEN FOR BULK APIS - USING THE 2-LEGGED OAUTH on
page 2114)

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/extracts/status/:ExecutionID

Calling Options
Table 588: Calling Options

Name Description Sample Value Data Type Required?

ExecutionID The execution ID of blext000000000001145 string Yes


the job.

Return Values

For successful:
{
"status": "SUCCESSFUL",
"error": null
}
For In progress:
{
"status": "IN_PROGRESS_QUERY_EXECUTION",
REST API Reference | Bulk APIs | 2135

"error": null
}
For failed:
{
"status": "FAILED",
"error": "ORA-00920: invalid relational operator\n"
}

FETCH DATA URL


Overview
Returns the data in zip format.

Requires OAuth
Yes (refer GET AUTHENTICATION TOKEN FOR BULK APIS - USING THE 2-LEGGED OAUTH on
page 2114)

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/extracts/fetch/:ExecutionID

Calling Options
Table 589: Calling Options

Name Description Sample Value Data Type Required?

ExecutionID The execution ID of blext000000000001145 string Yes


the job.

Return Values

zip file returned

Note: The zip file contains data in CSV format.


Chapter

16
CIF

Topics: REST endpoints for the CIF data.

• Content Inventory
• Content Folder
• Core Services
• Partner
• RESULT REPORTING
REST API Reference | CIF | 2138

Content Inventory
REST endpoints for the CIF data.

GET ALL CONTENT INVENTORY

Overview
Returns all content inventory for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/content

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "1213",
"id": "cninv000000000001172",
"href": "https://<hostname-api.sabacloud.com>/v1/content/cninv000000000001172"
}
],
"totalResults": 1,
"startIndex": 1
}

FIND DETAILS OF CONTENT INVENTORY

Overview
Returns the details of the content inventory along with the ID, Name and the Deeplink URL
based on the provided search criteria.

Requires OAuth
No
REST API Reference | CIF | 2139

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/content?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 590: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for abc string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "1213",
"id": "cninv000000000001172",
"href": "https://<hostname-api.sabacloud.com>/v1/content/cninv000000000001172"
}
],
"totalResults": 1,
"startIndex": 1
}
REST API Reference | CIF | 2140

GET CONTENT'S DETAILS ALONG WITH THE METADATA

Overview
Obtains the details of a specific content. It also returns the content's metadata.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/content/:id

Calling Options
Table 591: Calling Options

Name Description Sample Value Data Type Required?

id Content's ID cn- string Yes


fld000000000000001

Return Values

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"custom0": null,
"custom1": null,
"custom2": null,
"custom3": null,
"custom4": null,
"custom5": null,
"custom6": null,
"custom7": null,
"custom8": null,
"custom9": null
},
"name": "testURl444",
"microlearning": false,
"fileSize": 0,
"id": "cninv000000000001485",
"parent_id": null,
"security_context": null,
"delivery_vendor": {
"id": "cnven000000000000001",
"displayName": "Saba"
},
"file_display_name": null,
REST API Reference | CIF | 2141

"use_tincanVerbs": false,
"is_public": false,
"is_dirty": false,
"status": 0,
"external_id": "externalid1",
"player_template": {
"id": "pltpt000000000000001",
"displayName": "Standard Content Player Template"
},
"url": "http://www.google.com",
"valid_till": null,
"available_from": null,
"content_format_version": null,
"content_format": "8",
"available_offline": true,
"require_esignature": false,
"content_location": "sabacr1809509573212860489",
"stage_content_id": null,
"mark_complete_externally": true,
"is_hide_exit_option": false,
"is_hide_exit_without_saving": false,
"content_provider": {
"id": "cnven000000000000002",
"displayName": "Native"
},
"ios_compatibility": "both",
"is_scoring": false,
"use_aicc_bridge": false,
"is_eval": false,
"upload_info": "http://www.google.com",
"folder_id": {
"id": "cnfld000000000001314",
"displayName": "test_file_AICC"
},
"version_no": "1.1",
"is_secure": false,
"toc": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48
aW1zY3AtbWFuaWZlc3Qgc2FiYWludGVybmFsPSJ5ZXMiIGlkZW50aWZpZXI9
IjAuMzUyNzM4Mjg5NDMyNTYzMjUiIHZlcnNpb249IjEuMSI+DQoJPGltc2NwL
W1ldGFkYXRhPg0KCQk8aW1zY3Atc2NoZW1hPklNUyBDb250ZW50PC9pbXNjcC
1zY2hlbWE+DQo8aW1zY3Atc2NoZW1hdmVyc2lvbj4xLjA8L2ltc2NwLXNjaGV
tYXZlcnNpb24+DQo8L2ltc2NwLW1ldGFkYXRhPg0KPGltc2NwLW9yZ2FuaXphd
GlvbnMgZGVmYXVsdD0iVE9DMSI+DQo8aW1zY3Atb3JnYW5pemF0aW9uIGlkZW5
0aWZpZXI9IlRPQzEiPg0KPGltc3NzLXNlcXVlbmNpbmcgeG1sbnM6aW1zbWQyP
SJodHRwOi8vd3d3Lmltc3Byb2plY3Qub3JnL3hzZC9pbXNfbWRfcm9vdHYxcDE
iIHhtbG5zOmltc21kMT0iaHR0cDovL3d3dy5pbXNnbG9iYWwub3JnL21ldGFkY
XRhLyIgeG1sbnM6aW1zY3A9Imh0dHA6Ly93d3cuaW1zcHJvamVjdC5vcmcvY29
udGVudCIgeG1sbnM6Zm89Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML0Zvc
m1hdCI+DQo8aW1zc3MtY29udHJvbE1vZGUgZmxvdz0idHJ1ZSIgY2hvaWNlRXh
pdD0idHJ1ZSIgY2hvaWNlPSJ0cnVlIi8+DQo8L2ltc3NzLXNlcXVlbmNpbmc+D
Qo8aW1zY3AtdGl0bGU+dGVzdFVSbDQ0NDwvaW1zY3AtdGl0bGU+DQo8aW1zY3A
taXRlbSBpZGVudGlmaWVyPSJBMDAxIiByZXNvdXJjZXJlZj0iQTAwMSIgaWRlb
nRpZmllcnJlZj0iQTAwMSI+DQo8aW1zY3AtdGl0bGU+dGVzdFVSbDQ0NDwvaW1
zY3AtdGl0bGU+DQo8L2ltc2NwLWl0ZW0+DQo8L2ltc2NwLW9yZ2FuaXphdGlvb
j4NCjwvaW1zY3Atb3JnYW5pemF0aW9ucz4NCjxpbXNjcC1yZXNvdXJjZXM+DQo
JCTxpbXNjcC1yZXNvdXJjZSBpZGVudGlmaWVyPSJBMDAxIiB0eXBlPSJ3ZWJjb2
50ZW50IiBtYXN0ZXJ5U2NvcmU9IiIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY
29tIj4NCgkJCTxpbXNjcC1maWxlIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvb
SIvPg0KPC9pbXNjcC1yZXNvdXJjZT4NCjwvaW1zY3AtcmVzb3VyY2VzPg0KPC9pb
XNjcC1tYW5pZmVzdD4NCg==",
"launchParamVendorName": true,
"launchParamRegistrationId": true,
REST API Reference | CIF | 2142

"keywords": "test key 1",


"author": "test user",
"description": "description 1",
"language": "english1",
"owners": [
{
"id": "emplo000000000001000",
"displayName": "User One"
}
],
"launchParamTrackingKey": true,
"duration": 30,
"launchParamExternaLContentId": true,
"launchParamEmployeeId": true,
"launchParamUsername": true,
"contentType": "1"
}

GET CONTENT'S DETAILS ALONG WITH THE SUBSCRIPTIONS,


TAGS, CATEGORIES, LANGUAGES

Overview
Obtains the details of a specific content. It also returns the sub-details of the content.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/contentInventory/search?q=(:criteria)
&includeDetails=:includeDetails&count=:count&startPage=:startPage
Examples:

http://<hostname-api.sabacloud.com>/v1/contentInventory/search
?q=(name%3D%3Daicc-kites,content_subscription==true,content_tags==true,
content_categories==true,content_languages==true)&includeDetails=true
&count=10&startPage=1

http://<hostname-api.sabacloud.com>/v1/contentInventory/search
?q=(content_id==cninv000000000001033)&includeDetails=:includeDetails
&count=:count&startPage=:startPage

http://<hostname-api.sabacloud.com>/v1/contentInventory/search
?q=(name%3D%3Daicc-kites)&includeDetails=true&count=10&startPage=1
REST API Reference | CIF | 2143

Calling Options
Table 592: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria i.e. string Yes


name%3D%3Da-
the field name such icc-kites,
as: content_subscrip-
• name or content_id tion==true
• content_subscrip-
tion
• content_tags
• content_categories
• content_languages
• content_owners

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

includeDetails Returns the details of true string No


the attendance in the
search.

Note: Fields such as created_by, updated_by, created_on, updated_on can be used to add
conditions and display tokens.

Return Values

{
"totalResults": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [{
"content_subscription": [{
"course_id": "cours000000000202519",
"subscribed_by": "uone",
"course_no": "0000200549",
"subscription_type": "Learning",
"title": "aicc-kites",
"version": "3",
"subscribed_on": "2020-11-24 10:49:12.0"
}, {
"course_id": "cours000000000200464",
"subscribed_by": "uone",
"course_no": "1001",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-08 19:09:48.0"
}, {
REST API Reference | CIF | 2144

"part_no": "111",
"class_id": "sbook000000000200088",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-09 13:47:12.0"
}, {
"part_no": "555",
"class_id": "dowbt000000000001363",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-09 13:51:12.0"
}, {
"part_no": "566",
"class_id": "vodem000000000001123",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-09 14:34:54.0"
}, {
"part_no": "567",
"class_id": "virtc000000000001183",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-08 20:01:15.0"
}, {
"part_no": "978",
"class_id": "class000000000200463",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-08 19:13:15.0"
}, {
"part_no": "C1",
"class_id": "class000000000201203",
"subscribed_by": "uthree2",
"subscription_type": "Learning",
"title": "c1Inherit",
"version": null,
"subscribed_on": "2009-07-17 18:12:22.0"
}, {
"part_no": "IDO111",
"class_id": "dowbt000000000001385",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "111",
"version": null,
"subscribed_on": "2007-10-11 19:55:26.0"
}],
"name": "aicc-kites",
"content_languages": [{
"langName": "Arabic",
"langId": "lange000000000000029"
}],
"id": "cninv000000000001080",
REST API Reference | CIF | 2145

"content_tags": [],
"content_categories": [],
"href":
"http://<hostname>/Saba/api/component/ContentInventory/cninv000000000001080"
}],
"facets": []
}

GET CONTENT'S DETAILS ALONG WITH THE SUBSCRIPTIONS,


TAGS, CATEGORIES, LANGUAGES (Using POST)

Overview
Obtains the details of a specific content. It also returns the sub-details of the content.

Method
POST

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/contentInventory/search?
includeDetails=:includeDetails&count=:count&startPage=:startPage

Calling Options
Table 593: Calling Options

Name Description Sample Value Data Type Required?

conditions criteria is the field string Yes


{
name such as: "conditions": [{
• name or content_id "name": ":cri-
teria:",
• content_subscrip- "operator":
tion "==",
• content_tags "value": ":cri-
• content_categories teria_value" }]
}
• content_languages
• content_owners

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.
REST API Reference | CIF | 2146

Name Description Sample Value Data Type Required?

includeDetails Returns the details of true string No


the attendance in the
search.

Note: Fields such as created_by, updated_by, created_on, updated_on can be used to add
conditions and display tokens.

Request Body

{
"conditions": [{
"name": ":criteria:",
"operator": "==",
"value": ":criteria_value" }]
}

Return Values

{
"totalResults": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [{
"content_subscription": [{
"course_id": "cours000000000202519",
"subscribed_by": "uone",
"course_no": "0000200549",
"subscription_type": "Learning",
"title": "aicc-kites",
"version": "3",
"subscribed_on": "2020-11-24 10:49:12.0"
}, {
"course_id": "cours000000000200464",
"subscribed_by": "uone",
"course_no": "1001",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-08 19:09:48.0"
}, {
"part_no": "111",
"class_id": "sbook000000000200088",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-09 13:47:12.0"
}, {
"part_no": "555",
"class_id": "dowbt000000000001363",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-09 13:51:12.0"
}, {
REST API Reference | CIF | 2147

"part_no": "566",
"class_id": "vodem000000000001123",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-09 14:34:54.0"
}, {
"part_no": "567",
"class_id": "virtc000000000001183",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-08 20:01:15.0"
}, {
"part_no": "978",
"class_id": "class000000000200463",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "ilt_aicc",
"version": null,
"subscribed_on": "2007-10-08 19:13:15.0"
}, {
"part_no": "C1",
"class_id": "class000000000201203",
"subscribed_by": "uthree2",
"subscription_type": "Learning",
"title": "c1Inherit",
"version": null,
"subscribed_on": "2009-07-17 18:12:22.0"
}, {
"part_no": "IDO111",
"class_id": "dowbt000000000001385",
"subscribed_by": "uone",
"subscription_type": "Learning",
"title": "111",
"version": null,
"subscribed_on": "2007-10-11 19:55:26.0"
}],
"name": "aicc-kites",
"content_languages": [{
"langName": "Arabic",
"langId": "lange000000000000029"
}],
"id": "cninv000000000001080",
"content_tags": [],
"content_categories": [],
"href":
"http://<hostname>/Saba/api/component/ContentInventory/cninv000000000001080"
}],
"facets": []
}

PUBLISH CONTENT

Overview
Creates content in the Cornerstone SBX repository based on the location specified in the
metadata.
REST API Reference | CIF | 2148

This Web service supports the following content formats:


1. URL
2. AICC
3. SCORM package
4. Deployed SCORM
5. LTI
6. ZIP
7. File
It consumes content type: form-data i.e. the request body should contain form-data. It
produces response in application/json format.

Method
POST

Content Type
form-data

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/contentinventory/contentimport
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/content/contentinventory/contentimport

Calling Options
The request body requires the following input:
1. detail: The detail object must be of type 'text'.
List of attributes for the detail object:

Attribute Name Required / Optional Possible Value / Sample

contentName Required …

version Optional

isAICC Required true / false

isURL Required true / false

isEval Optional True / false

urlContent Required for URL

contentFolderName Optional
REST API Reference | CIF | 2149

Attribute Name Required / Optional Possible Value / Sample

parentFolderId Optional

expiryDate Optional

availableFrom Optional

status Optional 0,1,2,3,4,5,6,7

serverId Optional

availableOffline Optional true / false

esignatureRequired Optional true / false

scoring Optional "true"/"false"

isDeployedScorm Optional true / false

domain Optional world

compatability Optional notCompatible, iPhone, iPad


, AndroidSmall, AndroidNor-
mal, bothContentCompatab-
ility, AndroidLargeAndAbove,
AllDevices

customValues Optional Custom fields value as per


configured data type
If the custom attribute is of
type Date you can set it using
the following JSON:

{
"name": "custom3",
"datatype": {
"value": 18
},
"value": "2016-01-26
00:00:00",
"displayName": "Custom3"
}

playerTemplateId Required "playerTemplateId":"plt-


pt000000000000001"

contentFileType Optional "contentFileType ":"1"

content_format Mandatory for Zip and LTI "content_format ":"8"

contentVendor Optional "contentVendor": {"id":"cn-


ven000000000000002","dis-
playName":"Native"}

externalId Optional "externalId":"externalid1"


REST API Reference | CIF | 2150

Attribute Name Required / Optional Possible Value / Sample

description Optional "description":"description 1",

language Optional "language":"english",

duration Optional "duration":"30",

author Optional "author":"test user",

keywords Optional "keywords":" test key 1",

owners Optional "owners":[{"id":"em-


plo000000000001000","dis-
playName":"UONE"}]

startFile Optional "startFile":"index.html"

markCompleteExternally Optional "markCompleteExtern-


ally":true

launchParam

TrackingKey Optional "launchParamTrack-


ingKey":true,

launchParamExternaLCon- Optional "launchParamExternaLCon-


tentId tentId":true,

launchParamVendorName Optional "launchParam-


VendorName":true,

launchParamEmployeeId Optional "launchParamEmployee-


Id":true,

launchParamUsername Optional "launchParamUser-


name":true,

launchParamRegistrationId Optional "launchParamRegistra-


tionId":true,

LTI Parameter

contextType Optional "contextType":"Static"

contextId Optional "contextId":"contentxId1"

contextName Optional "contextName":"contenxt


name 1"

additionalAttributes Optional "additionalAttributes":"addi-


tional attribute 1"

Deployed SCORM

isDeployedScorm Optional "isDeployedScorm":true


REST API Reference | CIF | 2151

Attribute Name Required / Optional Possible Value / Sample

contentFileFormat Optional "contentFileFormat":"URL"

urlContent Optional "urlContent ": "https://qacon-


tent/content/ rcslearning/
/imsmanifest.xml"

isDeployedScorm Optional "isDeployedScorm":true

urlContent Optional "urlContent ": "https:// qacon-


tent /content/ /imsmani-
fest.xml"

Note: The serverId attribute is used to set the content server. If this is not passed in the
request body, then the default content server is used.
The default status will be published.
List of values supported for the content_format attribute:

AICC 0

SCORM_Deployed 1

Zip 2

File 3

SCORM_Package 7

URL 8

LTI 22

List of values supported for the contentFileType attribute:

Image 1

LearningObject 2

Document 3

PlayerTemplate 4

Unspecified 5

AuthoringTemplates 6

Audio 8

Video 9

Software 10

Test 11
REST API Reference | CIF | 2152

Survey 12

QuestionGroupTest 13

QuestionGroupSurvey 14

Website 15

CentraRecording 16

PAN 18

VCRecording 17

PanoptoVideo 19

2. files: Depending on type of content the number of files will very.


• For the AICC content, 4 files .au, .crs, .cst and .des files are required.
• For the SCORM package and File, 1 file is required.
Note: If more than 1 file is passed in the request body, the Web service throws an
exception "Invalid import details provided for Content Import."

3. For URL, the file attachment will be ignored.


The content format type is decided at run time based on the value of attribute isURL, isAICC
and type of file attachments in request. The default Content player template is set based on
the content format type.
Table 594: Calling Options

Name Description Sample Value Data Type Required?

contentName Content's Name string Yes

Request Body (Form data)

Content-Type: form-data,
detail:
{
"contentName": "test aicc r2",
"isAICC": true,
"isURL": false,
"contentFolderName": "cnfld000000000001182",
"serverId": "media000000000001020",
"customValues": [{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
}, {
"name": "custom1",
"datatype": {
"value": 18
REST API Reference | CIF | 2153

},
"value": null,
"displayName": "Custom1"
}]
}

Request Body (For File)

{
"contentName": "URL test7",
"isURL": false,
"contentFolderName": "abc"
}

Request Body (For LTI)

{
"contentName":"test lti u451",
"contentFolderName":"test_file_AICC",
"urlContent":"https://www.chemvantage.org/lti/",
"serverId":"media000000000000001",
"compatability":3,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"contentFileType":"2",
"content_format":"22",
"contentVendor": {"displayName":"Lit vendor 1"},
"externalId":"LTI_74918b94-bd2c-4ec9-b0ee-68f67380ae94_SabaSite",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}

Request Body (For AICC)

{
"contentName":"test aicc u451",
"contentFolderName":"test_file_AICC",
"serverId":"media000000000000001",
"compatability":3,
"isAICC":true,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"contentFileType":"2",
"content_format":"0",
"contentVendor": {"displayName":"Saba"},
"externalId":"ext1",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}
REST API Reference | CIF | 2154

Request Body (For ZIP)

{
"contentName":"testZip451",
"contentFolderName":"test_file_AICC",
"serverId":"media000000000000001",
"compatability":3,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"contentFileType":"2",
"content_format":"2",
"contentVendor": {"displayName":"Native"},
"externalId":"externalid1",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"startFile":"index.html",
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}

Request Body (For URL)

{
"contentName":"testURl444",
"isAICC":false,
"isURL":true,
"urlContent":"http://www.google.com",
"contentFolderName":"test_file_AICC",
"serverId":"media000000000000001",
"compatability":3,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"contentFileType":"1",
"content_format":"8",
"contentVendor": {"displayName":"Native"},
"externalId":"externalid1",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"markCompleteExternally":true,
"launchParamTrackingKey":true,
"launchParamExternaLContentId":true,
"launchParamVendorName":true,
"launchParamEmployeeId":true,
"launchParamUsername":true,
"launchParamRegistrationId":true,
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}

Request Body (Deployed SCROM - without manifest file)

{
"contentName":"rem_conServer_url001",
"domain":"domin000000000000001",
REST API Reference | CIF | 2155

"isAICC":false,
"isURL":false,
"isDeployedScorm":true,
"urlContent":"http://10.15.21.230:81/rcscon/spcguru/imsmanifest.xml",
"playerTemplateId":"pltpt000000000000003",
"parentFolderId":"cnfld000000000001182",
"isEval":false
}

Request Body (Deployed SCROM - with manifest file)

{
"contentName":"rem_conServe_File001",
"domain":"domin000000000000001",
"isAICC":false,
"isURL":false,
"isDeployedScorm":true,
"urlContent":"http://10.15.21.230:81/rcscon/spcguru/",
"playerTemplateId":"pltpt000000000000003",
"parentFolderId":"cnfld000000000001182",
"isEval":false
}

Return Values

Content-Type: application/json
{
"success": true,
"id": "cninv000000000001470",
"displayName": "test aicc r2",
"scoring": "true",
"contentFormat": "0",
"mediaRepository": "null",
"playerTemplate": "null"
}

AICC content import


If the imported content fails to load, it means that the files were not specified in the correct
order. You need to maintain the file order as .au, .crs, .cst and .des for AICC content import
to work/load.
REST API Reference | CIF | 2156

UPDATE CONTENT INVENTORY

Overview
Updates content in the Cornerstone SBX repository based on the content inventory's ID
passed as the parameter.
Note: A partial update is not supported with this REST end point. All the fields should be
provided with the updated values in Input JSON for updating the content
This Web service supports the following content formats:
1. URL
2. AICC
3. SCORM package
4. Deployed SCORM
5. LTI
6. ZIP
7. File
It consumes content type: form-data i.e. the request body should contain form-data. It
produces response in application/json format.

Method
PUT

Content Type
form-data

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/contentinventory/contentimport/:contentInventoryID?clearTrackingData=true

URL (User-friendly)
You can use a user-friendly URL which accepts externalId instead of the internal Content
Inventory's ID.
https://<hostname-api.sabacloud.com>/v1/contentinventory/contentimport/:externalId?vendor=Native?clearTrackingData=true

Clear Tracking Data option


Clear tracking data is applicable only for deployed scorm, scorm package and AICC with 4
files. ?clearTrackingData=true is an optional parameter.

Calling Options
1. detail: The detail object must be of type 'text'.
List of attributes for the detail object:
REST API Reference | CIF | 2157

Attribute Name Required / Optional Possible Value / Sample

contentName Required …

version Optional

isEval Optional True / false

urlContent Required for URL

contentFolderName Optional

parentFolderId Optional

expiryDate Optional

status Optional 0,1,2,3,4,5,6,7

availableOffline Optional true / false

scoring Optional "true"/"false"

domain Optional world

compatability Optional notCompatible, iPhone, iPad


, AndroidSmall, AndroidNor-
mal, bothContentCompatab-
ility, AndroidLargeAndAbove,
AllDevices

customValues Optional Custom fields value as per


configured data type

playerTemplateId Optional "playerTemplateId":"plt-


pt000000000000001"

externalId Optional "externalId":"externalid1"

description Optional "description":"description 1",

language Optional "language":"english",

duration Optional "duration":"30",

author Optional "author":"test user",

keywords Optional "keywords":" test key 1",

owners Optional "owners":[{"id":"em-


plo000000000001000","dis-
playName":"UONE"}]

startFile Optional "startFile":"index.html"

markCompleteExternally Optional "markCompleteExtern-


ally":true
REST API Reference | CIF | 2158

Attribute Name Required / Optional Possible Value / Sample

launchParam

launchParamTrackingKey Optional "launchParamTrack-


ingKey":true,

launchParamExternaLCon- Optional "launchParamExternaLCon-


tentId tentId":true,

launchParamVendorName Optional "launchParam-


VendorName":true,

launchParamEmployeeId Optional "launchParamEmployee-


Id":true,

launchParamUsername Optional "launchParamUser-


name":true,

launchParamRegistrationId Optional "launchParamRegistra-


tionId":true,

LTI Parameter

contextType Optional "contextType":"Static"

contextId Optional "contextId":"contentxId1"

contextName Optional "contextName":"contenxt


name 1"

additionalAttributes Optional "additionalAttributes":"addi-


tional attribute 1"

Deployed SCORM

isDeployedScorm Optional "isDeployedScorm":true

contentFileFormat Optional "contentFileFormat":"URL"

urlContent Optional "urlContent ": "https://qacon-


tent/content/ rcslearning/
/imsmanifest.xml"

isDeployedScorm Optional "isDeployedScorm":true

urlContent Optional "urlContent ": "https:// qacon-


tent /content/ /imsmani-
fest.xml"

Note:
a. isEval and availableOffline are marked as false, if they are not passed in the request.
b. If the scoring flag is not passed and if the uploaded content has a mastery score, then
this flag is set to true.
REST API Reference | CIF | 2159

c. The scoring flag is set to "true"/"false", if the content file is not uploaded in case of an
update otherwise the value of this flag is set based on the content i.e. if the content is
scoring then flag will is set to true otherwise it is set to false.
d. Some field values such as version or folder are cleared, if they are not included in the
Request Body, but other fields such as content owner or custom values are not cleared.
2. files: Depending on type of content the number of files will very.
• For the AICC content, 4 files .au, .crs, .cst and .des files are required.
• For the SCORM package and File, 1 file is required.
3. For URL, the file attachment will be ignored.
The content format type is decided at run time based on the value of attribute isURL, isAICC
and type of file attachments in request. The default Content player template is set based on
the content format type.
Table 595: Calling Options

Name Description Sample Value Data Type Required?

contentInventory- Content Inventory's ID string Yes


ID

Request Body (Form data)

Content-Type: form-data,
detail:
{
"contentName": "test aicc r2",
"contentFolderName": "cnfld000000000001182",
"customValues": [{
"name": "custom0",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom0"
}, {
"name": "custom1",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom1"
}]
}

Request Body (For File)

{
"contentName": "URL test7",
"contentFolderName": "abc"
}
REST API Reference | CIF | 2160

Request Body (For LTI)

{
"contentName":"test lti u451",
"contentFolderName":"test_file_AICC",
"urlContent":"https://www.chemvantage.org/lti/",
"compatability":3,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"externalId":"LTI_74918b94-bd2c-4ec9-b0ee-68f67380ae94_SabaSite",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}

Request Body (For AICC)

{
"contentName":"test aicc u451",
"contentFolderName":"test_file_AICC",
"compatability":3,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"externalId":"ext1",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}

Request Body (For ZIP)

{
"contentName":"testZip451",
"contentFolderName":"test_file_AICC",
"compatability":3,
"version":"1.1",
"availableOffline":true,
"playerTemplateId":"pltpt000000000000001",
"externalId":"externalid1",
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"startFile":"index.html",
"owners":[{"id":"emplo000000000001000","displayName":"UONE"}]
}
REST API Reference | CIF | 2161

Request Body (For URL)

{
"contentName":"testContentName",
"urlContent":"www.google.com",
"domain": "domin000000000000001",
"playerTemplateId":"pltpt000000000000001",
"compatability":3,
"version":"1.2",
"expiryDate":null,
"contentFolderName":"test_file_AICC",
"isEval":false,
"description":"description 1",
"language":"english1",
"duration":"30",
"author":"test user",
"keywords":" test key 1",
"owners":[
{
"id":"emplo000000000001000",
"displayName":"UONE"
}
]
}

Request Body (Deployed SCROM - without manifest file)

{
"contentName":"rem_conServer_url001",
"domain":"domin000000000000001",
"urlContent":"http://10.15.21.230:81/rcscon/spcguru/imsmanifest.xml",
"playerTemplateId":"pltpt000000000000003",
"parentFolderId":"cnfld000000000001182",
"isEval":false
}

Request Body (Deployed SCROM - with manifest file)

{
"contentName":"rem_conServe_File001",
"domain":"domin000000000000001",
"urlContent":"http://10.15.21.230:81/rcscon/spcguru/",
"playerTemplateId":"pltpt000000000000003",
"parentFolderId":"cnfld000000000001182",
"isEval":false
}

Return Values

204

Content Folder
REST endpoints for the CIF data.
REST API Reference | CIF | 2162

GET ALL CONTENT FOLDER

Overview
Returns all content folder for which the user has access.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/contentfolder

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "001",
"id": "cnfld000000000001303",
"href":
"https://<hostname-api.sabacloud.com>/v1/contentfolder/cnfld000000000001303"
}
],
"totalResults": 1,
"startIndex": 1
}

FIND DETAILS OF CONTENT FOLDER

Overview
Returns the details of the content folder along with the ID, Name and the Deeplink URL based
on the provided search criteria.

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/contentfolder?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage
REST API Reference | CIF | 2163

Calling Options
Table 596: Calling Options

Name Description Sample Value Data Type Required?

criteria_field The search criteria i.e. name string Yes


the field name.
You can use any field
with "isSearchFilter":
true.
Note: To find out the
fields that have "is-
SearchFilter": true, in-
voke the "Get the
Meta details" REST
APIs.

field_value The search value for production string Yes


the specified search
criteria.

count The number of re- 10 integer No


cords per page.

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Return Values

{
"hasMoreResults": false,
"facets": [],
"itemsPerPage": 10,
"results": [
{
"name": "001",
"id": "cnfld000000000001303",
"href":
"https://<hostname-api.sabacloud.com>/v1/contentfolder/cnfld000000000001303"
}
],
"totalResults": 1,
"startIndex": 1
}
REST API Reference | CIF | 2164

GET DETAILS OF A PARTICULAR CONTENT FOLDER, ROOT


FOLDERS, OR A LIST OF ALL THE SUBFOLDERS

Overview
Gets the details of a particular content folder. You can also obtain additional details like the
root or sub folder's name, ID or the parent ID.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/Saba/component/contentfolder/:id:(searchFields)

Calling Options
Table 597: Calling Options

Name Description Sample Value Data Type Required?

id Content's ID cn- string Yes


fld000000000000001

searchFields string No
Indicate what addition-
al details needs to be
returned.
Acceptable values are
(case-sensitive):
id,name,parent_id,sub-
Folder,root
For example:
'root,id,name' would
return IDs and names
of the root along with
IDs and names of the
content folder. Simil-
arly, 'root,id,par-
ent_id,subFolder'
would return IDs and
Parent IDs of the root
along with IDs and
Parent IDs of the sub
folders and the con-
tent folder.
REST API Reference | CIF | 2165

Return Values

{
"parent_id": null,
"name": "Production",
"id": "cnfld000000000000001",
"subFolder": [
{
"parent_id": {
"id": "cnfld000000000000001",
"displayName": "Production"
},
"name": "Beta Program",
"id": "cnfld000000000001000"
},
{
"parent_id": {
"id": "cnfld000000000000001",
"displayName": "Production"
},
"name": "customer1 folder",
"id": "cnfld000000000001920"
}
],
"root": {
"parent_id": null,
"name": "Production",
"id": "cnfld000000000000001"
}
}

CREATE A NEW CONTENT FOLDER

Overview
Creates a new content folder.

Method
POST

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/contentfolder/

Calling Options
Table 598: Calling Options

Name Description Sample Value Data Type Required?

name Name of the content ContentFolder 1 string Yes


folder from REST
REST API Reference | CIF | 2166

Name Description Sample Value Data Type Required?

securityDomain Security Domain for object Yes


the content folder {
"id": "dom►
Supports lookup (Do- in000000000000001",
main). "name": "world"
}

auditReason The audit reason audit with reason string No

parent_id The Parent ID of the object No


content folder {\"id\":\"cn►
fld000000000000002\"}
Supports lookup
(ContentFolder).

Request Body

{
"name": "RestFolder 110",
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"parent_id" : {
"id":"cnfld000000000000002"},
"folder_type":{"key":"300"
}
}

Return Values

{
"id": "cnfld000000000001244",
"displayName": "RestFolder 110",
"href": "https://<hostname-api.sabacloud.com>/v1/contentfolder/cnfld000000000001244"
}

Core Services
REST endpoints for the CIF data.

GET VERSION DETAILS OF PRODUCT

Overview
Gets the major, minor, and complete version numbers of the product.
REST API Reference | CIF | 2167

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/coreservice/version/
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/content/coreservice/version/

Return Values

{
"@type": "com.saba.services.dto.VersionDTO",
"version": "0605000042",
"minor-version": "5",
"major-version": "6"
}

GET A LIST OF SITES

Overview
Gets a list of available sites in the system.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/coreservice/sites/
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/content/coreservice/sites/

Return Values

[
"java.util.Arrays$ArrayList",
[
"spcdemosite",
REST API Reference | CIF | 2168

"ATHDB1Site",
"FreshSite",
"QEDBSite",
"pmm",
"SabaWork",
"dqtnt002site",
"QADBSite",
"learningsite",
"BasedbSite",
"dqtnt003site",
"ATHDB2Site",
"sctnt1site",
"dqtnt001site",
"dqtnt201site",
"EVNSite",
"leanring2site",
"dqtnt004site"
]
]

GET A CIF CERTIFICATE

Overview
Obtains a CIF certificate for a specific site based on the username and password passed as
parameter values.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/coreservice/certificate/
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/content/coreservice/certificate/

Calling Options
Table 599: Calling Options

Name Description Sample Value Data Type Required?

userName The username uone string Yes

password The user password welcome string Yes

siteName The site name SabaSite string Yes


REST API Reference | CIF | 2169

Name Description Sample Value Data Type Required?

timeOutInMilli- The time out in milli- 100000 string No


Seconds seconds

Note: These parameters need to be passed as Header Parameters.

Return Values

ccert31336666386333666632375E235E756F6E655E235E53616261536974655E235E656
E5F55535E235E536162615E235E24414240302C02140AA94002886AFED2B5C9521DC0438
99DA367DA5702144BF476685CAA636CF4201A299D563189348E3B5F

GET INITIAL SYSTEM VALUES FOR CONTENTTYPES,


CONTENTFORMATS, CONTENTSERVERS

Overview
Returns the initial system values for contentTypes, contentFormats, contentServers for a
particular site based the CIF certificate passed as a parameter value.

Method
GET

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/coreservice/certificate/
Note:
The following is a deprecated URL for this REST Web service and will be discontinued in the
next few updates:
https://<hostname-api.sabacloud.com>/Saba/api/content/coreservice/certificate/

Calling Options
Table 600: Calling Options

Name Description Sample Value Data Type Required?

certificate The CIF certificate string Yes

Note: This parameter needs to be passed as a Header Parameter.


REST API Reference | CIF | 2170

Return Values

{
"@type": "com.saba.services.dto.CIFCoreDTO",
"repositories": [
"java.util.Arrays$ArrayList",
[
"Production"
]
],
"system-name": "SabaSite",
"locales": [
"list",
[
{
"@type": "com.saba.services.dto.SabaLocaleDTO",
"locale-name": "Deutsch (German)",
"locale-id": "local000000000000003",
"is-default-locale": false,
"java-locale": "de_DE"
},
{
"@type": "com.saba.services.dto.SabaLocaleDTO",
"locale-name": "English",
"locale-id": "local000000000000001",
"is-default-locale": true,
"java-locale": "en_US"
},
{
"@type": "com.saba.services.dto.SabaLocaleDTO",
"locale-name": "Français (French)",
"locale-id": "local000000000000002",
"is-default-locale": false,
"java-locale": "fr_FR"
},
{
"@type": "com.saba.services.dto.SabaLocaleDTO",
"locale-name": "日本語 (Japanese)",
"locale-id": "local000000000000011",
"is-default-locale": false,
"java-locale": "ja_JP"
}
]
],
"major-version": "6",
"minor-version": "5",
"system-locale": {
"@type": "com.saba.services.dto.SabaLocaleDTO",
"locale-name": "English",
"locale-id": "local000000000000001",
"is-default-locale": true,
"java-locale": "en_US"
},
"package-format-types": [
"java.util.Arrays$ArrayList",
[
"Deployed SCORM",
"Deployed SCORM",
"SCORM Package",
"IMS Package",
"Zip File",
"AICC",
"TEST",
REST API Reference | CIF | 2171

"Saba Offline",
"Folder",
"File",
"Saba Publisher Title",
"File",
"URL",
"Centra Recording",
"TinCan",
"unknown"
]
],
"player-templates": [
"list",
[
{
"@type": "com.saba.services.dto.SimpleDetailDTO",
"name": "Standard Content Player Template",
"id": "pltpt000000000000001"
}
]
],
"content-servers": [
"list",
[
{
"@type": "com.saba.services.dto.ContentServerDTO",
"name": "Default Content Server",
"id": "media000000000001020",
"url": "https://<hostname-api.sabacloud.com>/production_content_server/"
},
{
"@type": "com.saba.services.dto.ContentServerDTO",
"name": "Qaamd28",
"id": "media000000000001040",
"url": "https://<hostname-api.sabacloud.com>/production"
},
{
"@type": "com.saba.services.dto.ContentServerDTO",
"name": "ojt_content",
"id": "media000000000001060",
"url": "https://<hostname-api.sabacloud.com>/production"
},
{
"@type": "com.saba.services.dto.ContentServerDTO",
"name": "vathavale",
"id": "media000000000001100",
"url": "https://<hostname-api.sabacloud.com>/production"
}
]
],
"content-formats": [
"list",
[
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "11",
"description": "Deployed SCORM"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "11",
"description": "Deployed SCORM"
REST API Reference | CIF | 2172

},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "6",
"description": "SCORM Package"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "5",
"description": "IMS Package"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "12",
"description": "Zip File"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "7",
"description": "AICC"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "99",
"description": "TEST"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "10",
"description": "Saba Offline"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "0",
"description": "Folder"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "1",
"description": "File"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "13",
"description": "Saba Publisher Title"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "1",
"description": "File"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "8",
"description": "URL"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "14",
"description": "Centra Recording"
},
{
REST API Reference | CIF | 2173

"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "15",
"description": "TinCan"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "99",
"description": "unknown"
}
]
],
"system-url": null,
"content-types": [
"list",
[
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "0",
"description": "Test"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "1",
"description": "Course"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "2",
"description": "Information"
},
{
"@type": "com.saba.services.dto.ContentTypeDTO",
"key": "3",
"description": "Assessment"
}
]
]
}

Partner
REST endpoints for the CIF data.

REPORT RESULT

Overview
Reports the content result back to Cornerstone SBX.
Note: This API only supports the COIN, LAB and URL content formats.
Mark Complete Externally should be enabled to mark complete using the following
parameters (Calling Options):
• registrationID
REST API Reference | CIF | 2174

• employeeID
• username
• externalContentID
• vendorName
The following completion rules will be applied:
• If more than one type of parameters are passed, then the completion will happen
considering the following priority:
1. Tracking Key
2. Registration ID + External Content ID + Vendor Name
3. Internal Employee ID + External Content ID + Vendor Name
4. Username + External Content ID + Vendor Name
This means, if the trackingkey and Registration ID + External Content ID + Vendor Name
are specified, then the completion will happen based on the tracking key.
Table 601: Completion Rules

Input Scenarios Completion Rule

TrackingKey Tracking Key Matches an open at- That attempt is


tempt marked complete
and rollup is
triggered

Registration ID, Intern- Single Registration 0 or more attempts Last attempt is


al Employee ID, User- marked complete
name and rollup is
triggered. If 0 at-
tempts, then an at-
tempt is created and
it is marked complete
and rollup is
triggered.

Internal Employee ID, Multiple Registrations 0 or more attempts Last attempt is


Username marked complete for
all registrations and
rollup is triggered. If
0 attempts, then an
attempt is created
and it is marked
complete and rollup
is triggered

Internal Employee ID, No registrations N/A Error is thrown and


Username completion will not
happen

Requires OAuth
No
REST API Reference | CIF | 2175

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/partner/reportResult
Note: The Show Best Score setting does not apply for URL of type content format, if the
completion is marked using this API.

Calling Options
Table 602: Calling Options

Name Description Sample Value Data Type Required?

track- This will be sent by .-.68FEC7ECB9C3B84E405E890B138 string Yes


ingKey Cornerstone SBX dur- 43E27D1D8F3D8E60CF90C75A9877F
ing content launch/en- 19865DFAABFB886758529CD796DC
titlement(250 charac- 8A295D33C81E-.-
ters key limit).

registra- This will be sent by string No


tionID Cornerstone SBX dur-
ing content launch/en-
titlement.
Note: This should be
used in combination
with externalContent-
ID and vendorName.
Supported Content
Format:
• URL

employ- This will be sent by string No


eeID Cornerstone SBX dur-
ing content launch/en-
titlement.
Note: This should be
used in combination
with externalContent-
ID and vendorName.
Supported Content
Format:
• URL
REST API Reference | CIF | 2176

Name Description Sample Value Data Type Required?

user- This will be sent by string No


name Cornerstone SBX dur-
ing content launch/en-
titlement.
Note: This should be
used in combination
with externalContent-
ID and vendorName.
Supported Content
Format:
• URL

external- This will be sent by string No


Content- Cornerstone SBX dur-
ID ing content launch/en-
titlement.

vendorName This will be sent by string No


Cornerstone SBX dur-
ing content launch/en-
titlement.

comple- Possible values: incom- incomplete string Yes


tion- plete, completed,
Status passed, failed.

score Optional, if Completion 24 string No


Status is Incom-
plete/Completed. Man-
datory, if completion
status is passed/failed.

minScore Minimum score 35 string No

max- Maximum score 100 string No


Score

timeSpent Time spent on the con- 00:24:10 string No


tent. Specify the value
in the following format:
hh:mm:ss For example:
00:10:00

Request Body (Sample 1)

{
"trackingKey":".-.A4207E711067D0FC61B3FA5F6029D0FB8E8A12748EF930B
CC47D4638131197DDEEC6548C949747CDE1E4C1AAA94245F0-.-",
"completionStatus":"completed",
"score":"24",
"minScore":"35",
REST API Reference | CIF | 2177

"maxScore":"100",
"timeSpent":"00:24:10"
}

Request Body (Sample 2)

{
"username":"kkalyani",
"vendorName":"URLVendor",
"externalContentID":"external_id_url",
"completionStatus":"passed",
"score":"90",
"timeSpent":"00:01:55"
}

Request Body (Sample 3)

{
"employeeID":"emplo000000000051941",
"vendorName":"URLVendor",
"externalContentID":"external_id_url",
"completionStatus":"passed",
"score":"90",
"timeSpent":"00:01:55"
}

Request Body (Sample 4)

{
"registrationID":" regdw000000000008986",
"vendorName":"URLVendor",
"externalContentID":"external_id_url",
"completionStatus":"passed",
"score":"90",
"timeSpent":"00:01:55"
}

Return Values (Sample)

{
"trackingKey": ".-.A4207E711067D0FC61B3FA5F6029D0FB8E8A12748EF930B
CC47D4638131197DDEEC6548C949747CDE1E4C1AAA94245F0-.-",
"errorMessage": "",
"status": "Success"
}

CANCEL REGISTRATION

Overview
Allows marking a registration as cancelled. It returns a JSON output where status=success
or an error message in case of failure.
REST API Reference | CIF | 2178

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/partner/cancelRegistration?trackingKey=<trackingKey>

Calling Options
Table 603: Calling Options

Name Description Sample Value Data Type Required?

track- This will be sent by .-.68FEC7ECB9C3B84E405E890B138 string Yes


ingKey Cornerstone SBX dur- 43E27D1D8F3D8E60CF90C75A9877F
ing content launch/en- 19865DFAABFB886758529CD796DC
titlement(250 charac- 8A295D33C81E-.-
ters key limit).

Return Values

{
"status":"Success",
"errorMessage":"",

"trackingKey":".-.68FEC7ECB9C3B84E405E890B13843E27FE21B64782B3B2EBACD65A1572A69F5AE01C03FA61C07F01E53FF6DC0D417A2C-.-"
}

RESULT REPORTING
Overview
This API reports the content result to Cornerstone SBX.
Note: This API only supports the LTI content format.
The endpoint for this service receives "Plain Old XML" (POX) with properly formed headers
(imsx_POXHeader) following a well-formed request (imsx_POXBody).

Method
POST

Content Type
application/xml
REST API Reference | CIF | 2179

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/public/resultReporting

Calling Options
Table 604: Calling Options

Name Description Sample Value Data Type Required?

submissionDe- The value indicates string Yes


tails the submission details <submissionDe►
of the course. Keep tails>
this attribute as blank ...
as the course is not in </submission►
Details>
the completed status.

sourcedId The sourcedId ele- string Yes


Format
ment is the value from
the lis_result_source-
<registra►
did parameter for a tion_id><ses►
user_id / re- sion_id>
source_link_id combin- :<user_id>
ation.
Example

<sourcedId>
aireg0000
00000205849
aises0000
00000206340:
UONE
</sourcedId>
REST API Reference | CIF | 2180

Name Description Sample Value Data Type Required?

textString All the values for string Yes


textString are decimal <textString>0.99
values numeric in the </textString>
range 0.0 - 1.0.
Use a period as the
decimal point.
The Tool Consumer
checks the incoming
grade for validity and
fails when a grade is
outside the range 0.0-
1.0 or if the grade is
not a valid number.

Language Regardless of the lan- string Yes


guage of the Tool <language>en
Provider or Tool Con- </language>
sumer user interface,
the language field in
the service call needs
to be "en" indicating
the format of the
number.

Request Body (Form data)

<?xml version =""1.0""encoding =""UTF-8""?>


<imsx_POXEnvelopeRequest
xmlns=""http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0"">
<imsx_POXHeader>
<imsx_POXRequestHeaderInfo>
<imsx_version>V1.0</imsx_version>
<imsx_messageIdentifier>999999123</imsx_messageIdentifier>
</imsx_POXRequestHeaderInfo>
</imsx_POXHeader>
<imsx_POXBody>
<replaceResultRequest>
<submissionDetails>
...
</submissionDetails>
<resultRecord>
<sourcedGUID>
<sourcedId>aireg000000000204709
aises000000000205650":UONE</sourcedId>
</sourcedGUID>
<result>
<resultScore>
<language>en</language>
<textString>0.99</textString>
</resultScore>
</result>
</resultRecord>
</replaceResultRequest>
REST API Reference | CIF | 2181

</imsx_POXBody>
</imsx_POXEnvelopeRequest>

Return Values

Status: 204 No Content


Chapter

17
Integration APIs

Topics: REST endpoints for Virtual Classroom.

• Virtual Classroom (For third


party meeting connectors)
REST API Reference | Integration APIs | 2184

Virtual Classroom (For third party meeting


connectors)
This section describes the specifications for the REST end points that a third party meeting
provider needs to adhere to in order to integrate with Cornerstone SBX.
Cornerstone SBX provides Virtual Classroom connectors for meeting providers like
Cornerstone SBX Meeting and Webex. For any other meeting provider that Cornerstone SBX
does not support as of now, the meeting provider needs to develop the integration based
on the specifications provided in this section.
This section provides:
• The REST end points that Cornerstone SBX invokes
• The Request body that Cornerstone SBX will provide to the meeting provider's system for
every call that it makes to the REST end points
• The Reponse body that Cornerstone SBX expects in return from the meeting provider's
system
Note: In order to integrate a third party meeting connector Cornerstone SBX needs to be
aware of the URL to reach the meeting provider's system along with the username, password
or sitename, if applicable.
This is how the Cornerstone SBX Virtual Classroom configuration and the connector process
works:
1. The third party meeting provider will provide their system's URL [username, password,
sitename, etc.] that Cornerstone SBX can reach to create and manage meetings on it.
2. Cornerstone SBX will invoke the adapter configuration REST end point to configure the
adapter for this third party meeting provider. Once configured, Cornerstone SBX can now
route all the meeting actions to this third party meeting provider.
3. For every action that an end user performs in relation to a meeting like creating, updating,
deleting, and so on, Cornerstone SBX will call an appropriate REST end point [as described
below] and pass the required details to the meeting provider's system which is nothing
but the Request Body and a few Header Params.
Note: Header param [serviceName] will indicate what action [CREATE_MEETING,
UPDATE_MEETING, GET_MEETING, DELETE_MEETING, etc.] is being requested. Based on
this, the meeting service provider understands what action it needs to perform.
4. After the meeting provider performs the necessary actions for the request it gets, it will
return a response in the format that Cornerstone SBX requires [as specified below under
Reponse].
5. On receving this response from the meeting provider's system, Cornerstone SBX interprets
it and performs the necessary actions on its end to fulfill the request.
The following REST end points are supported for a meeting connector:
1. Create Meeting
2. Update Meeting
3. Delete Meeting
4. Get Meeting
5. Create Meeting Attendee
6. Delete Meeting Attendee
7. Get Host URL
REST API Reference | Integration APIs | 2185

8. Get Attendee URL


9. Meeting attendance

Adapter Configuration
This REST end point when invoked configures the adapter. This end point can be called for
CREATE as well as UPDATE.

Request Body

{
"adapterName":"abc",
"adapterParameters":{
"username":"apuliyeril",
"sitename":"apidemoeu",
"password":"welcome@7"
}
}

Response

Status : 200

Create Meeting
This REST end point when invoked creates a meeting on the third party meeting provider's
system.

Header Parameters
Table 605: Header Parameters

Parameters Passed Description

serviceName It will hold CREATE_MEETING.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"chatEnabled":false,
"chatAllAttendees":false,
REST API Reference | Integration APIs | 2186

"chatHost":false,
"chatPresenter":false,
"serverRecordingEnabled":true,
"maxUsers":3,
"confNumber":"503-555-1234",
"startTime":1373468874119,
"endTime":1373468994119,
"publicEvent":true,
"createdBy":"Anil",
"maxCount":4,
"concurrentSpeakers":1,
"registeredOnly":true,
"liveVideo":true,
"recordVideoEnabled":true,
"downloadedPlayback":true,
"altConfNumber":"1234566",
"confCallHostCode":null,
"confCallAcessCode":"1234556",
"audioType":"voip",
"timeZone":"Asia/Kolkata",
"description":"Some Description",
"name":"anilsconf1373468874119",
"location":"Portland, Oregon, USA"
}

The Create Meeting web service is passed the following parameters as the part of the Request
Body:
Table 606: Create Meeting Web Service Calling Parameters

Parameters Passed Description

chatEnabled Enable the chatting facility for the users.

chatAllAttendees Enable chat for all the users.

chatHost Enable chat for the host.

chatPresenter Enable chat for the presenter.

serverRecordingEn- Record the session.


abled

maxUsers Maximum number of users allowed for the meeting.

confNumber The conference dial in number.

startTime Meetings start time in milliseconds.

endTime Meetings end time in milliseconds.

publicEvent Whether it is a public meeting?


Note: People with the URL can attend the meeting.

createdBy The meeting creator.

maxCount The maximum number of attendees including the host.


REST API Reference | Integration APIs | 2187

Parameters Passed Description

concurrentSpeakers The maximum number of speakers allowed to speak together.

registeredOnly Only the registered users can attend the meeting.

liveVideo Whether video sharing is allowed.

recordVideoEnabled Enable Video recording.

downloadedPlayback Download the video or playback the video.

altConfNumber Alternate conference number if the primary conference number


fails.

confCallHostCode The host code for the conference number.

confCallAcessCode The access code for all the users other than the host.

audioType VOIP or Telephone

timeZone The timezone.

description A description for the meeting.

name The meeting's name.

location The meeting's location.

Response

{
"exception":null,
"meetingId":"698780921",
"meetingURLAttendee":"https://apidemoeu.abc.com/apidemoeu/j.php
?ED=93010097&UID=481258532&ICS=MIFA&ST=1",
"meetingURLHost":"https://apidemoeu.abc.com/apidemoeu/j.php
?ED=93010097&UID=481258532&ICS=MIFH&ST=1"
}

Update Meeting
This REST end point when invoked updates an existing meeting on the third party meeting
provider's system.
REST API Reference | Integration APIs | 2188

Header Parameters
Table 607: Header Parameters

Parameters Passed Description

serviceName It will hold UPDATE_MEETING.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"chatEnabled":false,
"chatAllAttendees":false,
"chatHost":false,
"chatPresenter":false,
"serverRecordingEnabled":true,
"maxUsers":4,
"confNumber":"503-555-1234",
"startTime":1373468874119,
"endTime":1373468994119,
"publicEvent":true,
"createdBy":"Anil",
"maxCount":4,
"concurrentSpeakers":1,
"registeredOnly":true,
"liveVideo":false,
"recordVideoEnabled":true,
"downloadedPlayback":true,
"altConfNumber":"1234566",
"confCallHostCode":null,
"confCallAcessCode":"1234556",
"audioType":"voip",
"timeZone":"Asia/Kolkata",
"description":"Some Description",
"name":"conf name updated",
"location":"Portland, Oregon, USA",
"id":"696223384"
}

The Update Meeting web service is passed the following parameters as the part of the Request
Body:
Table 608: Update Meeting Web Service Calling Parameters

Parameters Passed Description

chatEnabled Enable the chatting facility for the users.


REST API Reference | Integration APIs | 2189

Parameters Passed Description

chatAllAttendees Enable chat for all the users.

chatHost Enable chat for the host.

chatPresenter Enable chat for the presenter.

serverRecordingEn- Record the session.


abled

maxUsers Maximum number of users allowed for the meeting.

confNumber The conference dial in number.

startTime Meetings start time in milliseconds.

endTime Meetings end time in milliseconds.

publicEvent Whether it is a public meeting?


Note: People with the URL can attend the meeting.

createdBy The meeting creator.

maxCount The maximum number of attendees including the host.

concurrentSpeakers The maximum number of speakers allowed to speak together.

registeredOnly Only the registered users can attend the meeting.

liveVideo Whether video sharing is allowed.

recordVideoEnabled Enable Video recording.

downloadedPlayback Download the video or playback the video.

altConfNumber Alternate conference number if the primary conference number


fails.

confCallHostCode The host code for the conference number.

confCallAcessCode The access code for all the users other than the host.

audioType VOIP or Telephone

timeZone The timezone.

description A description for the meeting.

name The meeting's name.

location The meeting's location.

id The meeting's ID.


REST API Reference | Integration APIs | 2190

Response

{
"meetingId":null,
"meetingURLAttendee":"https://apidemoeu.abc.com/apidemoeu/j.php
?ED=93010167&UID=481258532&ICS=MIFA&ST=1",
"meetingURLHost":"https://apidemoeu.abc.com/apidemoeu/j.php
?ED=93010167&UID=481258532&ICS=MIFH&ST=1",
"exception":null
}

Delete Meeting
This REST end point when invoked deletes an existing meeting on the third party meeting
provider's system.

Header Parameters
Table 609: Header Parameters

Parameters Passed Description

serviceName It will hold DELETE_MEETING.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"id":"699334470"
}

Response

Status: 200

Get Meeting
This REST end point when invoked returns the details of an existing meeting from the third
party meeting provider's system.
REST API Reference | Integration APIs | 2191

Header Parameters
Table 610: Header Parameters

Parameters Passed Description

serviceName It will hold GET_MEETING.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"id":"699334470"
}

Response

{
"name":"conf name updated",
"location":"Portland, Oregon, USA",
"id":"691799652",
"timeZone":"Asia/Calcutta",
"description":"Some Description",
"startTime":1373468820054,
"endTime":1373468940054,
"createdBy":null,
"chatEnabled":false,
"chatAllAttendees":false,
"chatHost":false,
"chatPresenter":false,
"serverRecordingEnabled":true,
"maxUsers":4,
"confNumber":null,
"publicEvent":true,
"maxCount":4,
"concurrentSpeakers":1,
"registeredOnly":false,
"liveVideo":true,
"recordVideoEnabled":true,
"downloadedPlayback":true,
"altConfNumber":null,
"confCallHostCode":null,
"confCallAcessCode":null,
"audioType":"voip"
}
REST API Reference | Integration APIs | 2192

Create Meeting Attendee


This REST end point when invoked creates a meeting attendee on the third party meeting
provider's system.

Header Parameters
Table 611: Header Parameters

Parameters Passed Description

serviceName It will hold ADD_ATTENDEE.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"role":"PARTICIPANT",
"meetingId":"697282777",
"firstName":"pankaj",
"lastName":"kathuria",
"emailId":"someuser@gmail.com",
"userId":"uId",
"loginName":"pan",
"displayName":"dNme"
}

Note: role can hold one of the following values:


• PARTICIPANT (can attend meeting)
• LEADER (can lead the meeting)
• CO_PRESENTER (can present, share screen, etc.)

Response

{
"exception":null,
"attendeeId":"38420577"
}

Delete Meeting Attendee


This REST end point when invoked deletes an existing meeting attendee from the third party
meeting provider's system.
REST API Reference | Integration APIs | 2193

Header Parameters
Table 612: Header Parameters

Parameters Passed Description

serviceName It will hold REMOVE_ATTENDEE.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"meetingId":"697282777",
"emailId":"someuser@gmail.com"
}

Response

status: 200

Get Host URL


This REST end point when invoked returns the Host URL from the third party meeting provider's
system.

Header Parameters
Table 613: Header Parameters

Parameters Passed Description

serviceName It will hold HOST_URL.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.


REST API Reference | Integration APIs | 2194

Request Body

{
"id":"697282777"
}

Response

{
"attendeeURL":"https://apidemoeu.abc.com/apidemoeu/p.php
?AT=LI&WID=apuliyeril&TK=7514d7eeb0356af2628575969e22472536163c
3cb94f2dacf84906b30bf9bf2d&MU=https%3A%2F%2Fapidemoeu.abc.com
%2Fapidemoeu%2Fm.php%3FAT%3DHM%26MK%3D699188867%26Rnd%3D0.2239381
1628800597",
"exception":null
}

Get Attendee URL


This REST end point when invoked returns the Attendee URL from the third party meeting
provider's system.

Header Parameters
Table 614: Header Parameters

Parameters Passed Description

serviceName It will hold ATTENDEE_URL.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"meetingId":"696486050",
"emailId":"someuser@gmail.com",
"firstName":"test",
"lastName":"user1"
}
REST API Reference | Integration APIs | 2195

Response

{
"attendeeURL":" https://apidemoeu.abc.com/apidemoeu/m.php
?AT=JM&MK=693936501&AN=test user1&AE=someuser@gmail.com",
"exception":null
}

Meeting attendance
This REST end point when invoked returns the Attendee URL from the third party meeting
provider's system.

Header Parameters
Table 615: Header Parameters

Parameters Passed Description

serviceName It will hold MEETING_ATTENDANCE.


It is the service name to indicate what action is being requested.

username The username of the meeting provider's system URL.

password The password of the meeting provider's system URL.

sitename The sitename of the meeting provider's system.

Request Body

{
"id":"699498484"
}

Response

{
"attendees":[
{
"duration":"13",
"email":"apuliyeril@saba.com",
"participantType":null
}
]
}

Note: duration is the number of minutes for which the user attended the meeting.
email is the email address of the attendee.
participantType is the type of attendee: PARTICIPANT, LEADER, CO_PRESENTER
REST API Reference | Index | 2197

Index
A C
add an IP range 2109 calendar componentscreate a new appointment
add attachment to object 336 create a new appointment 2086
add audience type to a subscription 1660 calendar componentsdelete an existing appointment
add categories to a course 1165 delete an existing appointment 2090
add categories to a course (lookup based) 1166 calendar componentsget the details of a particular
add cost limit price to a subscription 1665 appointment
add currency to person 173 get the details of a particular appointment 2085
add custom section details for a person 146 calendar componentsupdate an existing
add deliverytype/subscription item to a subscription appointment
1662 update an existing appointment 2088
add drop policy to class 1022 cancel all enrollments of a class 1012
add education details for a person 143 cancel all enrollments of a learner 309
add flightrisk details for a person 148 cancel an enrollment 1415
add grid custom section details for a person 167 cancel an order 1562
add learning assignments to a class 996 cancel registration 2177
add or update the custom fields of an enrollment change learner of a particular learning subscription
1432 1699
add secondary address for a person 172 change status of a goal 1874
add smartlist as criteria for audience type 650 change status of held certification/curriculum 1519
add subscription price to a subscription 1664 cif componentscreate a new content folder
add tags to category 1178 create a new content folder 2165
add the career interests details of a person 153 cif componentsfind the details of the content folder
add the external certifications details of a person find the details of the content folder 2162
154 cif componentsfind the details of the content
add the external work history details of a person 160 inventory
add the im profile details of a person 157 find the details of the content inventory 2138
add the internal work history details of a person 158 cif componentsget a cif certificate
add the mobility details of a person 162 get a cif certificate 2168
add the optional job roles of a person 167 cif componentsget a list of sites
add the potential rating details of a person 163 get a list of sites 2167
add the required job roles of a person 166 cif componentsget all content folder
add the security roles of a person 164 get all content folder 2162
add value to lov for an attribute 476 cif componentsget all content inventory
adds language details for a person 149 get all content inventory 2138
adds the potential positions details of a person 151 cif componentsget content's details along with the
adds the retirement risk details of a person 152 subscriptions, tags, categories, languages
approve / reject an order invoice payment 1534 get content's details along with the
approve / reject an order item 1534 subscriptions, tags, categories,
approve / reject an order paid using tua 1535 languages 2142
assess person's competency 297 cif componentsget content's details along with the
assign a course or a recurring course to a person subscriptions, tags, categories, languages
1517 (using post)
assign a resource to an offering 1629 get content's details along with the
assign audience type / sub audience type to a person subscriptions, tags, categories,
169 languages (using post) 2145
assign certification/curriculum to a person 1500 cif componentsget the content's details along with
assign external co-presenters to vc offering 1634 the metadata
assign person as a resource 170 get the content's details along with the
assign position for a person 583 metadata 2140
assign the audience type to the person 350 cif componentsget the details of a particular content
auto-enroll learners into courses inside the folder, root folders, or a list of all the
certification/curriculum 1498 subfolders
get the details of a particular content folder,
root folders, or a list of all the subfolders
2164
REST API Reference | Index | 2198

cif componentsget the initial system values for create a new training unit 1790
contenttypes, contentformats, create a new training unit agreement 1812
contentservers create a new transcript 1756
get the initial system values for contenttypes, create a new virtual class 921
contentformats, contentservers 2169 create a new wbt class 941
cif componentsget version details of the product create a profile [external person] 176
get version details of the product 2166 create a profile [internal person] 185
cif componentspublish content create a subscription order 1685
publish content 2147 create goal for self/team 1856
cif componentsupdate content inventory create progress of a goal 1873
update content inventory 2156 create pulse survey 1919
CIFresult reporting create task 1840
result reporting 2178
common 313
contact information xxv
D
content componentscancel registration delete a discussion 714
cancel registration 2177 delete a exchange rate 429
content componentsreport result delete a facility 447
report result 2173 delete a particular discount entry for the training
contract information xxv unit 1797
create a new appointment 2086 delete a particular module 1527
create a new attachment 330 delete a particular path 1568
create a new attachment (url) 331 delete a particular price list entry 1612
create a new audience type 347 delete a particular pricelist entry for the training
create a new blended class 899 unit 1800
create a new candidate 2055 delete a particular training unit 1794
create a new category 1167 delete a path, module or intervention 782
create a new certification 1055 delete a person's profile pic 311
create a new competency 374 delete a required job role from a person 302
create a new content folder 2165 delete a security role from a person 302
create a new country 390 delete a sessiontemplate 1723
create a new course 1122 delete a smartlist 649
create a new curriculum 1207 delete a specific component from a person 300
create a new delivery mode 1239 delete a transcript 1774
create a new discount entry for the training unit 1796 delete an audience type / audience sub types
create a new enrollment 1348 assigned to a person 304
create a new exchange rate 427 delete an existing appointment 2090
create a new external organization 542 delete an optional job role from a person 303
create a new facility 442 delete attachment resource 337
create a new ilt class 908 delete drop policy from class 1023
create a new internal organization 526 delete external co-presenters from vc offering 1635
create a new job application 2044 delete file posted on saba activity stream. 695
create a new job family 469 delete idea posted on saba activity stream. 693
create a new job requisition 2028 delete ip range 2111
create a new job type 459 delete issue posted on saba activity stream. 694
create a new language 398 delete item from list 478
create a new learning module 1523 delete item from list (by listid and name of the list
create a new location 491 value) 479
create a new note 608 delete link posted on saba activity stream. 694
create a new package 1577 delete package 1586
create a new package order 1416 delete person's currency 307
create a new path 1563 delete person's currency based on currency isocode
create a new position 572 lookup 308
create a new price list entry for a learning item 1609 delete person's internal work history details 307
create a new pricelist entry for the training unit 1798 delete person's qualified learning information 305
create a new purchase order 1598 delete person's rate information 305
create a new role 593 delete person's spoken language information 306
create a new session template 1721 delete position of a person 580
create a new smartlist 633 delete state 408
create a new state 406 delete task 1844
create a new sub audience type 361 delete the details of a particular purchase order
create a new subscription 1654 1603
REST API Reference | Index | 2199

E find the details of the certification/curriculum 1037,


1192
enroll for other user/self 1365 find the details of the certification/curriculum (using
enroll for other user/self with payment 1381 post - range based search) 1047, 1200
execute async report 2072 find the details of the checklist 1287
execute report 2075 find the details of the competencies 366
people componentsupdate a profile for given person find the details of the content folder 2162
name [external] find the details of the content inventory 2138
update a profile for given person name find the details of the country 385
[external] 226, 240 find the details of the course (using post - range
people componentsupdate a profile for given person based search) 1081
id [external] find the details of the course activities based on
update a profile for given person id [external] criteria 1511
199, 213 find the details of the courses 1078
people componentscreate a profile [external person] find the details of the currencies 410
create a profile [external person] 176, 185 find the details of the delivery mode 1237
find the details of the enrollments 1296
find the details of the exchange rate 422
F find the details of the facilities 431
fetch data url 2135 find the details of the fields of study 1445
find all attachments 326 find the details of the held checklist 1259
find all public/private attachments 328 find the details of the internal/external organizations
find all reviews 1928 499
find details of smartlists 627 find the details of the job requisition 1978
find details of sub audience types 352 find the details of the job requisition (using post -
find details of the language 393 range based search) 1980
find evaluations for registrations 1322 find the details of the jobfamilies 466
find extended details of classes 860 find the details of the jobtypes 449
find extended details of classes (using post - range find the details of the locations 480
based search) 865 find the details of the notes 601
find learning assignments for registrations 1319 find the details of the offerings 785
find meta details of sub audience types 353 find the details of the orders 1529
find profile information 99 find the details of the packages 1568
find social resource of a group 671 find the details of the positions 566
find social resource of a group (using post - range find the details of the positions (using post - range
based search) 674 based search) 567
find social resources 661 find the details of the purchase order 1588
find social resources (using post - range based find the details of the purchase order (using post -
search) 666 range based search) 1590
find the calendar events 2082 find the details of the recurring course activities
find the details of checklist (using post - range based based on criteria 1512
search) 1288 find the details of the recurring course completions
find the details of currency (using post - range based 1144
search) 415 find the details of the recurring course completions
find the details of delivery mode (using post - range (using post - range based search) 1151
based search) 1238 find the details of the review cycles 1930
find the details of exchange rate (using post - range find the details of the reviews 1932
based search) 424 find the details of the reviews with post based
find the details of field of study (using post - range search 1974
based search) 1449 find the details of the roles 586
find the details of held checklist (using post - range find the details of the security roles 615
based search) 1261 find the details of the session templates 1701
find the details of notes for given note id 603 find the details of the state 401
find the details of notes for given reference id 604 find the details of the subscription 1651
find the details of session template (using post - find the details of the subscription (using post -
range based search) 1707 range based search) 1659
find the details of sub audience type (using post - find the details of the subscription orders 1668
range based search) 362 find the details of the tasks 1836
find the details of the attachment for a given id 323 find the details of the tasks (using post based
find the details of the audiencetypes 344 search) 1838
find the details of the categories 1175 find the details of the training unit 1777
REST API Reference | Index | 2200

find the details of the training unit (using post - foundation componentscreate a new role
range based search) 1779 create a new role 593
find the details of the training unit agreement 1811 foundation componentscreate a new smartlist
find the details of the transcripts 1725 create a new smartlist 633
find the details of the transcripts (using post - range foundation componentscreate a new state
based search) 1736 create a new state 406
find the meta details of exchange rate 417 foundation componentscreate a new sub audience
find the meta details of job families 467 type
find the meta details of locations 482 create a new sub audience type 361
find the meta details of notes 605 foundation componentsdelete a discussion
find the meta details of smartlists 625 delete a discussion 714
find the meta details of the audience types 339 foundation componentsdelete a exchange rate
find the meta details of the currency 411 delete a exchange rate 429
find the meta details of the job types 451 foundation componentsdelete a facility
find the transcripts that have changed over a given delete a facility 447
period of time 1734 foundation componentsdelete a smartlist
follow persons 175 delete a smartlist 649
foundation 473 foundation componentsdelete attachment resource
foundation componentsadd attachment to object delete attachment resource 337
add attachment to object 336 foundation componentsdelete file posted on saba
foundation componentsadd smartlist as criteria for activity stream.
audience type delete file posted on saba activity stream. 695
add smartlist as criteria for audience type 650 foundation componentsdelete idea posted on saba
foundation componentsadd value to lov for an activity stream.
attribute delete idea posted on saba activity stream. 693
add value to lov for an attribute 476 foundation componentsdelete issue posted on saba
foundation componentsassign the audience type activity stream.
to the person delete issue posted on saba activity stream. 694
assign the audience type to the person 350 foundation componentsdelete item from list
foundation componentscreate a new attachment delete item from list 478
create a new attachment 330 foundation componentsdelete item from list (by
foundation componentscreate a new attachment listid and name of the list value)
(url) delete item from list (by listid and name of the
create a new attachment (url) 331 list value) 479
foundation componentscreate a new audience type foundation componentsdelete link posted on saba
create a new audience type 347 activity stream.
foundation componentscreate a new competency delete link posted on saba activity stream. 694
create a new competency 374 foundation componentsdelete position of a person
foundation componentscreate a new country delete position of a person 580
create a new country 390 foundation componentsdelete state
foundation componentscreate a new exchange rate delete state 408
create a new exchange rate 427 foundation componentsexecute async report
foundation componentscreate a new external execute async report 2072
organization foundation componentsexecute report
create a new external organization 542 execute report 2075
foundation componentscreate a new facility foundation componentsfind all attachments
create a new facility 442 find all attachments 326
foundation componentscreate a new internal foundation componentsfind all public/private
organization attachments
create a new internal organization 526 find all public/private attachments 328
foundation componentscreate a new job family foundation componentsfind details of smartlists
create a new job family 469 find details of smartlists 627
foundation componentscreate a new job type foundation componentsfind details of sub audience
create a new job type 459 types
foundation componentscreate a new language find details of sub audience types 352
create a new language 398 foundation componentsfind details of the language
foundation componentscreate a new location find details of the language 393
create a new location 491 foundation componentsfind meta details of sub
foundation componentscreate a new note audience types
create a new note 608 find meta details of sub audience types 353
foundation componentscreate a new position
create a new position 572
REST API Reference | Index | 2201

foundation componentsfind social resource of a foundation componentsfind the details of the


group jobtypes
find social resource of a group 671 find the details of the jobtypes 449
foundation componentsfind social resource of a foundation componentsfind the details of the
group (using post - range based search) locations
find social resource of a group (using post - find the details of the locations 480
range based search) 674 foundation componentsfind the details of the notes
foundation componentsfind social resources find the details of the notes 601
find social resources 661 foundation componentsfind the details of the
foundation componentsfind social resources (using positions
post - range based search) find the details of the positions 566
find social resources (using post - range based foundation componentsfind the details of the roles
search) 666 find the details of the roles 586
foundation componentsfind the details of currency foundation componentsfind the details of the
(using post - range based search) security roles
find the details of currency (using post - range find the details of the security roles 615
based search) 415 foundation componentsfind the details of the state
foundation componentsfind the details of exchange find the details of the state 401
rate (using post - range based search) foundation componentsfind the meta details of
find the details of exchange rate (using post - exchange rate
range based search) 424 find the meta details of exchange rate 417
foundation componentsfind the details of notes for foundation componentsfind the meta details of job
given note id families
find the details of notes for given note id 603 find the meta details of job families 467
foundation componentsfind the details of notes for foundation componentsfind the meta details of
given reference id locations
find the details of notes for given reference id find the meta details of locations 482
604 foundation componentsfind the meta details of
foundation componentsfind the details of sub notes
audience type (using post - range based find the meta details of notes 605
search) foundation componentsfind the meta details of
find the details of sub audience type (using post smartlists
- range based search) 362 find the meta details of smartlists 625
foundation componentsfind the details of the foundation componentsfind the meta details of the
attachment for a given id audience types
find the details of the attachment for a given id find the meta details of the audience types 339
323 foundation componentsfind the meta details of the
foundation componentsfind the details of the currency
audiencetypes find the meta details of the currency 411
find the details of the audiencetypes 344 foundation componentsfind the meta details of the
foundation componentsfind the details of the job types
competencies find the meta details of the job types 451
find the details of the competencies 366 foundation componentsget a particular list value
foundation componentsfind the details of the get a particular list value 473
country foundation componentsget actual content of an
find the details of the country 385 attachment
foundation componentsfind the details of the get actual content of an attachment 326
currencies foundation componentsget all attachments for an
find the details of the currencies 410 object
foundation componentsfind the details of the get all attachments for an object 337
exchange rate foundation componentsget all audiencetypes
find the details of the exchange rate 422 get all audiencetypes 338
foundation componentsfind the details of the foundation componentsget all competencies
facilities get all competencies 365
find the details of the facilities 431 foundation componentsget all countries
foundation componentsfind the details of the get all countries 386
internal/external organizations foundation componentsget all currencies
find the details of the internal/external get all currencies 413
organizations 499 foundation componentsget all exchange rates
foundation componentsfind the details of the get all exchange rates 420
jobfamilies foundation componentsget all facilities
find the details of the jobfamilies 466 get all facilities 430
REST API Reference | Index | 2202

foundation componentsget all jobfamilies foundation componentsget the details of a particular


get all jobfamilies 465 competency
foundation componentsget all jobtypes get the details of a particular competency 368
get all jobtypes 448 foundation componentsget the details of a particular
foundation componentsget all languages country
get all languages 394 get the details of a particular country 387
foundation componentsget all locations foundation componentsget the details of a particular
get all locations 480 currency
foundation componentsget all organizations get the details of a particular currency 414
get all organizations 497 foundation componentsget the details of a particular
foundation componentsget all positions exchange rate
get all positions 569 get the details of a particular exchange rate 421
foundation componentsget all roles foundation componentsget the details of a particular
get all roles 585 facility
foundation componentsget all security domains get the details of a particular facility 432
get all security domains 621 foundation componentsget the details of a particular
foundation componentsget all security roles job family
get all security roles 612 get the details of a particular job family 468
foundation componentsget all states foundation componentsget the details of a particular
get all states 402 language with search fields
foundation componentsget all sub audience types get the details of a particular language with
get all sub audience types 358 search fields 397
foundation componentsget all the smartlists foundation componentsget the details of a particular
get all the smartlists 624 location
foundation componentsget all the timezones get the details of a particular location 489
get all the timezones 653 foundation componentsget the details of a particular
foundation componentsget attachment resource position
get attachment resource 335 get the details of a particular position 570
foundation componentsget comment details of a foundation componentsget the details of a particular
resource role
get comment details of a resource 697 get the details of a particular role 591
foundation componentsget details of a particular foundation componentsget the details of a particular
language security domain
get details of a particular language 397 get the details of a particular security domain
foundation componentsget details of a particular 623
sub audience type foundation componentsget the details of a particular
get details of a particular sub audience type 360 security role
foundation componentsget details of a social get the details of a particular security role 614
resource foundation componentsget the details of a particular
get details of a social resource 658 smartlist
foundation componentsget discussion detail get the details of a particular smartlist 629
get discussion detail 711 foundation componentsget the details of a particular
foundation componentsget group details state
get group details 703 get the details of a particular state 404
foundation componentsget like details of a resource foundation componentsget the details of a particular
get like details of a resource 698 timezone
foundation componentsget list value by list id and get the details of a particular timezone 655
list value name foundation componentsget the details of an
get list value by list id and list value name 474 organization
foundation componentsget locales get the details of an organization 502
get locales 400 foundation componentsget the details of the job
foundation componentsget report definition type
get report definition 2064 get the details of the job type 457
foundation componentsget report list foundation componentsget the meta details of an
get report list 2067 organization
foundation componentsget social interactions of a get the meta details of an organization 505
user foundation componentsget the meta details of
get social interactions of a user 700 competencies
foundation componentsget the details of a particular get the meta details of competencies 370
audience type foundation componentsget the meta details of
get the details of a particular audience type 345 facilities
get the meta details of facilities 433
REST API Reference | Index | 2203

foundation componentsget the meta details of foundation componentsstart a new discussion


positions start a new discussion 712
get the meta details of positions 558 foundation componentsunlike a resource
foundation componentsget the meta details of the unlike a resource 696
available roles foundation componentsupdate an attachment
get the meta details of the available roles 587 update an attachment 334
foundation componentsget the meta details of the foundation componentsupdate details of a sub
country audience type
get the meta details of the country 388 update details of a sub audience type 363
foundation componentsget the meta details of the foundation componentsupdate discussion detail
state update discussion detail 713
get the meta details of the state 404 foundation componentsupdate file posted on saba
foundation componentsget the person's matching activity stream.
criteria of a particular smartlist update file posted on saba activity stream. 691
get the person's matching criteria of a particular foundation componentsupdate idea posted on saba
smartlist 631 activity stream.
foundation componentsget the persons assigned update idea posted on saba activity stream. 684
to the audience type foundation componentsupdate issue posted on saba
get the persons assigned to the audience type activity stream.
350 update issue posted on saba activity stream.
foundation componentsget the security domain's 686
metadata foundation componentsupdate link posted on saba
get the security domain's metadata 616 activity stream.
foundation componentsget the security role's update link posted on saba activity stream. 689
metadata foundation componentsupdate locale-specific
get the security role's metadata 609 details of blended class
foundation componentsget the timezone's metadata update locale-specific details of blended class
get the timezone's metadata 651 1024
foundation componentsglobal search foundation componentsupdate locale-specific
global search 318 details of certification
foundation componentslike or dislike a resource update locale-specific details of certification
like or dislike a resource 695 1075
foundation componentsmanage group membership foundation componentsupdate locale-specific
manage group membership 710 details of competency
foundation componentspost a comment on a update locale-specific details of competency
resource 383
post a comment on a resource 699 foundation componentsupdate locale-specific
foundation componentspost file to saba activity details of country
stream. update locale-specific details of country 392
post file to saba activity stream. 681 foundation componentsupdate locale-specific
foundation componentspost idea to saba activity details of course
stream. update locale-specific details of course 1142
post idea to saba activity stream. 675 foundation componentsupdate locale-specific
foundation componentspost issue to saba activity details of curriculum
stream. update locale-specific details of curriculum 1222
post issue to saba activity stream. 677 foundation componentsupdate locale-specific
foundation componentspost link to saba activity details of ilt class
stream. update locale-specific details of ilt class 1025
post link to saba activity stream. 679 foundation componentsupdate locale-specific
foundation componentsreport async execution details of job family
status update locale-specific details of job family 472
report async execution status 2069 foundation componentsupdate locale-specific
foundation componentssearch all groups (admin details of job requisition
mode) update locale-specific details of job requisition
search all groups (admin mode) 706 2042
foundation componentssearch list values foundation componentsupdate locale-specific
search list values 475 details of jobtype
foundation componentssearch my groups update locale-specific details of jobtype 463
search my groups 704 foundation componentsupdate locale-specific
foundation componentssearch my groups (post details of role
based) update locale-specific details of role 600
search my groups (post based) 708
REST API Reference | Index | 2204

foundation componentsupdate locale-specific foundation componentsupdate the details of an


details of smartlist external organization
update locale-specific details of smartlist 649 update the details of an external organization
foundation componentsupdate locale-specific 548
details of state foundation componentsupdate the details of an
update locale-specific details of state 409 internal organization
foundation componentsupdate locale-specific update the details of an internal organization
details of subscription 532
update locale-specific details of subscription foundation componentsupdate value of list
1666 update value of list 477
foundation componentsupdate locale-specific
details of virtual class
update locale-specific details of virtual class
G
1027 get a cif certificate 2168
foundation componentsupdate locale-specific get a list of sites 2167
details of wbt offering get a particular list value 473
update locale-specific details of wbt offering get active survey detail 1901
1028 get active survey info 1910
foundation componentsupdate locale-specific get active survey question details 1912
details training unit get actual content of an attachment 326
update locale-specific details training unit 1801 get admin heatmap data 1897
foundation componentsupdate position incumbent get all active job-postings 2052
of a person get all assessments of competencies for a person
update position incumbent of a person 582 1927
foundation componentsupdate the details of a get all attachments for an object 337
competency get all audiencetypes 338
update the details of a competency 378 get all categories 1159
foundation componentsupdate the details of a get all checklist 1286
country get all competencies 365
update the details of a country 391 get all content folder 2162
foundation componentsupdate the details of a get all content inventory 2138
exchange rate get all countries 386
update the details of a exchange rate 428 get all courses 1077
foundation componentsupdate the details of a get all currencies 413
facility get all delivery mode 1234
update the details of a facility 445 get all details of policies on course, delivery mode
foundation componentsupdate the details of a job or offering 1180
family get all enrollments 1295
update the details of a job family 470 get all exchange rates 420
foundation componentsupdate the details of a job get all external co-presenters of vc offering 1633
type get all facilities 430
update the details of a job type 461 get all fields of study 1439
foundation componentsupdate the details of a get all goals for a person 1846
language get all held checklist 1257
update the details of a language 399 get all job requisitions 1983
foundation componentsupdate the details of a get all jobfamilies 465
particular location get all jobtypes 448
update the details of a particular location 494 get all languages 394
foundation componentsupdate the details of a get all locations 480
position get all offerings 783
update the details of a position 578 get all orders 1528
foundation componentsupdate the details of a role get all organizations 497
update the details of a role 597 get all packages 1573
foundation componentsupdate the details of a get all persons(internal/external) 106
smartlist get all positions 569
update the details of a smartlist 641 get all purchase orders 1587
foundation componentsupdate the details of a state get all review cycles 1933
update the details of a state 407 get all roles 585
foundation componentsupdate the details of an get all scheduled data import jobs 2102
audience type get all scheduled data import jobs - post based 2104
update the details of an audience type 348 get all security domains 621
get all security roles 612
REST API Reference | Index | 2205

get all session templates 1713 get status of job 2134


get all states 402 get the audience type / audience sub types assigned
get all sub audience types 358 to a person 128, 129
get all subscriptions 1650 get the content's details along with the metadata
get all task 1834 2140
get all the competencies for a person 1923 get the details of a certification 1030
get all the course activities of the logged in user 1509 get the details of a class 821
get all the offerings of the instructor 988 get the details of a curriculum 1188
get all the records of a component 731 get the details of a particular appointment 2085
get all the smartlists 624 get the details of a particular attendance 720
get all the timezones 653 get the details of a particular audience type 345
get all training unit agreements 1803 get the details of a particular category 1160
get all training units 1775 get the details of a particular category along with
get all transcripts 1724 its hierarchy (sub-categories) 1162
get attachment resource 335 get the details of a particular checklist 1280
get certifications/enrollments/transcripts for a get the details of a particular competency 368
person 108 get the details of a particular competency of a
get chart question data 1894 particular person 1926
get comment details of a resource 697 get the details of a particular component 732
get completion and lesson details of the learning get the details of a particular content folder, root
event 1456 folders, or a list of all the subfolders 2164
get content's details along with the subscriptions, get the details of a particular country 387
tags, categories, languages 2142 get the details of a particular course 1085
get content's details along with the subscriptions, get the details of a particular course activity 1508
tags, categories, languages (using post) 2145 get the details of a particular currency 414
get details of (specific) policies on course, delivery get the details of a particular delivery mode 1235
mode or offering 1182 get the details of a particular discount entry for the
get details of a particular job-posting 2053 training unit 1795
get details of a particular language 397 get the details of a particular exchange rate 421
get details of a particular sub audience type 360 get the details of a particular facility 432
get details of a scheduled data import job 2107 get the details of a particular field of study 1444
get details of a social resource 658 get the details of a particular goal 1849
get details of price list 1603 get the details of a particular held checklist 1253
get details of price list entry on course, delivery get the details of a particular job family 468
mode, offering, package, training unit 1606 get the details of a particular job requisition 1984
GET DETAILS OF TASK 1835 get the details of a particular language with search
get details of the desired component for a person. fields 397
114 get the details of a particular learning subscription
get discussion detail 711 1696
get existing registration details or auto enroll user get the details of a particular location 489
and get registration details 1342 get the details of a particular package 1574
get group details 703 get the details of a particular position 570
get held certification/curriculum activity details 1454 get the details of a particular pricelist entry for the
get held certification/curriculum details along with training unit 1797
all the activities 1462 get the details of a particular purchase order 1591
get image url of an object 1822 get the details of a particular review 1935
get like details of a resource 698 get the details of a particular review cycle 1936
get list value by list id and list value name 474 get the details of a particular role 591
get locales 400 get the details of a particular security domain 623
get order item billing details 1561 get the details of a particular security role 614
get person's followers 133 get the details of a particular smartlist 629
get person's followings 134 get the details of a particular state 404
get person's resource details 131 get the details of a particular subscription 1647
get profile pic 131 get the details of a particular timezone 655
get profile pic url 130 get the details of a particular training unit 1789
get pulse dashboard details 1886 get the details of a particular training unit
get report definition 2064 agreement 1804
get report list 2067 get the details of a sessiontemplate 1717
get resource details 1620 get the details of an enrollment 1325
get resource for a given offering 1623 get the details of an organization 502
get session for a given offering 1625 get the details of the job type 457
get social interactions of a user 700 get the details of transcript 1744, 1745
REST API Reference | Index | 2206

get the evaluation details of an enrollment 1341 learning componentsadd category to course (lookup
get the extended details of a particular review 1938 based)
get the extended details of a particular review cycle add categories to a course (lookup based) 1166
1943 learning componentsadd cost limit price to a
get the initial system values for contenttypes, subscription
contentformats, contentservers 2169 add cost limit price to a subscription 1665
get the job / security roles of a particular person 123 learning componentsadd deliverytype/subscription
get the list of data extract jobs 2092 item to a subscription
get the meta details of a blended class 793 add deliverytype/subscription item to a
get the meta details of a component 737, 1965 subscription 1662
get the meta details of a ilt class 807 learning componentsadd drop policy to class
get the meta details of a review-cycle 1949 add drop policy to class 1022
get the meta details of a virtual class 871 learning componentsadd learning assignments to
get the meta details of a wbt class 885 a class
get the meta details of an organization 505 add learning assignments to a class 996
get the meta details of attendance 718 learning componentsadd or update the custom
get the meta details of checklist 1264 fields of an enrollment
get the meta details of competencies 370 add or update the custom fields of an enrollment
get the meta details of course 1088 1432
get the meta details of delivery mode 1224 learning componentsadd subscription price to a
get the meta details of facilities 433 subscription
get the meta details of field of study 1435 add subscription price to a subscription 1664
get the meta details of held checklist 1245 learning componentsadd tags to category
get the meta details of job requisition 2000 add tags to category 1178
get the meta details of positions 558 learning componentsapprove / reject an order
get the meta details of sessiontemplate 1718 invoice payment
get the meta details of tasks 1824 approve / reject an order invoice payment 1534
get the meta details of the available roles 587 learning componentsapprove / reject an order item
get the meta details of the country 388 approve / reject an order item 1534
get the meta details of the course activity 1506 learning componentsapprove / reject an order paid
get the meta details of the purchase order 1593 using tua
get the meta details of the state 404 approve / reject an order paid using tua 1535
get the meta details of the subscription 1635 learning componentsassign a course or a recurring
get the meta details of the training unit 1781 course to a person
get the meta details of the transcript 1747 assign a course or a recurring course to a
get the meta details of training unit agreement 1805 person 1517
get the metadata of specific people attributes 117 learning componentsassign a resource to an
get the order details of a particular order 1544 offering
get the order details of a particular subscription assign a resource to an offering 1629
order 1670 learning componentsassign certification/curriculum
get the person's matching criteria of a particular to a person
smartlist 631 assign certification/curriculum to a person 1500
get the persons assigned to the audience type 350 learning componentsassign external co-presenters
get the purpose details 1623 to vc offering
get the required profile details of a particular person assign external co-presenters to vc offering 1634
119 learning componentsauto-enroll learners into
get the security domain's metadata 616 courses inside the certification/curriculum
get the security role's metadata 609 auto-enroll learners into courses inside the
get the timezone's metadata 651 certification/curriculum 1498
get version details of the product 2166 learning componentscancel all enrollments of a class
global search 318 cancel all enrollments of a class 1012
grant certification/curriculum to a learner 1502 learning componentscancel all enrollments of a
learner
cancel all enrollments of a learner 309
L learning componentscancel an enrollment
learning componentsadd audience type to a cancel an enrollment 1415
subscription learning componentscancel an order
add audience type to a subscription 1660 cancel an order 1562
learning componentsadd category to course learning componentschange learner of a particular
add categories to a course 1165 learning subscription
change learner of a particular learning
subscription 1699
REST API Reference | Index | 2207

learning componentschange status of held learning componentsdelete a particular discount


certification/curriculum entry for the training unit
change status of held certification/curriculum delete a particular discount entry for the training
1519 unit 1797
learning componentscreate a new blended class learning componentsdelete a particular module
create a new blended class 899 delete a particular module 1527
learning componentscreate a new category learning componentsdelete a particular path
create a new category 1167 delete a particular path 1568
learning componentscreate a new certification learning componentsdelete a particular price list
create a new certification 1055 entry
learning componentscreate a new course delete a particular pricelist entry 1612
create a new course 1122 learning componentsdelete a particular pricelist
learning componentscreate a new curriculum entry for the training unit
create a new curriculum 1207 delete a particular pricelist entry for the training
learning componentscreate a new delivery mode unit 1800
create a new delivery mode 1239 learning componentsdelete a particular training unit
learning componentscreate a new discount entry delete a particular training unit 1794
for the training unit learning componentsdelete a path, module or
create a new discount entry for the training unit intervention
1796 delete a path, module or intervention 782
learning componentscreate a new enrollment learning componentsdelete a sessiontemplate
create a new enrollment 1348 delete a sessiontemplate 1723
learning componentscreate a new ilt class learning componentsdelete a transcript
create a new ilt class 908 delete a transcript 1774
learning componentscreate a new learning module learning componentsdelete drop policy from class
create a new learning module 1523 delete drop policy from class 1023
learning componentscreate a new package learning componentsdelete external co-presenters
create a new package 1577 from vc offering
learning componentscreate a new package order delete external co-presenters from vc offering
create a new package order 1416 1635
learning componentscreate a new path learning componentsdelete package
create a new path 1563 delete package 1586
learning componentscreate a new price list entry learning componentsdelete task
for a learning item delete task 1844
create a new price list entry for a learning item learning componentsdelete the details of a
1609 particular purchase order
learning componentscreate a new pricelist entry delete the details of a particular purchase order
for the training unit 1603
create a new pricelist entry for the training unit learning componentsenroll for other user/self
1798 enroll for other user/self 1365
learning componentscreate a new purchase order learning componentsenroll for other user/self with
create a new purchase order 1598 payment
learning componentscreate a new session template enroll for other user/self with payment 1381
create a new session template 1721 learning componentsfind evaluations for
learning componentscreate a new subscription registrations
create a new subscription 1654 find evaluations for registrations 1322
learning componentscreate a new training unit learning componentsfind extended details of classes
create a new training unit 1790 find extended details of classes 860
learning componentscreate a new training unit learning componentsfind extended details of classes
agreement (using post - range based search)
create a new training unit agreement 1812 find extended details of classes (using post -
learning componentscreate a new transcript range based search) 865
create a new transcript 1756 learning componentsfind learning assignments for
learning componentscreate a new virtual class registrations
create a new virtual class 921 find learning assignments for registrations 1319
learning componentscreate a new wbt class learning componentsfind the calendar events
create a new wbt class 941 find the calendar events 2082
learning componentscreate subscription order learning componentsfind the details of checklist
create a subscription order 1685 (using post - range based search)
learning componentscreate task find the details of checklist (using post - range
create task 1840 based search) 1288
REST API Reference | Index | 2208

learning componentsfind the details of delivery learning componentsfind the details of the positions
mode (using post - range based search) (using post - range based search)
find the details of delivery mode (using post - find the details of the positions (using post -
range based search) 1238 range based search) 567
learning componentsfind the details of field of study learning componentsfind the details of the purchase
(using post - range based search) order
find the details of field of study (using post - find the details of the purchase order 1588
range based search) 1449 learning componentsfind the details of the purchase
learning componentsfind the details of held checklist order (using post - range based search)
(using post - range based search) find the details of the purchase order (using post
find the details of held checklist (using post - - range based search) 1590
range based search) 1261 learning componentsfind the details of the recurring
learning componentsfind the details of session course activities based on criteria
template (using post - range based search) find the details of the recurring course activities
find the details of session template (using post based on criteria 1512
- range based search) 1707 learning componentsfind the details of the recurring
learning componentsfind the details of the course completions
categories find the details of the recurring course
find the details of the categories 1175 completions 1144
learning componentsfind the details of the learning componentsfind the details of the recurring
certification/curriculum course completions (using post - range
find the details of the certification/curriculum based search)
1037, 1192 find the details of the recurring course
learning componentsfind the details of the completions (using post - range based
certification/curriculum (using post - range search) 1151
based search) learning componentsfind the details of the session
find the details of the certification/curriculum templates
(using post - range based search) 1047, find the details of the session templates 1701
1200 learning componentsfind the details of the
learning componentsfind the details of the checklist subscription
find the details of the checklist 1287 find the details of the subscription 1651
learning componentsfind the details of the course learning componentsfind the details of the
(using post - range based search) subscription (using post - range based
find the details of the course (using post - range search)
based search) 1081 find the details of the subscription (using post -
learning componentsfind the details of the course range based search) 1659
activities based on criteria learning componentsfind the details of the
find the details of the course activities based on subscription orders
criteria 1511 find the details of the subscription orders 1668
learning componentsfind the details of the courses learning componentsfind the details of the tasks
find the details of the courses 1078 find the details of the tasks 1836
learning componentsfind the details of the delivery learning componentsfind the details of the tasks
mode (using post based search)
find the details of the delivery mode 1237 find the details of the tasks (using post based
learning componentsfind the details of the search) 1838
enrollments learning componentsfind the details of the training
find the details of the enrollments 1296 unit
learning componentsfind the details of the fields of find the details of the training unit 1777
study learning componentsfind the details of the training
find the details of the fields of study 1445 unit (using post - range based search)
learning componentsfind the details of the held find the details of the training unit (using post -
checklist range based search) 1779
find the details of the held checklist 1259 learning componentsfind the details of the training
learning componentsfind the details of the offerings unit agreement
find the details of the offerings 785 find the details of the training unit agreement
learning componentsfind the details of the orders 1811
find the details of the orders 1529 learning componentsfind the details of the
learning componentsfind the details of the packages transcripts
find the details of the packages 1568 find the details of the transcripts 1725
REST API Reference | Index | 2209

learning componentsfind the details of the learning componentsget all transcripts


transcripts (using post - range based get all transcripts 1724
search) learning componentsget completion and lesson
find the details of the transcripts (using post - details of the learning event
range based search) 1736 get completion and lesson details of the learning
learning componentsfind the transcripts that have event 1456
changed over a given period of time learning componentsget details of (specific) policies
find the transcripts that have changed over a on course, delivery mode or offering
given period of time 1734 get details of (specific) policies on course,
learning componentsget all categories delivery mode or offering 1182
get all categories 1159 learning componentsget details of policies on
learning componentsget all checklist course, delivery mode or offering
get all checklist 1286 get details of policies on course, delivery mode
learning componentsget all courses or offering 1183
get all courses 1077 learning componentsget details of price list
learning componentsget all delivery mode get details of price list 1603
get all delivery mode 1234 learning componentsget details of price list entry
learning componentsget all details of policies on on course, delivery mode, offering, package,
course, delivery mode or offering training unit
get all details of policies on course, delivery get details of price list entry on course, delivery
mode or offering 1180 mode, offering, package, training unit
learning componentsget all enrollments 1606
get all enrollments 1295 learning componentsGET DETAILS OF TASK
learning componentsget all external co-presenters GET DETAILS OF TASK 1835
of vc offering learning componentsget existing registration details
get all external co-presenters of vc offering 1633 or auto enroll user and get registration
learning componentsget all fields of study details
get all fields of study 1439 get existing registration details or auto enroll
learning componentsget all held checklist user and get registration details 1342
get all held checklist 1257 learning componentsget held
learning componentsget all offerings certification/curriculum activity details
get all offerings 783 get held certification/curriculum activity details
learning componentsget all orders 1454
get all orders 1528 learning componentsget held
learning componentsget all packages certification/curriculum details along with
get all packages 1573 all the activities
learning componentsget all purchase orders get held certification/curriculum details along
get all purchase orders 1587 with all the activities 1462
learning componentsget all session templates learning componentsget image url of an object
get all session templates 1713 get image url of an object 1822
learning componentsget all subscriptions learning componentsget order item billing details
get all subscriptions 1650 get order item billing details 1561
learning componentsget all task learning componentsget resource details
get all task 1834 get resource details 1620
learning componentsget all the competencies for a learning componentsget resource for a given
person offering
get all the competencies for a person 1923 get resource for a given offering 1623
learning componentsget all the course activities of learning componentsget session for a given offering
the logged in user get session for a given offering 1625
get all the course activities of the logged in user learning componentsget the details of a certification
1509 get the details of a certification 1030
learning componentsget all the offerings of the learning componentsget the details of a class
instructor get the details of a class 821
get all the offerings of the instructor 988 learning componentsget the details of a curriculum
learning componentsget all the records of a get the details of a curriculum 1188
component learning componentsget the details of a particular
get all the records of a component 731 attendance
learning componentsget all training unit agreements get the details of a particular attendance 720
get all training unit agreements 1803 learning componentsget the details of a particular
learning componentsget all training units category
get all training units 1775 get the details of a particular category 1160
REST API Reference | Index | 2210

learning componentsget the details of a particular learning componentsget the details of a


category along with its hierarchy sessiontemplate
(sub-categories) get the details of a sessiontemplate 1717
get the details of a particular category along learning componentsget the details of an enrollment
with its hierarchy (sub-categories) 1162 get the details of an enrollment 1325
learning componentsget the details of a particular learning componentsget the details of transcript
checklist get the details of transcript 1744, 1745
get the details of a particular checklist 1280 learning componentsget the evaluation details of
learning componentsget the details of a particular an enrollment
competency of a particular person get the evaluation details of an enrollment 1341
get the details of a particular competency of a learning componentsget the meta details of a
particular person 1926 blended class
learning componentsget the details of a particular get the meta details of a blended class 793
component learning componentsget the meta details of a
get the details of a particular component 732 component
learning componentsget the details of a particular get the meta details of a component 737
course learning componentsget the meta details of a ilt
get the details of a particular course 1085 class
learning componentsget the details of a particular get the meta details of a ilt class 807
course activity learning componentsget the meta details of a virtual
get the details of a particular course activity class
1508 get the meta details of a virtual class 871
learning componentsget the details of a particular learning componentsget the meta details of a wbt
delivery mode class
get the details of a particular delivery mode 1235 get the meta details of a wbt class 885
learning componentsget the details of a particular learning componentsget the meta details of
discount entry for the training unit attendance
get the details of a particular discount entry for get the meta details of attendance 718
the training unit 1795 learning componentsget the meta details of
learning componentsget the details of a particular checklist
field of study get the meta details of checklist 1264
get the details of a particular field of study 1444 learning componentsget the meta details of course
learning componentsget the details of a particular get the meta details of course 1088
held checklist learning componentsget the meta details of delivery
get the details of a particular held checklist 1253 mode
learning componentsget the details of a particular get the meta details of delivery mode 1224
learning subscription learning componentsget the meta details of field of
get the details of a particular learning study
subscription 1696 get the meta details of field of study 1435
learning componentsget the details of a particular learning componentsget the meta details of held
package checklist
get the details of a particular package 1574 get the meta details of held checklist 1245
learning componentsget the details of a particular learning componentsget the meta details of
pricelist entry for the training unit sessiontemplate
get the details of a particular pricelist entry for get the meta details of sessiontemplate 1718
the training unit 1797 learning componentsget the meta details of tasks
learning componentsget the details of a particular get the meta details of tasks 1824
purchase order learning componentsget the meta details of the
get the details of a particular purchase order course activity
1591 get the meta details of the course activity 1506
learning componentsget the details of a particular learning componentsget the meta details of the
subscription purchase order
get the details of a particular subscription 1647 get the meta details of the purchase order 1593
learning componentsget the details of a particular learning componentsget the meta details of the
training unit subscription
get the details of a particular training unit 1789 get the meta details of the subscription 1635
learning componentsget the details of a particular learning componentsget the meta details of the
training unit agreement training unit
get the details of a particular training unit get the meta details of the training unit 1781
agreement 1804 learning componentsget the meta details of the
transcript
get the meta details of the transcript 1747
REST API Reference | Index | 2211

learning componentsget the meta details of training learning componentsretrieve all learning
unit agreement assignments of a class
get the meta details of training unit agreement retrieves all learning assignments of an class
1805 994
learning componentsget the order details of a learning componentsretrieve all sessions of an
particular order offering
get the order details of a particular order 1544 retrieve all sessions of an offering 1012
learning componentsget the order details of a learning componentsretrieve details of an individual
particular subscription order session.
get the order details of a particular subscription retrieve details of an individual session. 1626
order 1670 learning componentsretrieve the assignment details
learning componentsget the purpose details retrieve the assignment details 1627
get the purpose details 1623 learning componentssearch all course activities
learning componentsgrant certification/curriculum based on given criteria (using post - range
to a learner based search)
grant certification/curriculum to a learner 1502 search all course activities based on given
learning componentsmark a task complete criteria (using post - range based
mark a task complete 1433 search) 1514
learning componentsmark an enrollment complete learning componentssearch all subscription orders
mark an enrollment complete 1414 search all subscription orders 1678
learning componentsmark ateendance for a learner learning componentssearch all the
mark ateendance for a learner 721 certifications/curricula assigned to a learner
learning componentsmark class as based on the status, timestamp
delivered/cancelled search all the certifications/curricula assigned
mark class as delivered/cancelled 1001 to a learner based on the status,
learning componentsmark class registration as timestamp 1467
no_show/walk_in learning componentssearch all the
mark class registration as no_show/walk_in 1021 certifications/curricula assigned to a learner
learning componentsmark order item as billed based on the status, timestamp (using post
mark order item as billed 1560 - range based search)
learning componentspublish learning assignments search all the certifications/curricula assigned
of a class to a learner based on the status,
publish learning assignments of a class 999 timestamp (using post - range based
learning componentsremove a category search) 1483
remove a category 1164 learning componentssearch certifications/curricula
learning componentsremove a course or a recurring of the logged in user
course from a learner search certifications/curricula of the logged in
remove a course or a recurring course from a user 1488
learner 1519 learning componentssearch details of an attendance
learning componentsremove an existing assigned search details of an attendance 725
resource learning componentssearch details of an attendance
remove an existing assigned resource 1632 (using post - range based search)
learning componentsremove audience type from a search details of an attendance (using post -
subscription range based search) 728
remove audience type from a subscription 1661 learning componentssearch enrollments based on
learning componentsremove category from a given criteria
course search enrollments based on given criteria 1299,
remove category from a course 1167 1307
learning componentsremove delivery type / learning componentssearch price list by criteria
subscription item from a subscription search price list by criteria 1604
remove delivery type / subscription item from learning componentssearch price list entry by
a subscription 1663 criteria
learning componentsremove subscription price / search price list entry by criteria 1607
cost limit price from a subscription learning componentssearch price list entry by
remove subscription price / cost limit price from criteria post based search
a subscription 1666 search price list entry by criteria post based
learning componentsremove tags from category search 1608
remove tags from category 1179 learning componentssearch purpose list
learning componentsremove the search purpose list 1622
certification/curriculum activity of a learner learning componentssearch resource based on type
remove the certification/curriculum activity of search resource based on type 1612
a learner 1506
REST API Reference | Index | 2212

learning componentssearch resource based on type learning componentsupdate the details of a learning
and criteria module
search resource based on type and criteria 1616 update the details of a learning module 1525
learning componentssearch subscription order - all learning componentsupdate the details of a package
(order history flow) update the details of a package 1582
search subscription order - all (orderhistory learning componentsupdate the details of a
flow) 1679 particular pricelist entry for the training unit
learning componentssearch subscription order - update the details of a particular pricelist entry
with search criteria for the training unit 1800
search subscription order - with search criteria learning componentsupdate the details of a path
1680 update the details of a path 1565
learning componentssearch subscription order - learning componentsupdate the details of a
with search criteria (order history flow) purchase order
search subscription order - with search criteria update the details of a purchase order 1600
(orderhistory flow) 1683 learning componentsupdate the details of a session
learning componentsupdate a blended class template
update a blended class 950 update the details of a session template 1722
learning componentsupdate a ilt class learning componentsupdate the details of a
update a ilt class 956 subscription
learning componentsupdate a transcript update the details of a subscription 1656
update a transcript 1766 learning componentsupdate the details of a training
learning componentsupdate a virtual class unit
update a virtual class 967 update the details of a training unit 1792
learning componentsupdate a wbt class learning componentsupdate the details of a training
update a wbt class 983 unit agreement
learning componentsupdate an existing resource update the details of a training unit agreement
assignment 1815
update an existing resource assignment 1631 learning componentsupdate the expiration date of
learning componentsupdate attendance in bulk the held certification
update attendance in bulk 723 update the expiration date of the held
learning componentsupdate category certification 1504
update category 1171 learning componentsupdate the target days/date
learning componentsupdate learning assignments for the assigned certification/curriculum
of a class activity
update learning assignments of a class 997 update the target days/date for the assigned
learning componentsupdate order's custom fields certification/curriculum activity 1504
update order's custom fields 1536 learning componentsupload image of an object
learning componentsupdate price list entry for a upload image of an object 1817
learning item like or dislike a resource 695
update price list entry for a learning item 1610
learning componentsupdate subscription order's
custom fields
M
update subscription order's custom fields 1696 manage group membership 710
learning componentsupdate task mark a task complete 1433
update task 1842 mark an enrollment complete 1414
learning componentsupdate the custom fields of a mark ateendance for a learner 721
transcript mark class as delivered/cancelled 1001
update the custom fields of a transcript 1769 mark class registration as no_show/walk_in 1021
learning componentsupdate the details of a mark order item as billed 1560
certification mark the currency active/inactive 293
update the details of a certification 1067 merge person's profile 294
learning componentsupdate the details of a course monitor scheduled job 2097
update the details of a course 1133 monitor scheduled job - post based 2099
learning componentsupdate the details of a course
activity
update the details of a course activity 1518 P
learning componentsupdate the details of a
people componentsadd currency to person
curriculum
add currency to person 173
update the details of a curriculum 1215
people componentsadd custom section details for
learning componentsupdate the details of a delivery
a person
mode
add custom section details for a person 146
update the details of a delivery mode 1242
REST API Reference | Index | 2213

people componentsadd education details for a people componentsassign position for a person
person assign position for a person 583
add education details for a person 143 people componentsdelete a person's profile pic
people componentsadd flightrisk details for a person delete a person's profile pic 311
add flightrisk details for a person 148 people componentsdelete a required job role from
people componentsadd grid custom section details a person
for a person delete a required job role from a person 302
add grid custom section details for a person 167 people componentsdelete a security role from a
people componentsadd secondary address for a person
person delete a security role from a person 302
add secondary address for a person 172 people componentsdelete a specific component
people componentsadd the career interests details from a person
of a person delete a specific component from a person 300
add the career interests details of a person 153 people componentsdelete an audience type /
people componentsadd the external certifications audience sub types assigned to a person
details of a person delete an audience type / audience sub types
add the external certifications details of a assigned to a person 304
person 154 people componentsdelete an optional job role from
people componentsadd the external work history a person
details of a person delete an optional job role from a person 303
add the external work history details of a person people componentsdelete peron's currency
160 delete person's currency 307
people componentsadd the im profile details of a people componentsdelete person's currency based
person on currency isocode lookup
add the im profile details of a person 157 delete person's currency based on currency
people componentsadd the internal work history isocode lookup 308
details of a person people componentsdelete person's internal work
add the internal work history details of a person history details
158 delete person's internal work history details 307
people componentsadd the mobility details of a people componentsdelete person's qualified learning
person information
add the mobility details of a person 162 delete person's qualified learning information
people componentsadd the optional job roles of a 305
person people componentsdelete person's rate information
add the optional job roles of a person 167 delete person's rate information 305
people componentsadd the potential rating details people componentsdelete person's spoken language
of a person information
add the potential rating details of a person 163 delete person's spoken language information
people componentsadd the required job roles of a 306
person people componentsfind profile information
add the required job roles of a person 166 find profile information 99
people componentsadd the security roles of a people componentsfollow persons
person follow persons 175
add the security roles of a person 164 people componentsget all persons(internal/external)
people componentsadds language details for a get all persons(internal/external) 106
person people componentsget
adds language details for a person 149 certifications/enrollments/transcripts for a
people componentsadds the potential positions person
details of a person get certifications/enrollments/transcripts for a
adds the potential positions details of a person person 108
151 people componentsget details of the desired
people componentsadds the retirement risk details component for a person.
of a person get details of the desired component for a
adds the retirement risk details of a person 152 person. 114
people componentsassess person's competency people componentsget person's followers
assess person's competency 297 get person's followers 133
people componentsassign audience type / sub people componentsget person's followings
audience type to a person get person's followings 134
assign audience type / sub audience type to a people componentsget person's resource details
person 169 get person's resource details 131
people componentsassign person as a resource people componentsget profile pic
assign person as a resource 170 get profile pic 131
REST API Reference | Index | 2214

people componentsget profile pic url people componentsupdate the career interests
get profile pic url 130 details of a person
people componentsget the audience type / audience update the career interests details of a person
sub types assigned to a person 257
get the audience type / audience sub types people componentsupdate the custom section of a
assigned to a person 128, 129 person
people componentsget the job / security roles of a update the custom section of a person 278, 280
particular person people componentsupdate the education details of
get the job / security roles of a particular person a person
123 update the education details of a person 258
people componentsget the metadata of specific people componentsupdate the external
people attributes certifications details of a person
get the metadata of specific people attributes update the external certifications details of a
117 person 261
people componentsget the required profile details people componentsupdate the external work history
of a particular person details of a person
get the required profile details of a particular update the external work history details of a
person 119 person 267
people componentsmark the currency people componentsupdate the im profile details of
active/inactive a person
mark the currency active/inactive 293 update the im profile details of a person 263
people componentsmerge person's profile people componentsupdate the interests details of
merge person's profile 294 a person
people componentspurge person's profile update the interests details of a person 264
purge person's profile 309 people componentsupdate the internal work history
people componentsremove/update the job / security details of a peson
roles of a person update the internal work history details of a
remove/update the job / security roles of a peson 265
person 289 people componentsupdate the mobility details of a
people componentssearch profile information person
search profile information 135 update the mobility details of a person 269
people componentsstop following a person people componentsupdate the network info details
stop following a person 310 of a person
people componentsupdate a person's flightrisk update the network info details of a person 270
details people componentsupdate the potential positions
update a person's flightrisk details 195 details of a person
people componentsupdate a person's grid custom update the potential positions details of a person
section details 271
update a person's grid custom section details people componentsupdate the potential rating
284 details of a person
people componentsupdate a person's grid custom update the potential rating details of a person
section details (person lookup supported) 272
update a person's grid custom section details people componentsupdate the retirement risk
(person lookup supported) 285 details of a person
people componentsupdate a person's profile pic update the retirement risk details of a person
update a person's profile pic 296 274
people componentsupdate audience types / people componentsupdate the saba meeting profile
audience sub types assigned to a person details of a person
update audience types / audience sub types update the saba meeting profile details of a
assigned to a person 282 person 276
people componentsupdate coreprofile details of a people componentsupdate the secondary address
person details of a person
update coreprofile details of a person 254 update the secondary address details of a
people componentsupdate languages details of a person 277
person people componentsupdate the talent data of a
update languages details of a person 255 person
people componentsupdate person's resource and update the talent data of a person 286
rate details people componentsupdate the team details of a
update person's resource and rate details 197 person
update the team details of a person 290
performance componentschange status of a goal
change status of a goal 1874
REST API Reference | Index | 2215

performance componentscreate goal for self/team performance componentsget the meta details of a
create goal for self/team 1856 review-cycle
performance componentscreate progress of a goal get the meta details of a review-cycle 1949
create progress of a goal 1873 performance componentsupdate approver of goal.
performance componentscreate pulse survey update approver of goal. 1876
create pulse survey 1919 performance componentsupdate goal for self/team
performance componentsfind all reviews update goal for self/team 1877
find all reviews 1928 platform componentsadd an IP range
performance componentsfind the details of the add an IP range 2109
review cycles platform componentsdelete ip range
find the details of the review cycles 1930 delete ip range 2111
performance componentsfind the details of the platform componentsfetch data url
reviews fetch data url 2135
find the details of the reviews 1932 platform componentsget all scheduled data import
performance componentsfind the details of the jobs
reviews with post based search get all scheduled data import jobs 2102
find the details of the reviews with post based platform componentsget all scheduled data import
search 1974 jobs - post based
performance componentsget active survey detail get all scheduled data import jobs - post based
get active survey detail 1901 2104
performance componentsget active survey info platform componentsget details of a scheduled data
get active survey info 1910 import job
performance componentsget active survey question get details of a scheduled data import job 2107
details platform componentsget status of job
get active survey question details 1912 get status of job 2134
performance componentsget admin heatmap data platform componentsget the list of data extract
get admin heatmap data 1897 jobs
performance componentsget all assessments of get the list of data extract jobs 2092
competencies for a person platform componentsmonitor scheduled job
get all assessments of competencies for a monitor scheduled job 2097
person 1927 platform componentsmonitor scheduled job - post
performance componentsget all goals for a person based
get all goals for a person 1846 monitor scheduled job - post based 2099
performance componentsget all review cycles platform componentsprepare calls
get all review cycles 1933 prepare calls 2115
performance componentsget chart question data platform componentsretrieve added ips
get chart question data 1894 retrieve added ips 2110
performance componentsget pulse dashboard platform componentsschedule data extract job
details schedule data extract job 2093
get pulse dashboard details 1886 platform componentstoken api
performance componentsget the details of a token api 2114
particular goal platform componentstrigger a scheduled job
get the details of a particular goal 1849 trigger a scheduled job 2108
performance componentsget the details of a post a comment on a resource 699
particular review post file to saba activity stream. 681
get the details of a particular review 1935 post idea to saba activity stream. 675
performance componentsget the details of a post issue to saba activity stream. 677
particular review cycle post link to saba activity stream. 679
get the details of a particular review cycle 1936 prepare calls 2115
performance componentsget the extended details publish content 2147
of a particular review publish learning assignments of a class 999
get the extended details of a particular review purge person's profile 309
1938
performance componentsget the extended details
of a particular review cycle
R
get the extended details of a particular review recruiting componentscreate a new candidate
cycle 1943 create a new candidate 2055
performance componentsget the meta details of a recruiting componentscreate a new job application
component create a new job application 2044
get the meta details of a component 1965 recruiting componentscreate a new job requisition
create a new job requisition 2028
REST API Reference | Index | 2216

recruiting componentsfind the details of the job search all the certifications/curricula assigned to a
requisition learner based on the status, timestamp
find the details of the job requisition 1978 (using post - range based search) 1483
recruiting componentsfind the details of the job search certifications/curricula of the logged in user
requisition (using post - range based search) 1488
find the details of the job requisition (using post search details of an attendance 725
- range based search) 1980 search details of an attendance (using post - range
recruiting componentsget all active job-postings based search) 728
get all active job-postings 2052 search enrollments based on given criteria 1299,
recruiting componentsget all job requisitions 1307
get all job requisitions 1983 search list values 475
recruiting componentsget details of a particular search my groups 704
job-posting search my groups (post based) 708
get details of a particular job-posting 2053 search price list by criteria 1604
recruiting componentsget the details of a particular search price list entry by criteria 1607
job requisition search price list entry by criteria post based search
get the details of a particular job requisition 1984 1608
recruiting componentsget the meta details of job search profile information 135
requisition search purpose list 1622
get the meta details of job requisition 2000 search resource based on type 1612
recruiting componentsupdate candidate search resource based on type and criteria 1616
update candidate 2058 search subscription order - all (order history flow)
recruiting componentsupdate job application 1679
update job application 2048 search subscription order - with search criteria 1680
recruiting componentsupdate job requisition search subscription order - with search criteria
update job requisition 2034 (order history flow) 1683
remove a category 1164 start a new discussion 712
remove a course or a recurring course from a stop following a person 310
learner 1519
remove an existing assigned resource 1632
remove audience type from a subscription 1661
T
remove category from a course 1167 token api 2114
remove delivery type / subscription item from a trigger a scheduled job 2108
subscription 1663
remove subscription price / cost limit price from a
subscription 1666 U
remove tags from category 1179
unlike a resource 696
remove the certification/curriculum activity of a
update a blended class 950
learner 1506
update a ilt class 956
remove/update the job / security roles of a person
update a person's flightrisk details 195
289
update a person's grid custom section details 284
report async execution status 2069
update a person's grid custom section details
report result 2173
(person lookup supported) 285
restful web services
update a person's profile pic 296
common 313
update a profile for given person id [external] 199
foundation 473
update a profile for given person id [internal] 213
result reporting 2178
update a profile for given person name [external]
retrieve added ips 2110
226
retrieve all learning assignments of a class 994
update a profile for given person name [internal]
retrieve all sessions of an offering 1012
240
retrieve details of an individual session. 1626
update a transcript 1766
retrieve the assignment details 1627
update a virtual class 967
update a wbt class 983
S update an attachment 334
update an existing appointment 2088
schedule data extract job 2093 update an existing resource assignment 1631
search all course activities based on given criteria update approver of goal. 1876
(using post - range based search) 1514 update attendance in bulk 723
search all groups (admin mode) 706 update audience types / audience sub types
search all subscription orders 1678 assigned to a person 282
search all the certifications/curricula assigned to a update candidate 2058
learner based on the status, timestamp 1467 update category 1171
REST API Reference | Index | 2217

update content inventory 2156 update the details of a facility 445


update coreprofile details of a person 254 update the details of a job family 470
update details of a sub audience type 363 update the details of a job type 461
update details of policies on course, delivery mode update the details of a language 399
or offering 1183 update the details of a learning module 1525
update discussion detail 713 update the details of a package 1582
update file posted on saba activity stream. 691 update the details of a particular location 494
update goal for self/team 1877 update the details of a particular pricelist entry for
update idea posted on saba activity stream. 684 the training unit 1800
update issue posted on saba activity stream. 686 update the details of a path 1565
update job application 2048 update the details of a position 578
update job requisition 2034 update the details of a purchase order 1600
update languages details of a person 255 update the details of a role 597
update learning assignments of a class 997 update the details of a session template 1722
update link posted on saba activity stream. 689 update the details of a smartlist 641
update locale-specific details of blended class 1024 update the details of a state 407
update locale-specific details of certification 1075 update the details of a subscription 1656
update locale-specific details of competency 383 update the details of a training unit 1792
update locale-specific details of country 392 update the details of a training unit agreement 1815
update locale-specific details of course 1142 update the details of an audience type 348
update locale-specific details of curriculum 1222 update the details of an external organization 548
update locale-specific details of ilt class 1025 update the details of an internal organization 532
update locale-specific details of job family 472 update the education details of a person 258
update locale-specific details of job requisition 2042 update the expiration date of the held certification
update locale-specific details of jobtype 463 1504
update locale-specific details of role 600 update the external certifications details of a person
update locale-specific details of smartlist 649 261
update locale-specific details of state 409 update the external work history details of a person
update locale-specific details of subscription 1666 267
update locale-specific details of virtual class 1027 update the im profile details of a person 263
update locale-specific details of wbt offering 1028 update the interests details of a person 264
update locale-specific details training unit 1801 update the internal work history details of a peson
update order's custom fields 1536 265
update person's resource and rate details 197 update the mobility details of a person 269
update position incumbent of a person 582 update the network info details of a person 270
update price list entry for a learning item 1610 update the potential positions details of a person
update subscription order's custom fields 1696 271
update task 1842 update the potential rating details of a person 272
update the career interests details of a person 257 update the retirement risk details of a person 274
update the custom fields of a transcript 1769 update the saba meeting profile details of a person
update the custom section of a person 278, 280 276
update the details of a certification 1067 update the secondary address details of a person
update the details of a competency 378 277
update the details of a country 391 update the talent data of a person 286
update the details of a course 1133 update the target days/date for the assigned
update the details of a course activity 1518 certification/curriculum activity 1504
update the details of a curriculum 1215 update the team details of a person 290
update the details of a delivery mode 1242 update value of list 477
update the details of a exchange rate 428 upload image of an object 1817
REST API Reference | Index | 2218

You might also like