You are on page 1of 2172

REST API Reference

Saba Cloud | Update 52 | Apr 2022


Published: 03/25/2022
Part Number: G-RAR-SCU52-0
REST API Reference | Contents | iii

Contents

Limitations on Warranties and Liability..................................xxi

Preface: About This Guide......................................................xxiii


Intended Audience............................................................................................................................xxiii
How to Contact Saba.......................................................................................................................xxiii

Part I: REST Web Services..........................................................25

Chapter 1: Introduction.......................................................27

Chapter 2: Use Saba REST APIs...........................................29


Authentication..........................................................................................................................30
Maximum number of REST API calls..................................................................................30
URL Format................................................................................................................................30
Enabling REST Web Services in Saba.................................................................................31
Example (a typical client side program)...........................................................................31

Chapter 3: Some Quick Info................................................35


Status/Error Codes..................................................................................................................36
Using custom fields with the supported data types and values..............................37
No support for Microsites.....................................................................................................39
Search REST APIs.....................................................................................................................39
Special Characters...................................................................................................................41
Encoding space for the criteria parameter value.........................................................41
POST methods - Duplicate records....................................................................................41
Using Lookup fields...................................................................................................................41
Retrieving additional details using Field Selectors.......................................................44
Deprecated URLs.....................................................................................................................46
Field length of the data fields...............................................................................................47
Retrieve locale specific data using REST APIs...............................................................48
Specifying multiple conditions in POST based searches............................................48
Audit reason for audit actions.............................................................................................49
Sorting of the result set.........................................................................................................49

Chapter 4: Authentication...................................................51
REST API Reference | Contents | iv

Using Certificate based Authentication...........................................................................52


Using OAuth 2.0.........................................................................................................................53
Getting a Consumer key.............................................................................................53
Getting the Authorization code...............................................................................53
Getting the Access Token..........................................................................................54
Invoking REST APIs........................................................................................................57

Chapter 5: People................................................................59
Getting started with the People web services...............................................................60
Extracting Metadata of the available Attributes...............................................60
Searching People data.................................................................................................61
Using GET to retrieve People data..........................................................................63
Using POST to create People data..........................................................................65
Using PUT to update People data...........................................................................69
Using DELETE to delete a sub object of People data.........................................71
Attributes for the People end point........................................................................72
GET Methods..............................................................................................................................97
FIND PROFILE INFORMATION.....................................................................................97
GET ALL PERSONS (INTERNAL/EXTERNAL).........................................................104
GET CERTIFICATIONS/ENROLLMENTS/TRANSCRIPTS FOR A PERSON.......106
GET DETAILS OF DESIRED COMPONENT FOR A PERSON.................................112
GET METADATA OF SPECIFIC PEOPLE ATTRIBUTES..........................................115
GET REQUIRED PROFILE DETAILS OF A PARTICULAR PERSON.......................117
GET JOB / SECURITY ROLES OF A PARTICULAR PERSON................................121
GETAUDIENCETYPE/AUDIENCESUBTYPESASSIGNEDTOAPERSON(DEPRECATED).126
GET AUDIENCE TYPE / AUDIENCE SUB TYPES ASSIGNED TO A PERSON.....127
GET PROFILE PIC URL.................................................................................................128
GET PROFILE PIC..........................................................................................................129
GET PERSON'S RESOURCE DETAILS.......................................................................129
GET PERSON'S FOLLOWERS......................................................................................131
GET PERSON'S FOLLOWINGS...................................................................................132
POST Methods..........................................................................................................................133
SEARCH PROFILE INFORMATION.............................................................................133
ADD EDUCATION DETAILS FOR A PERSON............................................................141
ADD CUSTOM DETAILS FOR A PERSON.................................................................144
ADD FLIGHTRISK DETAILS FOR A PERSON...........................................................146
ADD LANGUAGE DETAILS FOR A PERSON............................................................147
ADD POTENTIAL POSITIONS DETAILS OF A PERSON........................................149
ADD RETIREMENT RISK DETAILS OF A PERSON..................................................150
ADD CAREER INTERESTS DETAILS OF A PERSON...............................................151
ADD EXTERNAL CERTIFICATIONS DETAILS OF A PERSON...............................152
ADD IM PROFILE DETAILS OF A PERSON...............................................................155
ADD INTERNAL WORK HISTORY DETAILS OF A PERSON..................................156
ADD EXTERNAL WORK HISTORY DETAILS OF A PERSON.................................158
REST API Reference | Contents | v

ADD MOBILITY DETAILS OF A PERSON..................................................................160


ADD POTENTIAL RATING DETAILS OF A PERSON................................................161
ADD SECURITY ROLES OF A PERSON.....................................................................162
ADD REQUIRED JOB ROLES OF A PERSON...........................................................164
ADD OPTIONAL JOB ROLES OF A PERSON...........................................................165
ADD GRID CUSTOM SECTION'S DETAILS FOR A PERSON.................................165
ASSIGN AUDIENCE TYPE / SUB AUDIENCE TYPE TO A PERSON.....................167
ASSIGN PERSON AS A RESOURCE..........................................................................168
ADD SECONDARY ADDRESS FOR A PERSON.......................................................170
ADD CURRENCY TO PERSON.....................................................................................171
FOLLOW PERSONS.......................................................................................................173
CREATE A PROFILE [EXTERNAL PERSON]............................................................174
CREATE A PROFILE [INTERNAL PERSON].............................................................183
PUT Methods............................................................................................................................193
UPDATE A PERSON'S FLIGHTRISK DETAILS.........................................................193
UPDATE A PERSON'S CUSTOM DETAILS...............................................................195
UPDATE PERSON'S RESOURCE AND RATE DETAILS..........................................197
UPDATE A PROFILE FOR GIVEN PERSON ID [EXTERNAL]................................198
UPDATE A PROFILE FOR GIVEN PERSON ID [INTERNAL]..................................212
UPDATE A PROFILE FOR GIVEN PERSON NAME [EXTERNAL]........................225
UPDATE A PROFILE FOR GIVEN PERSON NAME [INTERNAL].........................238
UPDATE COREPROFILE DETAILS OF A PERSON..................................................251
UPDATE LANGUAGES DETAILS OF A PERSON....................................................253
UPDATE CAREER INTERESTS DETAILS OF A PERSON......................................254
UPDATE EDUCATION DETAILS OF A PERSON.....................................................256
UPDATE EXTERNAL CERTIFICATIONS DETAILS OF A PERSON......................258
UPDATE IM PROFILE DETAILS OF A PERSON......................................................260
UPDATE INTERESTS DETAILS OF A PERSON........................................................261
UPDATE INTERNAL WORK HISTORY DETAILS OF A PERSON..........................262
UPDATE EXTERNAL WORK HISTORY DETAILS OF A PERSON........................264
UPDATE MOBILITY DETAILS OF A PERSON..........................................................266
UPDATE NETWORK INFO DETAILS OF A PERSON..............................................267
UPDATE POTENTIAL POSITIONS DETAILS OF A PERSON................................268
UPDATE POTENTIAL RATING DETAILS OF A PERSON......................................269
UPDATE RETIREMENT RISK DETAILS OF A PERSON.........................................270
UPDATE SABA MEETING PROFILE DETAILS OF A PERSON..............................271
UPDATE SECONDARY ADDRESS DETAILS OF A PERSON................................273
UPDATE CUSTOM SECTION OF A PERSON...........................................................274
UPDATE CUSTOM SECTION OF A PERSON (WITHOUT PASSING SECTION ID).275
UPDATE AUDIENCE TYPES / AUDIENCE SUB TYPES ASSIGNED TO A PERSON.276
UPDATE A PERSON'S GRID CUSTOM SECTION DETAILS..................................278
UPDATEAPERSON'SGRIDCUSTOMSECTIONDETAILS(PERSONLOOKUPSUPPORTED)
.....................................................................................................................................279
UPDATE TALENT DATA OF A PERSON...................................................................281
REMOVE/UPDATE JOB / SECURITY ROLES OF A PERSON..............................282
REST API Reference | Contents | vi

UPDATE TEAM DETAILS OF A PERSON.................................................................284


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

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

Chapter 7: Foundation........................................................311
Common....................................................................................................................................312
GLOBAL SEARCH..........................................................................................................312
Attachment..............................................................................................................................316
FIND DETAILS OF ATTACHMENT FOR A GIVEN ID...............................................317
GET ACTUAL CONTENT OF AN ATTACHMENT...................................................320
FIND ALL ATTACHMENTS.........................................................................................320
FIND ALL PUBLIC/PRIVATE ATTACHMENTS........................................................322
CREATE A NEW ATTACHMENT (FILE)....................................................................324
CREATE A NEW ATTACHMENT (URL)....................................................................325
UPDATE AN ATTACHMENT.......................................................................................328
GET ATTACHMENT RESOURCE...............................................................................329
ADD ATTACHMENT TO OBJECT.............................................................................330
DELETE ATTACHMENT RESOURCE.........................................................................331
GET ALL ATTACHMENTS FOR AN OBJECT...........................................................331
Audience Type........................................................................................................................332
REST API Reference | Contents | vii

GET ALL AUDIENCETYPES........................................................................................332


FIND META DETAILS OF AUDIENCE TYPES..........................................................333
FIND DETAILS OF AUDIENCETYPES.......................................................................338
GET DETAILS OF A PARTICULAR AUDIENCE TYPE............................................339
CREATE A NEW AUDIENCE TYPE.............................................................................341
UPDATE DETAILS OF AN AUDIENCE TYPE...........................................................342
GET PERSONS ASSIGNED TO AUDIENCE TYPE...................................................344
ASSIGN PERSONS TO AUDIENCE TYPE.................................................................344
Sub Audience Type................................................................................................................346
FIND DETAILS OF SUB AUDIENCE TYPES.............................................................346
FIND META DETAILS OF SUB AUDIENCE TYPES..................................................347
GET ALL SUB AUDIENCE TYPES..............................................................................352
GET DETAILS OF A PARTICULAR SUB AUDIENCE TYPE...................................354
CREATE A NEW SUB AUDIENCE TYPE...................................................................355
FINDTHEDETAILSOFSUBAUDIENCETYPE(USINGPOST-RANGEBASEDSEARCH).356
UPDATE DETAILS OF A SUB AUDIENCE TYPE......................................................357
Competency............................................................................................................................359
GET ALL COMPETENCIES.........................................................................................359
FIND DETAILS OF COMPETENCIES.........................................................................360
GET DETAILS OF A PARTICULAR COMPETENCY................................................362
GET META DETAILS OF COMPETENCIES..............................................................364
CREATE A NEW COMPETENCY...............................................................................368
UPDATE DETAILS OF A COMPETENCY..................................................................372
UPDATE LOCALE-SPECIFIC DETAILS OF COMPETENCY..................................377
Country......................................................................................................................................379
FIND DETAILS OF COUNTRY.....................................................................................379
GET ALL COUNTRIES..................................................................................................380
GET DETAILS OF A PARTICULAR COUNTRY.........................................................381
GET META DETAILS OF COUNTRY..........................................................................382
CREATE A NEW COUNTRY........................................................................................384
UPDATE DETAILS OF A COUNTRY..........................................................................385
UPDATE LOCALE-SPECIFIC DETAILS OF COUNTRY.........................................386
Language..................................................................................................................................387
FIND DETAILS OF THE LANGUAGE..........................................................................387
GET ALL LANGUAGES................................................................................................388
GET DETAILS OF A PARTICULAR LANGUAGE......................................................391
GET THE DETAILS OF A PARTICULAR LANGUAGE WITH SEARCH FIELDS...391
CREATE A NEW LANGUAGE.....................................................................................392
UPDATE THE DETAILS OF A LANGUAGE..............................................................393
Locales......................................................................................................................................394
GET LOCALES...............................................................................................................394
State...........................................................................................................................................395
FIND DETAILS OF STATE...........................................................................................395
GET ALL STATES.........................................................................................................396
GET DETAILS OF A PARTICULAR STATE...............................................................398
REST API Reference | Contents | viii

GET META DETAILS OF STATE................................................................................398


CREATE A NEW STATE..............................................................................................400
UPDATE DETAILS OF A STATE..................................................................................401
DELETE STATE.............................................................................................................402
UPDATE LOCALE-SPECIFIC DETAILS OF STATE................................................403
Currency...................................................................................................................................404
FIND DETAILS OF CURRENCIES...............................................................................404
FIND META DETAILS OF CURRENCY......................................................................405
GET ALL CURRENCIES................................................................................................407
GET DETAILS OF A PARTICULAR CURRENCY.....................................................408
FIND DETAILS OF CURRENCY (USING POST - RANGE BASED SEARCH).....409
Currency Exchange Rate......................................................................................................411
FIND META DETAILS OF EXCHANGE RATE............................................................411
GET ALL EXCHANGE RATES......................................................................................414
GET DETAILS OF A PARTICULAR EXCHANGE RATE...........................................415
FIND DETAILS OF EXCHANGE RATE........................................................................416
FIND DETAILS OF EXCHANGE RATE (USING POST - RANGE BASED SEARCH).418
CREATE A NEW EXCHANGE RATE...........................................................................421
UPDATE DETAILS OF A EXCHANGE RATE............................................................422
DELETE A EXCHANGE RATE.....................................................................................423
Facility........................................................................................................................................424
GET ALL FACILITIES....................................................................................................424
FIND DETAILS OF FACILITIES...................................................................................425
GET DETAILS OF A PARTICULAR FACILITY..........................................................426
GET META DETAILS OF FACILITIES.........................................................................427
CREATE A NEW FACILITY..........................................................................................436
UPDATE DETAILS OF A FACILITY............................................................................439
DELETE A FACILITY......................................................................................................441
Job Type....................................................................................................................................442
GET ALL JOBTYPES....................................................................................................442
FIND DETAILS OF JOBTYPES....................................................................................443
FIND META DETAILS OF JOB TYPES......................................................................445
GET DETAILS OF JOB TYPE.......................................................................................451
CREATE A NEW JOB TYPE........................................................................................453
UPDATE DETAILS OF A JOB TYPE..........................................................................455
UPDATE LOCALE-SPECIFIC DETAILS OF JOBTYPE...........................................457
Job Family................................................................................................................................459
GET ALL JOBFAMILIES...............................................................................................459
FIND DETAILS OF JOBFAMILIES..............................................................................460
FIND META DETAILS OF JOB FAMILIES..................................................................461
GET DETAILS OF A PARTICULAR JOB FAMILY....................................................462
CREATE A NEW JOB FAMILY....................................................................................463
UPDATE DETAILS OF A JOB FAMILY......................................................................464
UPDATE LOCALE-SPECIFIC DETAILS OF JOB FAMILY.....................................466
List Value...................................................................................................................................467
REST API Reference | Contents | ix

GET A PARTICULAR LIST VALUE.............................................................................467


GET LIST VALUE BY LIST ID AND LIST VALUE NAME.........................................468
SEARCH LIST VALUES................................................................................................469
ADD VALUE TO LOV FOR AN ATTRIBUTE..............................................................470
UPDATE VALUE OF LIST..............................................................................................471
DELETE ITEM FROM LIST...........................................................................................472
DELETE ITEM FROM LIST (BY LISTID AND NAME OF LIST VALUE).................473
Location.....................................................................................................................................473
GET ALL LOCATIONS..................................................................................................474
FIND DETAILS OF LOCATIONS..................................................................................474
FIND META DETAILS OF LOCATIONS.....................................................................476
GET DETAILS OF A PARTICULAR LOCATION.......................................................483
CREATE A NEW LOCATION.......................................................................................485
UPDATE DETAILS OF A PARTICULAR LOCATION...............................................488
Organization.............................................................................................................................491
GET ALL ORGANIZATIONS.........................................................................................491
FIND DETAILS OF INTERNAL/EXTERNAL ORGANIZATIONS.............................493
GET DETAILS OF AN ORGANIZATION....................................................................496
GET META DETAILS OF AN ORGANIZATION........................................................499
CREATE A NEW INTERNAL ORGANIZATION.........................................................520
UPDATE DETAILS OF AN INTERNAL ORGANIZATION........................................526
CREATE A NEW EXTERNAL ORGANIZATION........................................................536
UPDATE DETAILS OF AN EXTERNAL ORGANIZATION.......................................542
Positions....................................................................................................................................552
GET META DETAILS OF POSITIONS........................................................................552
FIND DETAILS OF POSITIONS...................................................................................560
FIND DETAILS OF POSITIONS (Using POST - Range based search).............561
GET ALL POSITIONS....................................................................................................563
GET DETAILS OF A PARTICULAR POSITION.........................................................564
CREATE A NEW POSITION.........................................................................................566
UPDATE DETAILS OF A POSITION...........................................................................572
DELETE POSITION OF A PERSON............................................................................574
UPDATE POSITION INCUMBENT OF A PERSON...................................................576
ASSIGN POSITION FOR A PERSON..........................................................................577
Roles...........................................................................................................................................579
GET ALL ROLES............................................................................................................579
FIND DETAILS OF ROLES...........................................................................................580
GET META DETAILS OF AVAILABLE ROLES..........................................................581
GET DETAILS OF A PARTICULAR ROLE.................................................................585
CREATE A NEW ROLE.................................................................................................587
UPDATE DETAILS OF A ROLE....................................................................................591
UPDATE LOCALE-SPECIFIC DETAILS OF ROLE..................................................594
Note............................................................................................................................................595
FIND DETAILS OF NOTES...........................................................................................595
FIND DETAILS OF NOTES FOR GIVEN NOTE ID....................................................597
REST API Reference | Contents | x

FIND DETAILS OF NOTES FOR GIVEN REFERENCE ID.......................................598


FIND META DETAILS OF NOTES..............................................................................599
CREATE A NEW NOTE................................................................................................602
Security Roles.........................................................................................................................603
GET SECURITY ROLE'S METADATA........................................................................603
GET ALL SECURITY ROLES.......................................................................................606
GET DETAILS OF A PARTICULAR SECURITY ROLE............................................608
FIND DETAILS OF SECURITY ROLES......................................................................609
Security Domain......................................................................................................................610
GET SECURITY DOMAIN'S METADATA...................................................................610
GET ALL SECURITY DOMAINS...................................................................................615
GET DETAILS OF A PARTICULAR SECURITY DOMAIN........................................617
Smart List..................................................................................................................................618
GET ALL SMARTLISTS.................................................................................................618
FIND META DETAILS OF SMARTLISTS....................................................................619
FIND DETAILS OF SMARTLISTS................................................................................621
GET DETAILS OF A PARTICULAR SMARTLIST.....................................................623
GET PERSON'S MATCHING CRITERIA OF A PARTICULAR SMARTLIST.........625
CREATE A NEW SMARTLIST.....................................................................................627
UPDATE DETAILS OF A SMARTLIST.......................................................................635
DELETE A SMARTLIST................................................................................................643
UPDATE LOCALE-SPECIFIC DETAILS OF SMARTLIST.......................................643
ADD SMARTLIST AS CRITERIA FOR AUDIENCE TYPE........................................644
Timezone..................................................................................................................................645
GET TIMEZONE'S METADATA...................................................................................645
GET ALL TIMEZONES..................................................................................................647
GET DETAILS OF A PARTICULAR TIMEZONE.......................................................649

Chapter 8: Social................................................................651
Resource...................................................................................................................................652
GET DETAILS OF A SOCIAL RESOURCE................................................................652
FIND SOCIAL RESOURCES........................................................................................655
FIND SOCIAL RESOURCES (USING POST - RANGE BASED SEARCH)...........660
FIND SOCIAL RESOURCE OF A GROUP.................................................................665
FIND SOCIAL RESOURCE OF A GROUP (USING POST - RANGE BASED SEARCH).668
POST IDEA TO SABA ACTIVITY STREAM..............................................................669
POST ISSUE TO SABA ACTIVITY STREAM..............................................................671
POST LINK TO SABA ACTIVITY STREAM...............................................................673
POST FILE TO SABA ACTIVITY STREAM................................................................675
UPDATE IDEA POSTED ON SABA ACTIVITY STREAM........................................678
UPDATE ISSUE POSTED ON SABA ACTIVITY STREAM.....................................680
UPDATE LINK POSTED ON SABA ACTIVITY STREAM........................................683
UPDATE FILE POSTED ON SABA ACTIVITY STREAM.........................................685
DELETE IDEA POSTED ON SABA ACTIVITY STREAM.........................................687
REST API Reference | Contents | xi

DELETE ISSUE POSTED ON SABA ACTIVITY STREAM.......................................688


DELETE LINK POSTED ON SABA ACTIVITY STREAM.........................................688
DELETE FILE POSTED ON SABA ACTIVITY STREAM..........................................689
Interactions.............................................................................................................................689
LIKE OR DISLIKE A RESOURCE.................................................................................689
UNLIKE A RESOURCE.................................................................................................690
GET COMMENT DETAILS OF A RESOURCE...........................................................691
GET LIKE DETAILS OF A RESOURCE......................................................................692
POST A COMMENT ON A RESOURCE....................................................................693
GET SOCIAL INTERACTIONS OF A USER...............................................................694
Groups.......................................................................................................................................697
GET GROUP DETAILS..................................................................................................697
SEARCH MY GROUPS.................................................................................................698
SEARCH ALL GROUPS (ADMIN MODE)..................................................................700
SEARCH MY GROUPS (POST BASED)....................................................................702
MANAGE GROUP MEMBERSHIP..............................................................................704
Discussions...............................................................................................................................705
GET DISCUSSION DETAILS........................................................................................705
START A NEW DISCUSSION......................................................................................706
UPDATE THE DISCUSSION DETAILS.......................................................................707
DELETE A DISCUSSION..............................................................................................708

Chapter 9: Learning............................................................711
Attendance................................................................................................................................712
GET META DETAILS OF ATTENDANCE...................................................................712
GET DETAILS OF A PARTICULAR ATTENDANCE..................................................714
MARK ATTENDANCE FOR A LEARNER....................................................................715
UPDATE ATTENDANCE IN BULK...............................................................................717
SEARCH DETAILS OF AN ATTENDANCE.................................................................719
SEARCH DETAILS OF AN ATTENDANCE (USING POST - RANGE BASED SEARCH).722
Common....................................................................................................................................725
GET ALL RECORDS OF A COMPONENT.................................................................725
GET DETAILS OF A PARTICULAR COMPONENT..................................................726
GET META DETAILS OF A COMPONENT.................................................................731
DELETE A PATH, MODULE OR INTERVENTION....................................................776
Class............................................................................................................................................777
GET ALL CLASSES........................................................................................................777
FIND DETAILS OF CLASSES.......................................................................................779
GET META DETAILS OF A BLENDED CLASS.........................................................787
GET META DETAILS OF AN ILT CLASS...................................................................801
GET DETAILS OF A CLASS.........................................................................................815
FIND EXTENDED DETAILS OF CLASSES................................................................853
FIND EXTENDED DETAILS OF CLASSES (Using POST - Range based search).859
GET META DETAILS OF A VIRTUAL CLASS..........................................................865
REST API Reference | Contents | xii

GET META DETAILS OF A WBT CLASS..................................................................879


CREATE A NEW BLENDED CLASS...........................................................................892
CREATE A NEW ILT CLASS.......................................................................................902
CREATE A NEW VIRTUAL CLASS.............................................................................916
CREATE A NEW WBT CLASS....................................................................................936
UPDATE A BLENDED CLASS.....................................................................................944
UPDATE AN ILT CLASS..............................................................................................950
UPDATE A VIRTUAL CLASS.......................................................................................961
UPDATE A WBT CLASS...............................................................................................977
GET ALL OFFERINGS OF INSTRUCTOR.................................................................982
RETRIEVE ALL LEARNING ASSIGNMENTS OF A CLASS....................................988
ADD LEARNING ASSIGNMENTS TO A CLASS......................................................990
UPDATE LEARNING ASSIGNMENTS OF A CLASS................................................991
PUBLISH LEARNING ASSIGNMENTS.......................................................................993
MARK CLASS AS DELIVERED/CANCELLED..........................................................995
CANCEL ALL ENROLLMENTS OF A CLASS.........................................................1006
RETRIEVE ALL SESSIONS OF AN OFFERING......................................................1006
MARK CLASS REGISTRATION AS NO_SHOW/WALK_IN...................................1015
ADD DROP POLICY TO CLASS.................................................................................1016
DELETE DROP POLICY FROM CLASS....................................................................1017
UPDATE LOCALE-SPECIFIC DETAILS OF BLENDED CLASS...........................1018
UPDATE LOCALE-SPECIFIC DETAILS OF ILT CLASS........................................1019
UPDATE LOCALE-SPECIFIC DETAILS OF VIRTUAL CLASS.............................1021
UPDATE LOCALE-SPECIFIC DETAILS OF WBT OFFERING.............................1022
Certification...........................................................................................................................1024
GET DETAILS OF A CERTIFICATION......................................................................1024
FIND DETAILS OF CERTIFICATION/CURRICULUM.............................................1031
FINDDETAILSOFCERTIFICATION/CURRICULUM(UsingPOST-Rangebasedsearch).1041
CREATE A NEW CERTIFICATION...........................................................................1049
UPDATE DETAILS OF A CERTIFICATION...............................................................1061
UPDATE LOCALE-SPECIFIC DETAILS OF CERTIFICATION.............................1069
Course......................................................................................................................................1070
GET ALL COURSES.....................................................................................................1071
FIND DETAILS OF COURSES....................................................................................1072
FIND DETAILS OF COURSE (Using POST - Range based search)...............1075
GET DETAILS OF A PARTICULAR COURSE..........................................................1079
GET META DETAILS OF COURSE...........................................................................1082
CREATE A NEW COURSE............................................................................................1117
UPDATE DETAILS OF A COURSE.............................................................................1127
UPDATE LOCALE-SPECIFIC DETAILS OF COURSE............................................1136
Recurring Course Completions........................................................................................1138
FIND DETAILS OF RECURRING COURSE COMPLETIONS.................................1138
FINDDETAILSOFRECURRINGCOURSECOMPLETIONS(UsingPOST-Rangebasedsearch).1145
Categories...............................................................................................................................1152
GET ALL CATEGORIES...............................................................................................1153
REST API Reference | Contents | xiii

GET DETAILS OF A PARTICULAR CATEGORY.....................................................1154


GETDETAILSOFAPARTICULARCATEGORYALONGWITHITSHIERARCHY(SUB-CATEGORIES).1156
REMOVE A CATEGORY..............................................................................................1158
ADD CATEGORIES TO A COURSE...........................................................................1159
ADD CATEGORIES TO A COURSE (LOOKUP BASED)........................................1160
REMOVE CATEGORY FROM A COURSE.................................................................1161
CREATE A NEW CATEGORY......................................................................................1161
UPDATE CATEGORY...................................................................................................1165
FIND DETAILS OF CATEGORIES..............................................................................1169
ADD TAGS TO CATEGORY........................................................................................1172
REMOVE TAGS FROM CATEGORY..........................................................................1173
Catalog......................................................................................................................................1174
GET ALL DETAILS OF POLICIES ON COURSE, DELIVERY MODE OR OFFERING.1174
GETDETAILSOF(SPECIFIC)POLICIESONCOURSE,DELIVERYMODEOROFFERING.1176
UPDATE DETAILS OF POLICIES ON COURSE, DELIVERY MODE OR OFFERING.1177
Curriculum...............................................................................................................................1182
GET DETAILS OF A CURRICULUM...........................................................................1182
FIND DETAILS OF CERTIFICATION/CURRICULUM..............................................1186
FINDDETAILSOFCERTIFICATION/CURRICULUM(UsingPOST-Rangebasedsearch).1194
CREATE A NEW CURRICULUM................................................................................1201
UPDATE DETAILS OF A CURRICULUM..................................................................1209
UPDATE LOCALE-SPECIFIC DETAILS OF CURRICULUM..................................1216
Delivery mode.........................................................................................................................1217
GET META DETAILS OF DELIVERY MODE.............................................................1218
GET ALL DELIVERY MODE........................................................................................1228
GET DETAILS OF A PARTICULAR DELIVERY MODE..........................................1229
FIND DETAILS OF DELIVERY MODE........................................................................1231
FIND DETAILS OF DELIVERY MODE (USING POST - RANGE BASED SEARCH).1232
CREATE A NEW DELIVERY MODE..........................................................................1233
UPDATE DETAILS OF A DELIVERY MODE............................................................1236
Held Checklist........................................................................................................................1238
GET META DETAILS OF HELD CHECKLIST..........................................................1239
GET DETAILS OF A PARTICULAR HELD CHECKLIST ........................................1247
GET ALL HELD CHECKLIST.......................................................................................1251
FIND DETAILS OF HELD CHECKLIST.....................................................................1253
FIND DETAILS OF HELD CHECKLIST (USING POST - RANGE BASED SEARCH).1255
Checklist..................................................................................................................................1258
GET META DETAILS OF CHECKLIST......................................................................1258
GET DETAILS OF A PARTICULAR CHECKLIST ...................................................1274
GET ALL CHECKLIST.................................................................................................1280
FIND DETAILS OF CHECKLIST..................................................................................1281
FIND DETAILS OF CHECKLIST (USING POST - RANGE BASED SEARCH).....1282
Enrollment..............................................................................................................................1289
GET ALL ENROLLMENTS..........................................................................................1289
FIND DETAILS OF ENROLLMENTS.........................................................................1290
REST API Reference | Contents | xiv

SEARCH ENROLLMENTS BASED ON GIVEN CRITERIA.....................................1293


SEARCHENROLLMENTSBASEDONGIVENCRITERIA(USINGPOST-RANGEBASEDSEARCH).1301
FIND LEARNING ASSIGNMENTS FOR REGISTRATIONS....................................1313
FIND EVALUATIONS FOR REGISTRATIONS..........................................................1316
GET DETAILS OF AN ENROLLMENT.......................................................................1319
GET EVALUATION DETAILS OF AN ENROLLMENT............................................1335
GETEXISTINGREGISTRATIONDETAILSORAUTOENROLLUSERANDGETREGISTRATIONDETAILS.1336
CREATE A NEW ENROLLMENT (Self registration)...........................................1342
ENROLL FOR OTHER USERS/SELF........................................................................1359
ENROLL FOR OTHER USERS/SELF WITH PAYMENT.........................................1375
MARK AN ENROLLMENT COMPLETE...................................................................1408
CANCEL AN ENROLLMENT......................................................................................1409
CREATE A NEW PACKAGE ORDER........................................................................1410
ADD OR UPDATE CUSTOM FIELDS OF AN ENROLLMENT...............................1426
MARK A TASK COMPLETE........................................................................................1427
Fields of Study.......................................................................................................................1429
GET META DETAILS OF FIELD OF STUDY............................................................1429
GET ALL FIELDS OF STUDY.....................................................................................1433
GET DETAILS OF A PARTICULAR FIELD OF STUDY..........................................1438
FIND DETAILS OF FIELDS OF STUDY.....................................................................1439
FIND DETAILS OF FIELD OF STUDY (USING POST - RANGE BASED SEARCH).1443
Learning Event......................................................................................................................1448
GET HELD CERTIFICATION/CURRICULUM ACTIVITY DETAILS......................1448
GET COMPLETION AND LESSON DETAILS OF THE LEARNING EVENT.......1450
GETHELDCERTIFICATION/CURRICULUMDETAILSALONGWITHALLTHEACTIVITIES.1456
SEARCHALLTHECERTIFICATIONS/CURRICULAASSIGNEDTOALEARNERBASEDONTHESTATUS,TIMESTAMP.1461
SEARCHALLTHECERTF
IC
I ATO
I NS/CURRC I ULAASSG I NEDTOALEARNERBASEDONTHESTATUST ,M
I ESTAMP(Usn i gPOST-Rangebasedsearch).1477
SEARCH CERTIFICATIONS/CURRICULA OF LOGGED IN USER......................1482
AUTO-ENROLLLEARNERSINTOCOURSESINSIDETHECERTIFICATION/CURRICULUM.1491
ASSIGN CERTIFICATION/CURRICULUM TO A PERSON...................................1494
GRANT CERTIFICATION/CURRICULUM TO A LEARNER..................................1495
UPDATETARGETDAYS/DATEFORASSIGNEDCERTIFICATION/CURRICULUMACTIVITY.1497
UPDATE EXPIRATION DATE OF HELD CERTIFICATION...................................1498
REMOVE CERTIFICATION/CURRICULUM ACTIVITY OF A LEARNER............1499
GET META DETAILS OF COURSE ACTIVITY........................................................1500
GET DETAILS OF A PARTICULAR COURSE ACTIVITY.......................................1502
GET ALL COURSE ACTIVITIES OF LOGGED IN USER........................................1503
FIND DETAILS OF COURSE ACTIVITIES BASED ON CRITERIA.......................1505
FIND DETAILS OF RECURRING COURSE ACTIVITIES BASED ON CRITERIA.1506
SEARCHALLCOURSEACTIVITIESBASEDONGIVENCRITERIA(USINGPOST-RANGEBASEDSEARCH).1508
ASSIGN A COURSE OR A RECURRING COURSE TO A PERSON......................1510
UPDATE DETAILS OF A COURSE ACTIVITY..........................................................1512
REMOVE A COURSE OR A RECURRING COURSE FROM A LEARNER............1512
CHANGE STATUS OF HELD CERTIFICATION/CURRICULUM...........................1513
Learning Module....................................................................................................................1516
REST API Reference | Contents | xv

CREATE A NEW LEARNING MODULE.....................................................................1516


UPDATE DETAILS OF A LEARNING MODULE.......................................................1518
DELETE A PARTICULAR MODULE..........................................................................1520
Order..........................................................................................................................................1521
GET ALL ORDERS........................................................................................................1521
FIND DETAILS OF ORDERS.......................................................................................1522
APPROVE / REJECT AN ORDER ITEM...................................................................1527
APPROVE / REJECT AN ORDER INVOICE PAYMENT........................................1527
UPDATE ORDER'S CUSTOM FIELDS......................................................................1528
GET ORDER DETAILS OF A PARTICULAR ORDER.............................................1536
MARK ORDER ITEM AS BILLED...............................................................................1552
GET ORDER ITEM BILLING DETAILS......................................................................1553
CANCEL AN ORDER...................................................................................................1554
Path...........................................................................................................................................1555
CREATE A NEW PATH ..............................................................................................1555
UPDATE DETAILS OF A PATH..................................................................................1557
DELETE A PARTICULAR PATH................................................................................1560
Packages.................................................................................................................................1560
FIND THE DETAILS OF THE PACKAGES...............................................................1560
GET ALL PACKAGES.................................................................................................1565
GET THE DETAILS OF A PARTICULAR PACKAGE..............................................1566
CREATE A NEW PACKAGE......................................................................................1569
UPDATE THE DETAILS OF A PACKAGE................................................................1574
DELETE PACKAGE......................................................................................................1578
Purchase Order.....................................................................................................................1579
GET ALL PURCHASE ORDERS.................................................................................1579
FIND DETAILS OF PURCHASE ORDER..................................................................1580
FIND DETAILS OF PURCHASE ORDER (Using POST - Range based search).1582
GET DETAILS OF A PARTICULAR PURCHASE ORDER......................................1583
GET META DETAILS OF PURCHASE ORDER.......................................................1585
CREATE A NEW PURCHASE ORDER.....................................................................1590
UPDATE DETAILS OF A PURCHASE ORDER........................................................1592
DELETE DETAILS OF A PARTICULAR PURCHASE ORDER..............................1595
Price List Entry......................................................................................................................1595
GETDETAILSOFPRICELISTENTRYONCOURSE,DELIVERYMODE,OFFERING,PACKAGE,TRAININGUNIT.1595
SEARCH PRICELIST ENTRY BY CRITERIA............................................................1596
SEARCH PRICELIST ENTRY BY CRITERIA POST BASED SEARCH.................1598
CREATE A NEW PRICELIST ENTRY FOR A LEARNING ITEM...........................1599
UPDATE PRICELIST ENTRY FOR A LEARNING ITEM.........................................1600
DELETE A PARTICULAR PRICELIST ENTRY.........................................................1601
Resource.................................................................................................................................1602
SEARCH RESOURCE BASED ON TYPE.................................................................1602
SEARCH RESOURCE BASED ON TYPE AND CRITERIA....................................1606
GET RESOURCE DETAILS.........................................................................................1610
SEARCH PURPOSE LIST............................................................................................1612
REST API Reference | Contents | xvi

GET PURPOSE DETAILS............................................................................................1613


GET RESOURCE FOR A GIVEN OFFERING............................................................1613
GET SESSION FOR A GIVEN OFFERING.................................................................1615
RETRIEVE DETAILS OF AN INDIVIDUAL SESSION...............................................1616
RETRIEVE ASSIGNMENT DETAILS..........................................................................1617
ASSIGN A RESOURCE TO AN OFFERING..............................................................1619
UPDATE AN EXISTING RESOURCE ASSIGNMENT..............................................1621
REMOVE AN EXISTING ASSIGNED RESOURCE...................................................1622
GET ALL EXTERNAL CO-PRESENTERS OF VC OFFERING..............................1623
ASSIGN EXTERNAL CO-PRESENTERS TO VC OFFERING................................1624
DELETE EXTERNAL CO-PRESENTERS FROM VC OFFERING.........................1625
Subscription...........................................................................................................................1625
GET META DETAILS OF SUBSCRIPTION...............................................................1625
GET DETAILS OF A PARTICULAR SUBSCRIPTION.............................................1637
GET ALL SUBSCRIPTIONS.......................................................................................1640
FIND DETAILS OF SUBSCRIPTION..........................................................................1641
CREATE A NEW SUBSCRIPTION.............................................................................1644
UPDATE DETAILS OF A SUBSCRIPTION...............................................................1646
FIND DETAILS OF SUBSCRIPTION (Using POST - Range based search)...1649
ADD AUDIENCE TYPE TO A SUBSCRIPTION.......................................................1650
REMOVE AUDIENCE TYPE FROM A SUBSCRIPTION..........................................1651
ADD DELIVERY TYPE / SUBSCRIPTION ITEM TO A SUBSCRIPTION.............1652
REMOVE DELIVERY TYPE / SUBSCRIPTION ITEM FROM A SUBSCRIPTION.1653
ADD SUBSCRIPTION PRICE TO A SUBSCRIPTION.............................................1654
ADD COST LIMIT PRICE TO A SUBSCRIPTION....................................................1655
REMOVE SUBSCRIPTION PRICE / COST LIMIT PRICE FROM A SUBSCRIPTION.1656
UPDATE LOCALE-SPECIFIC DETAILS OF SUBSCRIPTION..............................1656
Subscription Order..............................................................................................................1658
FIND DETAILS OF SUBSCRIPTION ORDERS........................................................1658
GET ORDER DETAILS OF A PARTICULAR SUBSCRIPTION ORDER...............1660
SEARCH ALL SUBSCRIPTION ORDERS................................................................1668
SEARCH SUBSCRIPTION ORDER - ALL (ORDER HISTORY FLOW)................1669
SEARCH SUBSCRIPTION ORDER - WITH SEARCH CRITERIA.........................1670
SEARCHSUBSCRIPTIONORDER-WITHSEARCHCRITERIA(ORDERHISTORYFLOW).1673
CREATE A SUBSCRIPTION ORDER........................................................................1675
UPDATE SUBSCRIPTION ORDER'S CUSTOM FIELDS........................................1686
GET DETAILS OF A PARTICULAR LEARNING SUBSCRIPTION.......................1686
CHANGE LEARNER OF A PARTICULAR LEARNING SUBSCRIPTION.............1689
Session Template..................................................................................................................1691
FIND DETAILS OF SESSION TEMPLATES..............................................................1691
FIND DETAILS OF SESSION TEMPLATE (USING POST - RANGE BASED SEARCH).1697
GET ALL SESSION TEMPLATES..............................................................................1703
GET DETAILS OF A SESSIONTEMPLATE..............................................................1707
GET META DETAILS OF SESSIONTEMPLATE......................................................1708
CREATE A NEW SESSION TEMPLATE.....................................................................1711
REST API Reference | Contents | xvii

UPDATE DETAILS OF A SESSION TEMPLATE......................................................1712


DELETE A SESSIONTEMPLATE................................................................................1713
Transcript.................................................................................................................................1714
GET ALL TRANSCRIPTS.............................................................................................1714
FIND DETAILS OF TRANSCRIPTS............................................................................1715
FIND TRANSCRIPTS THAT HAVE CHANGED OVER A GIVEN PERIOD OF TIME.1724
FIND DETAILS OF TRANSCRIPTS (Using POST - Range based search).....1726
GET DETAILS OF TRANSCRIPT (Using the component framework)..........1734
GET DETAILS OF TRANSCRIPT...............................................................................1735
GET META DETAILS OF TRANSCRIPT...................................................................1746
CREATE A NEW TRANSCRIPT.................................................................................1755
UPDATE A TRANSCRIPT...........................................................................................1764
UPDATE CUSTOM FIELDS OF A TRANSCRIPT....................................................1767
DELETE A TRANSCRIPT............................................................................................1773
Training Unit............................................................................................................................1774
GET ALL TRAINING UNITS.........................................................................................1774
FIND DETAILS OF TRAINING UNIT..........................................................................1776
FIND DETAILS OF TRAINING UNIT (Using POST - Range based search).....1778
GET META DETAILS OF TRAINING UNIT...............................................................1780
GET DETAILS OF A PARTICULAR TRAINING UNIT.............................................1788
CREATE A NEW TRAINING UNIT.............................................................................1789
UPDATE DETAILS OF A TRAINING UNIT................................................................1791
DELETE A PARTICULAR TRAINING UNIT..............................................................1793
GET DETAILS OF A PARTICULAR DISCOUNT ENTRY FOR TRAINING UNIT..1794
CREATE A NEW DISCOUNT ENTRY FOR TRAINING UNIT.................................1795
DELETE A PARTICULAR DISCOUNT ENTRY FOR TRAINING UNIT.................1796
GET DETAILS OF A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT..1796
CREATE A NEW PRICELIST ENTRY FOR TRAINING UNIT.................................1797
UPDATE DETAILS OF A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT.1799
DELETE A PARTICULAR PRICELIST ENTRY FOR TRAINING UNIT..................1799
UPDATE LOCALE-SPECIFIC DETAILS TRAINING UNIT....................................1800
Training Unit Agreement...................................................................................................1802
GET ALL TRAINING UNIT AGREEMENTS..............................................................1802
GET DETAILS OF A PARTICULAR TRAINING UNIT AGREEMENT...................1803
GET META DETAILS OF TRAINING UNIT AGREEMENT.....................................1804
FIND DETAILS OF TRAINING UNIT AGREEMENT.................................................1810
CREATE A NEW TRAINING UNIT AGREEMENT.....................................................1811
UPDATE DETAILS OF A TRAINING UNIT AGREEMENT......................................1814
Images......................................................................................................................................1816
UPLOAD IMAGE OF AN OBJECT (LEARNING OBJECTS)..................................1816
GET IMAGE URL OF AN OBJECT (LEARNING OBJECTS)..................................1821

Chapter 10: Performance................................................1823


Goals.........................................................................................................................................1824
REST API Reference | Contents | xviii

GET ALL GOALS FOR A PERSON............................................................................1824


GET DETAILS OF A PARTICULAR GOAL...............................................................1827
CREATE GOAL FOR SELF/TEAM............................................................................1834
CREATE PROGRESS OF A GOAL.............................................................................1851
CHANGE STATUS OF A GOAL.................................................................................1852
UPDATE APPROVER OF GOAL...............................................................................1854
UPDATE GOAL FOR SELF/TEAM............................................................................1855
Pulse.........................................................................................................................................1864
GET PULSE DASHBOARD DETAILS.......................................................................1864
GET CHART QUESTION DATA.................................................................................1872
GET ADMIN HEATMAP DATA...................................................................................1875
GET ACTIVE SURVEY DETAIL (DEPRECATED)...................................................1879
GET ACTIVE SURVEY INFO......................................................................................1888
GET ACTIVE SURVEY QUESTION DETAILS (DEPRECATED)...........................1890
SUBMIT PULSE SURVEY............................................................................................1897
Attribute details for PULSE APIs..........................................................................1898
Competency...........................................................................................................................1901
GET ALL COMPETENCIES FOR A PERSON..........................................................1901
GET DETAILS OF A PARTICULAR COMPETENCY OF A PARTICULAR PERSON.1904
GET ALL ASSESSMENTS OF COMPETENCIES FOR A PERSON.....................1905
Review......................................................................................................................................1906
FIND ALL REVIEWS....................................................................................................1906
FIND DETAILS OF REVIEW CYCLES......................................................................1908
FIND DETAILS OF REVIEWS......................................................................................1910
GET ALL REVIEW CYCLES.........................................................................................1911
GET DETAILS OF A PARTICULAR REVIEW............................................................1913
GET DETAILS OF A PARTICULAR REVIEW CYCLE.............................................1914
GET EXTENDED DETAILS OF A PARTICULAR REVIEW.....................................1916
GET EXTENDED DETAILS OF A PARTICULAR REVIEW CYCLE.......................1921
GET META DETAILS OF A REVIEW-CYCLE..........................................................1927
GET META DETAILS OF A REVIEW.........................................................................1943
FIND DETAILS OF REVIEWS WITH POST BASED SEARCH...............................1952

Chapter 11: Recruiting......................................................1955


Job Requisition......................................................................................................................1956
FIND DETAILS OF JOB REQUISITION.....................................................................1956
FIND DETAILS OF JOB REQUISITION (Using POST - Range based search).1958
GET ALL JOB REQUISITIONS....................................................................................1961
GET DETAILS OF A PARTICULAR JOB REQUISITION........................................1962
GET META DETAILS OF JOB REQUISITION..........................................................1978
CREATE A NEW JOB REQUISITION.......................................................................2006
UPDATE JOB REQUISITION......................................................................................2012
UPDATE LOCALE-SPECIFIC DETAILS OF JOB REQUISITION........................2020
Job Applications..................................................................................................................2022
REST API Reference | Contents | xix

CREATE A NEW JOB APPLICATION.....................................................................2022


UPDATE JOB APPLICATION...................................................................................2026
Job Postings.........................................................................................................................2030
GET ALL ACTIVE JOB-POSTINGS.........................................................................2030
GET DETAILS OF A PARTICULAR JOB-POSTING...............................................2031
Candidate...............................................................................................................................2033
CREATE A NEW CANDIDATE..................................................................................2033
UPDATE CANDIDATE................................................................................................2036

Chapter 12: Analytics.......................................................2041


Reports...................................................................................................................................2042
GET REPORT DEFINITION........................................................................................2042
GET REPORT LIST.....................................................................................................2045
REPORT ASYNC EXECUTION STATUS.................................................................2047
EXECUTE ASYNC REPORT......................................................................................2050
EXECUTE REPORT....................................................................................................2053

Chapter 13: Calendar.......................................................2059


FIND CALENDAR EVENTS..................................................................................................2060
Appointment.........................................................................................................................2062
GET DETAILS OF A PARTICULAR APPOINTMENT............................................2063
CREATE A NEW APPOINTMENT............................................................................2064
UPDATE AN EXISTING APPOINTMENT................................................................2066
DELETE AN EXISTING APPOINTMENT.................................................................2067

Chapter 14: Platform.......................................................2069


Data Extract..........................................................................................................................2070
GET LIST OF DATA EXTRACT JOBS.....................................................................2070
SCHEDULE DATA EXTRACT JOB...........................................................................2071
Data Import............................................................................................................................2075
MONITOR SCHEDULED JOB...................................................................................2075
MONITOR SCHEDULED JOB - POST BASED.......................................................2077
GET ALL SCHEDULED DATA IMPORT JOBS......................................................2080
GET ALL SCHEDULED DATA IMPORT JOBS - POST BASED..........................2082
GET DETAILS OF A SCHEDULED DATA IMPORT JOB......................................2085
TRIGGER A SCHEDULED JOB................................................................................2086
IP Address Management APIs.........................................................................................2087
ADD AN IP RANGE.....................................................................................................2087
RETRIEVE ADDED IPs...............................................................................................2088
DELETE IP RANGE.....................................................................................................2089

Chapter 15: CIF.................................................................2091


Content Inventory...............................................................................................................2092
GET ALL CONTENT INVENTORY............................................................................2092
FIND DETAILS OF CONTENT INVENTORY...........................................................2092
GET CONTENT'S DETAILS ALONG WITH THE METADATA.............................2094
GETCONTENT'SDETAILSALONGWITHTHESUBSCRIPTIONS,TAGS,CATEGORIES,LANGUAGES.2096
GETCONTENTS ' DETAILSALONGWITHTHESUBSCRIPTIONS,TAGS,CATEGORIES,LANGUAGES(UsingPOST).2099
PUBLISH CONTENT.....................................................................................................2101
UPDATE CONTENT INVENTORY.............................................................................2109
Content Folder.......................................................................................................................2115
GET ALL CONTENT FOLDER....................................................................................2115
FIND DETAILS OF CONTENT FOLDER....................................................................2115
GETDETAILSOFAPARTICULARCONTENTFOLDER,ROOTFOLDERS,ORALISTOFALLTHESUBFOLDERS.2117
CREATE A NEW CONTENT FOLDER.......................................................................2119
Core Services.........................................................................................................................2120
GET VERSION DETAILS OF PRODUCT..................................................................2120
GET A LIST OF SITES..................................................................................................2121
GET A CIF CERTIFICATE............................................................................................2121
GETINITIALSYSTEMVALUESFORCONTENTTYPES,CONTENTFORMATS,CONTENTSERVERS.2122
Partner.....................................................................................................................................2127
REPORT RESULT.........................................................................................................2127
CANCEL REGISTRATION...........................................................................................2131
RESULT REPORTING.............................................................................................................2132

Chapter 16: Integration APIs............................................2137


Virtual Classroom (For third party meeting connectors).......................................2138
Adapter Configuration............................................................................................2139
Create Meeting..........................................................................................................2139
Update Meeting..........................................................................................................2141
Delete Meeting...........................................................................................................2144
Get Meeting.................................................................................................................2144
Create Meeting Attendee.......................................................................................2145
Delete Meeting Attendee.......................................................................................2146
Get Host URL...............................................................................................................2147
Get Attendee URL.....................................................................................................2148
Meeting attendance.................................................................................................2149

Index..........................................................................................................2151
Notice

Limitations on Warranties and Liability

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


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.
© 2022 Saba Software, Inc. All rights reserved.
Preface

About This Guide

Welcome to the REST API Reference for Saba Cloud. 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 Saba's REST web services to access information in the Saba
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 Saba.

Intended Audience
This guide is intended for use by:
• Programmers who are writing client programs that use the Saba 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 Saba


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

I
REST Web Services

Topics:

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

1
Introduction

This document describes the REST API and resources provided


by Saba. The REST APIs are for developers who want to
integrate Saba into their application.
Saba'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 Saba REST APIs

Topics: Saba web services are based on REpresentational State


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

Authentication
Saba 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
Saba 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 Saba web services (other than the Authentication web service itself).

Maximum number of REST API calls


To provide optimal performance, Saba 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 Saba 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 Saba Cloud 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 Saba REST APIs | 31

Enabling REST Web Services in Saba


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

Example (a typical client side program)


The following Java program obtains the Saba 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 SabaRestApiClientJava {

public static void main (String args[]) {


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

//next call the GET API with SabaCertificate 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 Saba REST APIs | 32

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 Saba REST APIs | 33

API calls over cross domain


The following is what you need to provide Saba 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 Saba will qualify for and if the access is only for that site or for all sites
• Any limitations to what Saba will allow
Note: Saba sets Access-Control-Allow-Origin to allow access from the mentioned host
name from which customer tries to access Saba API.
Chapter

3
Some Quick Info

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


actions and targeted searches. Saba does not recommend
• Status/Error Codes using REST API, if the potential record count is 5000 or more
• Using custom fields with the (with caching) or 1000 or more (without caching). Such
supported data types and searches can lead to poor response time or time outs. Instead,
values use Saba Analytics data extracts or premium data extracts.
• No support for Microsites
• 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
REST API Reference | Some Quick Info | 36

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: 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 500 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.

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.
REST API Reference | Some Quick Info | 37

Error Code Description HTTP Details


Status

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 500 Invalid Client ID was provided.


provided or 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:
INTEGER

{
"@type": "CustomAttributeValueDetail",
"name": "custom3",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 1
},
"value": 11,
"displayName": "custom3"
}
REST API Reference | Some Quick Info | 38

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"
}

TIME

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

No support for Microsites


As of now, Saba Cloud does not provide support for Microsites:

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

All REST API requests are directed to the main Saba Cloud 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.
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
REST API Reference | Some Quick Info | 40

• 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

• 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


REST API Reference | Some Quick Info | 41

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.

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.
REST API Reference | Some Quick Info | 42

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.
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.
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
REST API Reference | Some Quick Info | 43

Component Fields mapped for lookup

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

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
REST API Reference | Some Quick Info | 44

Component Fields mapped for lookup

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

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
REST API Reference | Some Quick Info | 45

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.
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.
REST API Reference | Some Quick Info | 46

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

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/
REST API Reference | Some Quick Info | 47

Deprecated URL New URL Operations

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'.

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",
REST API Reference | Some Quick Info | 48

"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

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"
]
},
{
REST API Reference | Some Quick Info | 49

"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
Chapter

4
Authentication

Topics: The Authentication options that are available.

• Using Certificate based


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

Using Certificate based Authentication


Saba'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
Saba 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 Saba 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 Saba 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 Saba username to authenticate.

password The password for that username.

site The Saba 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 Saba 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.

Return Values
The web service returns a <SabaCertificate> JSON object, which contains a <certificate>
object. That object contains the authentication certificate (a string).
REST API Reference | Authentication | 53

Note: The Saba 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


Saba uses OAuth2 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 Saba API requests, you need to get a Consumer key and the
Consumer Secret from the Provider, in this case being Saba. This is provided by Saba 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 Saba Support will come back with
Consumer key/secret that you can use for invoking the REST APIs using OAuth. For assistance,
contact Saba 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 Saba site name.

Calling Options
The authorize web service is passed the following header parameters:
REST API Reference | Authentication | 54

Table 6: Authorize Web Service Calling Parameters

Header Parameters Description


Passed

client_id The Saba site name.

client_secret The Consumer secret that you received from Saba 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 Saba 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)

Using the Web option


To use the Web option, you need to pass the following query parameters to accessToken.jsp:
• siteName
• code
• redirectUrl
REST API Reference | Authentication | 55

• 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",
"http://<hostname>/Saba/accesstoken.jsp",
"http://<hostname>:8989/OAuthClient/OAuthClient.jsp",
"http://<hostname>/accesstoken.html"
],
"flow":null
},
"redirectURI":null,
"relatedAuthCode":null,
"relatedRefreshToken":null,
REST API Reference | Authentication | 56

"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 Saba 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”
}

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.
REST API Reference | Authentication | 57

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 | 60

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 | 61

"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 | 62

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 | 63

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 | 64

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 | 65

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 | 66

"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 | 67

"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 | 68

"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 | 69

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 | 70

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 | 71

},
"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 | 72

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 Saba meeting re-


tion lated information.

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 | 73

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 | 74

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 Saba'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

internalCertifica- Certifications array FALSE Person's certifica-


tions tions acquired
through Saba's LMS.
REST API Reference | People | 75

Attribute Name Display Name Type Required isSearchFilter Description

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 | 76

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 | 77

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 | 78

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 Saba meeting alias.


file Name

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


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

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 | 80

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 | 81

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 | 82

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 | 83

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 | 84

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 | 85

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 | 86

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 | 87

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 | 88

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 | 89

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 | 90

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 | 91

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 | 92

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 | 93

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 | 94

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 | 95

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 | 96

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 | 97

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 | 98

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]
REST API Reference | People | 99

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 | 100

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 | 101

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 | 102

"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 | 103

{
"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 | 104

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 | 105

"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 | 106

"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 | 107

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 | 108

"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 | 109

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 | 110

"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 | 111

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 | 112

"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 | 113

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 | 114

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 | 115

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 | 116

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 | 117

"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 | 118

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 | 119

},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality in Saba (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 | 120

"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 | 121

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 Saba (Automatically assigned to
all external people defined in the system)",
"securityDomain": {
REST API Reference | People | 122

"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 Saba Application",
"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 Saba
Application ",
"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 | 123

},
{
"isCriteriaBased": false,
"is_compound": false,
"description": "Grants access to all functionality in Human Capital Admin of the Saba
Application",
"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 | 124

"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 | 125

"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 | 126

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 | 127

"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 | 128

"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 | 129

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 | 130

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 | 131

},
"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 | 132

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 | 133

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 | 134

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 | 135

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 | 136

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 | 137

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 | 138

},
{
"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 | 139

{
" 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 | 140

"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 | 141

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 | 142

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 | 143

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 | 144

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

ADD CUSTOM DETAILS FOR A PERSON

Overview
Adds custom 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 | 145

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 | 146

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 | 147

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 | 148

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 | 149

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 | 150

"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 | 151

"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 | 152

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 | 153

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 | 154

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 | 155

"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 | 156

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 | 157

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 | 158

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 | 159

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 | 160

{
"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 | 161

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 | 162

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 | 163

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 Saba (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 | 164

}
}]
}

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 | 165

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 | 166

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 | 167

"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 | 168

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 | 169

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 | 170

]
],
"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 | 171

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 | 172

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 | 173

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 | 174

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 | 175

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 | 176

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 | 177

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 | 178

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 | 179

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 | 180

{
"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 | 181

"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 Saba
Application ",
"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 | 182

"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 | 183

"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 | 184

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 | 185

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 | 186

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 | 187

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 | 188

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 | 189

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 | 190

"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 | 191

"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 Saba
Application ",
"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 | 192

"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 | 193

{
"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 | 194

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/flightRisk/: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>/flightRisk/:id?type={internal/external}

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

Request Body

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

UPDATE A PERSON'S CUSTOM DETAILS

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

Requires OAuth
No

Method
PUT

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

Calling Options
Table 50: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID em- string Yes


plo000000000203306
REST API Reference | People | 196

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

customSectionId Custom Section ID string No

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 | 197

}
}

Return Values

Blank with 204 response code

UPDATE PERSON'S RESOURCE AND RATE DETAILS

Overview
Updates Person's resource and rate details.

Requires OAuth
No

Method
PUT

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

Calling Options
Table 51: 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",
[
REST API Reference | People | 198

{
"@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"
}

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
REST API Reference | People | 199

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"}

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


REST API Reference | People | 200

Name Description Sample Value Data Type Required?

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

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 | 201

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 | 202

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 {"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 | 203

Name Description Sample Value Data Type Required?

associations object No
REST API Reference | People | 204

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 | 205

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 | 206

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 | 207

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 | 208

"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 Saba",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
REST API Reference | People | 209

}
},
{
"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 Saba (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 Saba
Application ",
"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 | 210

"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 | 211

"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 | 212

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 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"}
REST API Reference | People | 213

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 | 214

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 | 215

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 | 216

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 | 217

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 | 218

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 | 219

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 | 220

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 | 221

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 | 222

"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 Saba",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
REST API Reference | People | 223

}
},
{
"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 Saba (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 Saba
Application ",
"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 | 224

"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 | 225

"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 | 226

Requires OAuth
No

Method
PUT

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

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

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


REST API Reference | People | 227

Name Description Sample Value Data Type Required?

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 | 228

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 | 229

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 | 230

Name Description Sample Value Data Type Required?

associations object No
REST API Reference | People | 231

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 | 232

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 | 233

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 | 234

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.

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",
"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
REST API Reference | People | 235

"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 Saba",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Manager Basic Privileges",
"id":"cpriv000000000000114",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
REST API Reference | People | 236

},
{
"name":"Internal Person Basic Privileges",
"id":"cpriv000000000000107",
"description":"Grants access to all functionality in Saba (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 Saba
Application ",
"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",
"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
REST API Reference | People | 237

"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
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
REST API Reference | People | 238

"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.

UPDATE A PROFILE FOR GIVEN PERSON NAME [INTERNAL]

Overview
Updates a profile for a given internal person name.

Requires OAuth
No
REST API Reference | People | 239

Method
PUT

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

Calling Options
Table 55: 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

religion Religion Mix string No

username Username testUser string No


REST API Reference | People | 240

Name Description Sample Value Data Type Required?

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

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 | 241

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 | 242

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 {"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 | 243

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 | 244

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 | 245

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 | 246

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 | 247

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.

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",
"displayName":"Saba1"
},
"company_id":{
"id":"cmpny000000000001650",
"displayName":"Saba1"
},
"jobtype_id":null,
"ss_no":null,
"job_title":null,
"title":"",
REST API Reference | People | 248

"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 Saba",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
},
{
"name":"Internal Manager Basic Privileges",
"id":"cpriv000000000000114",
"description":"Privileges assigned to Internal Manager",
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
}
REST API Reference | People | 249

},
{
"name":"Internal Person Basic Privileges",
"id":"cpriv000000000000107",
"description":"Grants access to all functionality in Saba (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 Saba
Application ",
"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",
"description":"Director",
"customValues":{
"ExCustom3":null,
"custom1":null,
"ExCustom2":null,
"custom2":null,
"ExCustom1":null,
"custom0":null
},
"securityDomain":{
REST API Reference | People | 250

"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
},
"securityDomain":{
"id":"domin000000000000001",
"displayName":"world"
},
"id":"roles000000000001634"
}
],
"interests":{
"shortTermAspirations":"Doing everything that everyone is doing",
"longTermAspirations":"dominate the world",
REST API Reference | People | 251

"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 COREPROFILE DETAILS OF A PERSON

Overview
Update a person's coreprofile details.

Requires OAuth
No

Method
PUT
REST API Reference | People | 252

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 56: 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"
},
{
"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"
}
REST API Reference | People | 253

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 57: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Languages's ID string Yes

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


REST API Reference | People | 254

Name Description Sample Value Data Type Required?

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"
}
}

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
REST API Reference | People | 255

Calling Options
Table 58: 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

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"
}
}
REST API Reference | People | 256

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

Calling Options
Table 59: 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


REST API Reference | People | 257

Name Description Sample Value Data Type Required?

comments Comments Prode Moment string No

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"
},
REST API Reference | People | 258

"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
}

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 60: 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


REST API Reference | People | 259

Name Description Sample Value Data Type Required?

accredit- Accrediting body LOV Seed string Yes


ing_body_lov

accredit- Accrediting body text string No


ing_body_text

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",
REST API Reference | People | 260

"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
}

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 61: 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
REST API Reference | People | 261

Name Description Sample Value Data Type Required?

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

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.
REST API Reference | People | 262

https://<hostname-api.sabacloud.com>/v1/people/username%3D<UserName>/interests/username%3D<UserName>?type={internal/external}

Calling Options
Table 62: 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

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
REST API Reference | People | 263

Calling Options
Table 63: 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

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.
REST API Reference | People | 264

Name Description Sample Value Data Type Required?

domain Domain object No


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

displayName Display name Test user string No

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
REST API Reference | People | 265

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

Calling Options
Table 64: 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",
REST API Reference | People | 266

"company_lov": "Test Company 0001",


"responsibilities": "",
"accomplishments": "",
"location": "Mumbai",
"id": "ppewh000000000329231",
"securityDomain": {
"id": "domin000000000000001",
"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 65: 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 | 267

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 | 268

Calling Options
Table 66: 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 | 269

Calling Options
Table 67: 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 | 270

URL
https://<hostname-api.sabacloud.com>/v1/people/:person_id/potentialRating/: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>/potentialRating/:id?type={internal/external}

Calling Options
Table 68: 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

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
REST API Reference | People | 271

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/people/:personId/retirementRisk/: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>/retirementRisk/:id?type={internal/external}

Calling Options
Table 69: 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

Request Body

{
"retirement_risk":"Low",
"id":"pprtr000000001505691",
"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 SABA MEETING PROFILE DETAILS OF A PERSON

Overview
Updates a person's Saba Meeting Profile details.
REST API Reference | People | 272

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 Saba
Metting Profile's ID.
https://<hostname-api.sabacloud.com>/v1/people/username%3D<Username>/centraProfile/username%3D<Username>?type={internal/external}

Calling Options
Table 70: Calling Options

Name Description Sample Value Data Type Required?

person_id Person's ID per- string Yes


sn000000000001000

id Saba Metting Profile's pcntr000000000012452 string Yes


ID

nick_name Nick name CONE string No

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
REST API Reference | People | 273

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

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 71: 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


REST API Reference | People | 274

Name Description Sample Value Data Type Required?

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.

Requires OAuth
No

Method
PUT

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

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

customSectionId The above custom string Yes


section's ID
REST API Reference | People | 275

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

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/username=<userName>/:customSection/username=<userName>?type=internal
REST API Reference | People | 276

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

Calling Options
Table 73: 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

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",
"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.
REST API Reference | People | 277

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 74: 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

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"}
REST API Reference | People | 278

]
}

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
}

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 75: 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
REST API Reference | People | 279

Name Description Sample Value Data Type Required?

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",
"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
REST API Reference | People | 280

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 76: Calling Options

Name Description Sample Value Data Type Required?

username Username of the per- cone string Yes


son

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",
REST API Reference | People | 281

"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

Method
PUT

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

Calling Options
Table 77: 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
REST API Reference | People | 282

Name Description Sample Value Data Type Required?

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

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"
}

REMOVE/UPDATE JOB / SECURITY ROLES OF A PERSON

Overview
Remove/Update a person's job / security roles.
REST API Reference | People | 283

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 78: 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 Saba
Application ",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Super User",
"id": "cpriv000000000000100",
"description": "Grants access to all functionality in Saba",
"securityDomain": {
"id": "domin000000000001000",
"displayName": "world"
}
},
{
"name": "Internal Manager Privileges",
REST API Reference | People | 284

"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.
Note: This API does not support partial update.

Requires OAuth
No
REST API Reference | People | 285

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 79: 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"
},
{
"id": "persn000000000001546",
"displayName": "pooja_jp khanvilkar_jp"
},
{
"id": "persn000000000019311",
REST API Reference | People | 286

"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"
},
{
"id": "persn000000000001070",
"displayName": "Gautam Wahi"
},
{
"id": "persn000000000011876",
REST API Reference | People | 287

"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

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
REST API Reference | People | 288

Calling Options
Table 80: 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 81: Calling Options

Name Description Sample Value Data Type Required?

personId Primary Person / Em- per- string Yes


ployee's ID sn000000000001000

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


name nesscomponent
.dto.Profile-
MergeDTO
REST API Reference | People | 289

Name Description Sample Value Data Type Required?

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":
"http://<hostname-api.sabacloud.com>/v1/common/profile/emplo000000000200874/resource"
}
REST API Reference | People | 290

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 82: 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

ASSESS PERSON'S COMPETENCY

Overview
Assesses a person's competency.
REST API Reference | People | 291

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 83: 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 | 292

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 | 293

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 | 294

"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 | 295

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 84: 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 | 296

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 85: 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 | 297

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 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 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 | 298

Calling Options
Table 87: 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 88: 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 | 299

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 89: 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 | 300

Requires OAuth
No

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

Calling Options
Table 90: 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 | 301

Calling Options
Table 91: 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 92: 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 | 302

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 93: 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 | 303

Calling Options
Table 94: 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 95: 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 | 304

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 96: 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 | 305

Calling Options
Table 97: 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 98: 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 | 308

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 | 309

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 | 312

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 Saba 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 99: 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 | 313

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 | 314

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 | 315

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 | 316

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 | 317

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 100: 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 | 318

@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 | 319

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 | 320

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 101: 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 | 321

URL
https://<hostname-api.sabacloud.com>/v1/attachments?ownerName=:ownerName&ownerId=:ownerId

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

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 | 322

]
]

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 Saba
ID for Location:
https://<hostname-api.sabacloud.com>/v1/attachments/?ownerId=location%3D<LocationName>

Calling Options
Table 103: 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 | 323

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 | 324

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 Saba 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 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 | 325

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 | 326

• 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 Saba 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 105: 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 | 327

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 | 328

UPDATE AN ATTACHMENT

Overview
Updates an attachment

Requires OAuth
No

Method
PUT

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

Calling Options
Table 106: 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 | 329

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 | 330

Calling Options
Table 107: 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 108: 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 | 331

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 109: 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 | 332

URL
https://<hostname-api.sabacloud.com>/v1/attachments/attachment/content/:ownerid

Calling Options
Table 110: 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 | 333

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 | 334

"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 | 335

"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 | 336

},
{
"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 | 337

},
{
"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 | 338

"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 | 339

Calling Options
Table 111: 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 | 340

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 112: 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 | 341

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 113: 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 | 342

"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 | 343

Calling Options
Table 114: 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 | 344

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 115: 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 | 345

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/learning/audiencetype/{audienceTypeID}/person

Calling Options
Table 116: 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 | 346

"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 117: 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 | 347

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 118: 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 | 348

"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 | 349

"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 | 350

"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 | 351

"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 | 352

"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 | 353

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype?count=:count&startPage=:startPage

Calling Options
Table 119: 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 | 354

"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 120: 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 | 355

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 121: 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 | 356

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 | 357

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/subaudiencetype/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 122: 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 | 358

Requires OAuth
No

Method
PUT

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

Calling Options
Table 123: 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 | 359

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 124: 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 | 360

"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 125: 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 | 361

• 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 | 362

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 126: 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 | 363

"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 | 364

"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 | 365

},
{
"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 | 366

"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 | 367

{
"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 | 368

"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 | 369

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

Calling Options
Table 127: 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 | 370

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 | 371

"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 | 372

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 128: 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 | 373

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 | 374

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 | 375

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 | 376

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 | 377

{
"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 | 378

Calling Options
Table 129: 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 | 379

"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 130: 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 | 380

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 131: 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 | 381

{
"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 | 382

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

Calling Options
Table 132: 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 133: 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 | 383

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": "Saba 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 | 384

"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 134: 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 | 385

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 135: 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 | 386

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 136: 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 | 387

}
]}

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 137: 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 | 388

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 138: Calling Options

Name Description Default Value Data Type Required?

count The number of re- 10 string No


cords per page.
REST API Reference | Foundation | 389

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 | 390

"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 | 391

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 139: 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 | 392

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

Calling Options
Table 140: 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 141: 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 | 393

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 142: 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 | 394

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 143: 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 | 395

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 | 396

Calling Options
Table 144: 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 | 397

Calling Options
Table 145: 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 | 398

}
],
"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 146: 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 | 399

Requires OAuth
No

Method
GET

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

Calling Options
Table 147: 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": "Saba internal id",
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"isProtected": false,
REST API Reference | Foundation | 400

"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 | 401

Method
POST

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

Calling Options
Table 148: 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 | 402

Method
PUT

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

Calling Options
Table 149: 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 | 403

Calling Options
Table 150: 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 151: 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 | 404

},
"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 152: 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 | 405

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 153: 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 | 406

"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 | 407

"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 | 408

Calling Options
Table 154: 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 | 409

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 155: 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 | 410

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 156: 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 | 411

"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 157: 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 | 412

},
"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 | 413

"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 | 414

"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 158: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 415

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 | 416

Calling Options
Table 159: 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 | 417

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 160: 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 | 418

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 | 419

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/exchangerate/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 161: 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 | 420

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 | 421

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 162: 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 | 422

"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 163: 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 | 423

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 | 424

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

Calling Options
Table 164: 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 | 425

"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 165: 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 | 426

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 166: Calling Options

Name Description Sample Value Data Type Required?

id Facility's ID fclty000000000200082 string Yes


REST API Reference | Foundation | 427

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 | 428

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 | 429

"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 | 430

},
{
"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 | 431

"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 | 432

"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 | 433

"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 | 434

},
{
"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 | 435

{
"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 | 436

"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 167: 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 | 437

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 | 438

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 | 439

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 168: 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 | 440

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 | 441

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 | 442

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/facility/facility_no=:facility_no

Calling Options
Table 169: 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 | 443

"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 170: 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 | 444

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 | 445

],
"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 | 446

"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 | 447

"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 | 448

"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 | 449

"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 | 450

"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 | 451

"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 | 452

https://<hostname-api.sabacloud.com>/v1/jobs/jobCode%3D<JobCode>?includeassociation=true

Calling Options
Table 171: 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 | 453

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 172: 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 | 454

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 | 455

}
}

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 173: 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 | 456

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 | 457

"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 | 458

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 174: 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 | 459

},
"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 | 460

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 175: 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 | 461

"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 | 462

"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 | 463

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 176: 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 | 464

Calling Options
Table 177: 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 | 465

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 178: 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 | 466

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 179: 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 | 467

},
"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 180: 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 | 468

"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 181: 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 | 469

}
]
}

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 182: 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 | 470

"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 183: 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 | 471

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 | 472

Calling Options
Table 184: 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 | 473

Method
DELETE

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

Calling Options
Table 185: 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 186: 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 | 474

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 | 475

Calling Options
Table 187: 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 | 476

• 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 | 477

"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 | 478

{
"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 | 479

"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 | 480

"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 | 481

"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 | 482

"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 | 483

"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 | 484

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 188: 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 | 485

"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 189: Calling Options

Name Description Sample Value Data Type Required?

loc_name The location name location101 string Yes


REST API Reference | Foundation | 486

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 | 487

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 | 488

"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 | 489

Calling Options
Table 190: 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 | 490

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 | 491

"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 | 492

Calling Options
Table 191: 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 | 493

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 192: 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 | 494

• 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 | 495

• 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 | 496

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 | 497

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 193: 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 | 498

"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 | 499

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 194: 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 | 500

"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 | 501

"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 | 502

{
"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 | 503

"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 | 504

"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 | 505

"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 | 506

"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 | 507

"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 | 508

"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 | 509

"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 | 510

"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 | 511

"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 | 512

"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 | 513

{
"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 | 514

"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 | 515

"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 | 516

"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 | 517

{
"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 | 518

"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 | 519

"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 | 520

"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 195: 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 | 521

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 | 522

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 | 523

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 | 524

"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 | 525

}
}

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 | 526

"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 | 527

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 196: 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 | 528

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 | 529

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 | 530

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 | 531

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 | 532

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 | 533

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 | 534

"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 | 535

],
"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 | 536

}
]
}
}

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 197: 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 | 537

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 | 538

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 | 539

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 | 540

},
"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 | 541

"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 | 542

"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 | 543

Calling Options
Table 198: 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 | 544

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 | 545

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 | 546

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 | 547

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 | 548

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 | 549

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 | 550

"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 | 551

],
"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 | 552

}
],
"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 199: 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 | 553

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 | 554

"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 | 555

"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 | 556

"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 | 557

"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 | 558

"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 | 559

"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 | 560

"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 200: 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 | 561

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 | 562

Calling Options
Table 201: 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 | 563

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 202: 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 | 564

"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 203: 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 | 565

"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 | 566

"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 | 567

Calling Options
Table 204: 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 | 568

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 | 569

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 | 570

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 | 571

},
"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 | 572

"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 205: 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 | 573

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 | 574

},
"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 | 575

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

Calling Options
Table 206: 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 | 576

"@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 | 577

Table 207: 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 | 578

Method
POST

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

Calling Options
Table 208: 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 | 579

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 | 580

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 209: 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 | 581

"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 | 582

"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 | 583

"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 | 584

"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 | 585

"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 | 586

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 210: 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 | 587

"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 211: 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 | 588

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 | 589

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 | 590

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 | 591

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 212: 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 | 592

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 | 593

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 | 594

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 213: 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 | 595

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 | 596

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 214: 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 | 597

"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 215: 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 | 598

"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 216: 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 | 599

"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 | 600

"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 | 601

"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 | 602

"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 217: 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 | 603

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 | 604

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 | 605

"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 | 606

"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 218: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 607

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 | 608

"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 219: 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 | 609

"name": "Super User",


"id": "cpriv000000000000100",
"description": "Grants access to all functionality in Saba",
"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 220: 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 | 610

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 | 611

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 | 612

"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 | 613

"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 | 614

"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 | 615

"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 221: 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 | 616

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 | 617

{
"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 222: 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 | 618

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 223: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Foundation | 619

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 | 620

"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 | 621

"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 | 622

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 224: 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 | 623

"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 | 624

Method
GET

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

Calling Options
Table 225: 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 | 625

"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 | 626

Calling Options
Table 226: 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 | 627

{
"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 | 628

Requires OAuth
No

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

Calling Options
Table 227: 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 | 629

}]
}, {
"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 | 630

"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 | 631

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 | 632

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 | 633

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 | 634

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 | 635

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 228: 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 | 636

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 | 637

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 | 638

}, {
"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 | 639

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 | 640

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 | 641

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 | 642

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 | 643

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 229: 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 | 644

Example: https://<hostname-api.sabacloud.com>/v1/smartlists/stlst000000000001021/locale

Calling Options
Table 230: 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 | 645

Calling Options
Table 231: 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 | 646

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 | 647

"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 232: 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 | 648

"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 | 649

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 233: 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 | 652

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.

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 | 653

Calling Options
Table 234: 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 | 654

"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 | 655

"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 | 656

Calling Options
Table 235: 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 | 657

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 | 658

{
"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 | 659

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 | 660

"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 | 661

EXAMPLE
https://<hostname-api.sabacloud.com>/v1/social/resource/searchQuery?type=idea

Calling Options
Table 236: 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 | 662

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 | 663

},
{
"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 | 664

"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 | 665

"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 | 666

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 237: 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 | 667

},
{
"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 | 668

],
"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 238: 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 | 669

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 SABA ACTIVITY STREAM

Overview
Posts an idea to the Saba Activity Stream.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource
REST API Reference | Social | 670

Calling Options
Table 239: 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 | 671

"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 SABA ACTIVITY STREAM

Overview
Posts an issue to the Saba Activity Stream.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource
REST API Reference | Social | 672

Calling Options
Table 240: 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 | 673

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 SABA ACTIVITY STREAM

Overview
Posts a link to the Saba Activity Stream.

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/resource
REST API Reference | Social | 674

Calling Options
Table 241: 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 | 675

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 SABA ACTIVITY STREAM

Overview
Posts a file to the Saba 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 | 676

Content Type
Consumes: Multipart-form-data, Produces: application/json

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/social/file

Calling Options
Table 242: 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 243: 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 | 677

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 | 678

"displayName": "link_test_07_29_005"
}

UPDATE IDEA POSTED ON SABA ACTIVITY STREAM

Overview
Updates an issue posted on the Saba Activity Stream.

Requires OAuth
No

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 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 | 679

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 | 680

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 SABA ACTIVITY STREAM

Overview
Updates an issue posted on Saba Activity Stream.

Requires OAuth
No
REST API Reference | Social | 681

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 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 | 682

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 | 683

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 SABA ACTIVITY STREAM

Overview
Updates a link posted on the Saba Activity Stream.

Requires OAuth
No
REST API Reference | Social | 684

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 246: 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 | 685

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 SABA ACTIVITY STREAM

Overview
Updates a file posted on the Saba 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 | 686

URL
https://<hostname-api.sabacloud.com>/v1/social/file/:fileId

Calling Options
Table 247: 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 | 687

"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 SABA ACTIVITY STREAM

Overview
Deletes an issue posted on the Saba 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


Idea
REST API Reference | Social | 688

DELETE ISSUE POSTED ON SABA ACTIVITY STREAM

Overview
Deletes an issue posted on Saba 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 Issue

DELETE LINK POSTED ON SABA ACTIVITY STREAM

Overview
Deletes a link posted on the Saba Activity Stream.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId

Calling Options
Table 250: Calling Options

Name Description Sample Value Data Type Required?

resourceId resourceId is the ID of string Yes


the link
REST API Reference | Social | 689

DELETE FILE POSTED ON SABA ACTIVITY STREAM

Overview
Deletes a file posted on the Saba Activity Stream.

Requires OAuth
No

Method
DELETE

URL
https://<hostname-api.sabacloud.com>/v1/social/file/:fileId

Calling Options
Table 251: 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 | 690

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.
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 | 691

URL
https://<hostname-api.sabacloud.com>/v1/social/resource/:resourceId/likes

Calling Options
Table 253: 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 254: 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 | 692

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 | 693

Calling Options
Table 255: 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 | 694

https://<hostname-api.sabacloud.com>/v1/social/resource/bbmsg000000000001311/comment

Calling Options
Table 256: 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 257: Calling Options

Name Description Sample Value Data Type Required?

personId ID of the user string Yes


REST API Reference | Social | 695

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 | 696

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 | 697

"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 | 698

Calling Options
Table 258: 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 Saba).
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 | 699

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 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 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 | 700

"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 Saba.

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 | 701

Calling Options
Table 260: 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 | 702

"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 261: 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 | 703

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 | 704

},
{
"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 262: 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 | 705

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 | 706

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:discussionId

Calling Options
Table 263: 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 | 707

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:groupId

Calling Options
Table 264: 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 | 708

URL
https://<hostname-api.sabacloud.com>/v1/social/discussion/:discussionId

Calling Options
Table 265: 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 | 709

Calling Options
Table 266: 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 Entry
• Resource
• Subscription
• Subscription Order
• Session Template
• Transcript
• Training Unit
• Training Unit Agreement
• Images
REST API Reference | Learning | 712

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 | 713

"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 | 714

"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 | 715

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

Calling Options
Table 267: 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 Saba 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 | 716

Method
POST

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

Calling Options
Table 268: 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 | 717

"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 269: 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 | 718

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 | 719

"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 | 720

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/attendance
?q=(:criteria)&count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 270: 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 | 721

"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 | 722

"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 | 723

Calling Options
Table 271: 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 | 724

"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 | 725

"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 | 726

Calling Options
Table 272: 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 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

id Component's ID crt- string Yes


fy000000000200021
REST API Reference | Learning | 727

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 | 728

"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 | 729

"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 | 730

"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 | 731

}
],
"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 | 732

URL
https://<hostname-api.sabacloud.com>/v1/:name/meta

Calling Options
Table 274: 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 | 733

"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 | 734

"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 | 735

"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 | 736

},
{
"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 | 737

"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 | 738

}
]
}
},
{
"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 | 739

"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 | 740

"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 | 741

"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 | 742

"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 | 743

"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 | 744

"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 | 745

"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 | 746

"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 | 747

"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 | 748

},
{
"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 | 749

"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 | 750

"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 | 751

"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 | 752

"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 | 753

{
"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 | 754

"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 | 755

"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 | 756

"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 | 757

"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 | 758

"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 | 759

"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 | 760

"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 | 761

"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 | 762

"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 | 763

"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 | 764

"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 | 765

},
{
"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 | 766

"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 | 767

"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 | 768

"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 | 769

"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 | 770

"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 | 771

"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 | 772

},
{
"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 | 773

"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 | 774

"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 | 775

"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 | 776

"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 275: 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 | 777

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 276: Calling Options

Name Description Sample Value Data Type Required?

type The type of class instructor_led enumerated Yes


REST API Reference | Learning | 778

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 | 779

"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 | 780

Calling Options
Table 277: 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 278: 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 | 781

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 | 782

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 | 783

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 | 784

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 | 785

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 | 786

},
"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 | 787

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 | 788

"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 | 789

"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 | 790

"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 | 791

"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 | 792

"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 | 793

{
"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 | 794

"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 | 795

"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 | 796

"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 | 797

},
{
"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 | 798

"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 | 799

"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 | 800

"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 | 801

"type": "date",
"isReference": false,
"display": false,
"isSearchFilter": false
}
]
}

GET META DETAILS OF AN ILT 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,
"stud_book": null,
"duration": 0,
"broadcast": false,
"parent": null,
"location_id": {
"id": "locat000000000001193",
"displayName": "234234"
REST API Reference | Learning | 802

},
"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,
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": true,
"length": 25,
"maximumLength": 25,
REST API Reference | Learning | 803

"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",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
"name": "description",
"displayName": "Description",
REST API Reference | Learning | 804

"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
},
{
"name": "elements_to_complete",
"displayName": "Optional elements to complete",
"description": null,
"isRequired": false,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
REST API Reference | Learning | 805

"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",
"isRequired": false,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
REST API Reference | Learning | 806

{
"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",
REST API Reference | Learning | 807

"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,
"isAutoGenerated": false,
"type": "integer",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 808

"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,
"isSearchFilter": false
},
{
"name": "organization_id",
"displayName": "Bill To Organization",
"description": null,
"isRequired": false,
REST API Reference | Learning | 809

"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,
"isAutoGenerated": false,
"type": "object",
"isReference": true,
"display": true,
"isSearchFilter": false
},
{
REST API Reference | Learning | 810

"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
},
{
"name": "status",
"displayName": "Status",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
REST API Reference | Learning | 811

"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
},
{
"name": "updated_by",
"displayName": "Updated By",
"description": null,
"isRequired": true,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
REST API Reference | Learning | 812

"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,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
"name": "custom2",
REST API Reference | Learning | 813

"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,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom7",
"displayName": "Custom7",
REST API Reference | Learning | 814

"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,
"type": "date",
"isReference": false,
"display": false,
"isSearchFilter": false
}
]
}
REST API Reference | Learning | 815

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 279: 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 | 816

Return Values

{
"@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",
"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"
},
REST API Reference | Learning | 817

"componentName": "ComponentName",
"publishStartDate": null,
"publishEndDate": null,
"publishStatus": null,
"publishStatusMessage": null,
"group_id": null,
"endDateI18n": "01/23/2017",
"startDateI18n": "01/09/2017",
"priceDisplayString": null,
"dropPolicyInfo": {
"@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
}
}
]
],
REST API Reference | Learning | 818

"trainingUnitDropPolicyInfo": null
},
"courseVersion": null,
"offeringPrices": [
"list",
[
{
"@type": "com.saba.learning.services.common.Money",
"amountString": "30 USD",
"isocode": "USD",
"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",
REST API Reference | Learning | 819

"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": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom7",
"datatype": {
"@type": "CustomAttributeDatatype",
REST API Reference | Learning | 820

"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
},
"value": null,
"displayName": "Custom12"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom13",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
REST API Reference | Learning | 821

"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": "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"
},
REST API Reference | Learning | 822

{
"@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"
},
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 823

"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",
"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,
REST API Reference | Learning | 824

"custom3": null,
"custom4": null,
"custom1": null,
"custom2": null,
"custom7": null,
"custom8": null,
"custom5": null,
"custom6": null
},
"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"
},
REST API Reference | Learning | 825

{
"@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,
"displayName": "Custom9"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom10",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"displayName": "Custom10"
},
{
"@type": "CustomAttributeValueDetail",
REST API Reference | Learning | 826

"name": "excustom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 10
},
"value": null,
"displayName": "excustom1"
},
{
"@type": "CustomAttributeValueDetail",
"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",
REST API Reference | Learning | 827

"locale": "English",
"categoryDescription": "Map",
"attachmentType": "text/html",
"attachmentURL":
oc
h
la
/o
h
p
lS
ts
/"a
:ba
W
/eb
M
/n
a
?s
ip
p
=a
g
s
n
Ie
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
},
{
"@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
gs
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",
REST API Reference | Learning | 828

"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000201505",
"displayName": "merge1"
},
"has_community": false,
"wbt_no": "UPDATE5",
"offeringlocked": false,
"delivery_id": {
"@type": "ServiceObjectReference",
"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"
REST API Reference | Learning | 829

},
"resources": [
"list",
[]
],
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001001",
"displayName": "Location2"
},
"actions": null,
"id": "class000000000201505",
"description": "",
"status": "Open - Normal"
}

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",
"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,
REST API Reference | Learning | 830

"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": {
"@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
REST API Reference | Learning | 831

}
},
{
"@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",
"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,
REST API Reference | Learning | 832

"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",
"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
},
REST API Reference | Learning | 833

"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"
},
{
"@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"
REST API Reference | Learning | 834

},
{
"@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
},
"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",
REST API Reference | Learning | 835

"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 | 836

"@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",
"name": "excustom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
REST API Reference | Learning | 837

},
"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": [
"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",
REST API Reference | Learning | 838

"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",
"name": "custom9",
"datatype": {
REST API Reference | Learning | 839

"@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"
}
]
],
"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",
REST API Reference | Learning | 840

"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
},
{
"@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
gs
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",
REST API Reference | Learning | 841

"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",
"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": {
REST API Reference | Learning | 842

"@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"
},
"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,
REST API Reference | Learning | 843

"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",
"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": {
REST API Reference | Learning | 844

"@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",
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,
REST API Reference | Learning | 845

"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",
"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
REST API Reference | Learning | 846

},
"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": {
"@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,
REST API Reference | Learning | 847

"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
},
"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": {
REST API Reference | Learning | 848

"@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",
"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": {
REST API Reference | Learning | 849

"@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,
"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,
REST API Reference | Learning | 850

"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"
},
"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",
REST API Reference | Learning | 851

"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,
"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",
[
{
REST API Reference | Learning | 852

"@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",
"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",
REST API Reference | Learning | 853

"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"
}

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 280: 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.
REST API Reference | Learning | 854

Name Description Sample Value Data Type Required?

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

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


REST API Reference | Learning | 855

Name Description Display column Condition token

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

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
REST API Reference | Learning | 856

Name Description Display column Condition token

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

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
REST API Reference | Learning | 857

Name Description Display column Condition token

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

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"
REST API Reference | Learning | 858

}
],
"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",
"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",
REST API Reference | Learning | 859

"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

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 281: 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.
REST API Reference | Learning | 860

Name Description Sample Value Data Type Required?

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

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.
REST API Reference | Learning | 861

Name Description Display column Condition token

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

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
REST API Reference | Learning | 862

Name Description Display column Condition token

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

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


REST API Reference | Learning | 863

Name Description Display column Condition token

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"}
]
}

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"
REST API Reference | Learning | 864

}
],
"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",
"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",
REST API Reference | Learning | 865

"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

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,
REST API Reference | Learning | 866

"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,
"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 | 867

{
"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 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,
REST API Reference | Learning | 868

"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": 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
REST API Reference | Learning | 869

},
{
"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",
"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",
REST API Reference | Learning | 870

"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",
"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,
REST API Reference | Learning | 871

"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": "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",
REST API Reference | Learning | 872

"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
},
{
"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",
REST API Reference | Learning | 873

"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",
"displayName": "Price Band Unit",
REST API Reference | Learning | 874

"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,
"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,
REST API Reference | Learning | 875

"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,
"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 | 876

},
{
"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": "Custom0",
"description": "custom0",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
"length": 255,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "custom1",
REST API Reference | Learning | 877

"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
},
{
"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
REST API Reference | Learning | 878

},
{
"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": "custom10",
"displayName": "Custom 10",
"description": "custom10",
"isRequired": false,
"isAutoGenerated": false,
"type": "string",
"isReference": false,
"display": false,
REST API Reference | Learning | 879

"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,
"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
},
REST API Reference | Learning | 880

"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
},
{
"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
},
{
REST API Reference | Learning | 881

"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",
"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
REST API Reference | Learning | 882

},
{
"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,
"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,
REST API Reference | Learning | 883

"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,
"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",
REST API Reference | Learning | 884

"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,
"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,
REST API Reference | Learning | 885

"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,
"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,
REST API Reference | Learning | 886

"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",
"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
REST API Reference | Learning | 887

},
{
"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,
"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
REST API Reference | Learning | 888

},
{
"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,
"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,
REST API Reference | Learning | 889

"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,
"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,
REST API Reference | Learning | 890

"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
},
{
"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",
REST API Reference | Learning | 891

"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,
"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,
REST API Reference | Learning | 892

"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
}
]
}

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
REST API Reference | Learning | 893

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 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

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 Saba Id is ceObjectRefer-
supported for this at- ence", "id":
tribute. "cours000000000006618",
"displayName":
"testCouse" }

open_enroll Open enroll date No

open_en- Open enroll for all date No


roll_for_all
REST API Reference | Learning | 894

Name Description Sample Value Data Type Required?

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 | 895

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": "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",
"displayName": "testCouse"
},

"language_id": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 896

"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",
"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
REST API Reference | Learning | 897

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",
"date": 1384491600000,
"locale": "11/15/13"
},
"startDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"timeInLocale": "12:00 AM",
"dateInUserTimeZone": "11/15/13",
"timeInUserTimeZone": "10:30 AM",
REST API Reference | Learning | 898

"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,
"timezone": {
"@type": "ServiceObjectReference",
"id": "tzone000000000000012",
"displayName": "(GMT-05:00) Eastern Time (US & Canada)"
},
"attachments": [
"list",
[]
REST API Reference | Learning | 899

],
"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"
},
"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,
REST API Reference | Learning | 900

"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,
"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
}
REST API Reference | Learning | 901

},
{
"@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
}
}
]
],
"lastDateToDropWithoutCharge": null
},
"courseVersion": null,
"customFields": {
REST API Reference | Learning | 902

"@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 | 903

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 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 Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"cours000000000006618",
"displayName":
"testCouse" }
REST API Reference | Learning | 904

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 | 905

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 | 906

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 | 907

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.
REST API Reference | Learning | 908

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": "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",
REST API Reference | Learning | 909

"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",
"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
REST API Reference | Learning | 910

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!!",
"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": "",
REST API Reference | Learning | 911

"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",
[]
],
"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",
REST API Reference | Learning | 912

"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",
"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
],
REST API Reference | Learning | 913

"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,
"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",
REST API Reference | Learning | 914

"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.",
"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": {
REST API Reference | Learning | 915

"@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
}
}
]
],
"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",
REST API Reference | Learning | 916

"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

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 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


REST API Reference | Learning | 917

Name Description Sample Value Data Type Required?

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 Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"cours000000000006618",
"displayName":
"testCouse" }

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"}
REST API Reference | Learning | 918

Name Description Sample Value Data Type Required?

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

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 | 919

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 | 920

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 | 921

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.
REST API Reference | Learning | 922

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",
"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",
REST API Reference | Learning | 923

"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,
"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",
REST API Reference | Learning | 924

"language": {
"@type": "ServiceObjectReference",
"id": "lange000000000000001",
"displayName": "English"
},
"location": {
"@type": "ServiceObjectReference",
"id": "locat000000000001202",
"displayName": "Locationname"
},
"resources": [
"list",
[]
],
"description": "desc",
"duration": 0,
"session_template": "stemp000000000001161",
"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",
"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 | 925

"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 | 926

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"
},
"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": {
REST API Reference | Learning | 927

"@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
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",
REST API Reference | Learning | 928

"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",
"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
}
REST API Reference | Learning | 929

},
"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

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 Saba meeting Tele-


phone Gateway Serv-
er Address

teleconfAccessCode Access Code N Saba meeting Tele-


phone 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 Saba meeting Session,
it loads welcome url in
session
REST API Reference | Learning | 930

logoutUrl Logout URL N logoutUrl redirects


user outside Saba
meeting Session when
user exists 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

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",
REST API Reference | Learning | 931

"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",
[]
],
"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",
REST API Reference | Learning | 932

"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": "",
"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",
REST API Reference | Learning | 933

"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": {
"@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",
REST API Reference | Learning | 934

"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.",
"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",
REST API Reference | Learning | 935

"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
}
}
]
],
"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",
REST API Reference | Learning | 936

"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:
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 285: 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
REST API Reference | Learning | 937

Name Description Sample Value Data Type Required?

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 Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"cours000000000006618",
"displayName":
"testCouse" }

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 | 938

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 | 939

"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 | 940

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 | 941

},
"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 | 942

"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 | 943

{
"@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 | 944

"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 | 945

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

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 | 946

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 Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"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 | 947

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 | 948

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"
}
]
]

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",
REST API Reference | Learning | 949

"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"},
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
REST API Reference | Learning | 950

"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

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:
REST API Reference | Learning | 951

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

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

language_id Language's ID { "@type": "Servi- object Yes


ceObjectRefer-
ence", "id":
"lange000000000000001",
"displayName":
"English" }
REST API Reference | Learning | 952

Name Description Sample Value Data Type Required?

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 Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"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"}

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.
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 ]}
REST API Reference | Learning | 954

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 | 955

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 | 956

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 | 957

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 | 958

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"
}
]
]

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"
},
"avail_from": null,
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
REST API Reference | Learning | 959

"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"},
"audienceTypes":[
"list",
[
{
"@type":"ServiceObjectReference",
"id":"audie000000000001021",
"displayName":"aud_1"
},
{
"@type":"ServiceObjectReference",
"id":"audie000000000001022",
REST API Reference | Learning | 960

"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"
}
]
]

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",
REST API Reference | Learning | 961

"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

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:
REST API Reference | Learning | 962

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

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

enroll_close Enroll close date No

facility_id Facility's ID string No


REST API Reference | Learning | 963

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 Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"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"}

do_not_drop_post Do not drop post 2013-05-03 date No


REST API Reference | Learning | 964

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}

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 | 965

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 | 966

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 | 967

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 | 968

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 | 969

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 | 970

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"
}
]
]

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"
},
"offeringNumber": "543234",
"trainingUnits": 25,
REST API Reference | Learning | 971

"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",
[]
],
"description": "desc",
"duration": 0,
"session_template": "Session 501",
REST API Reference | Learning | 972

"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,
"isRecordVideo": true,
"alternateTeleConfCallNumber": "1800100201",
"teleConfHostCode": "123456",
"teleconfAccessCode": "8324567",
"welcomeUrl": "www.sabacloud.com",
"logoutUrl": "www.saba.com"
}
REST API Reference | Learning | 973

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"
}

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",
REST API Reference | Learning | 974

"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",
"locale": {
"@type": "loclref",
"id": "local000000000000001",
"displayName": null
}
},
"audioOptions": "telephone",
"teleconfCallNumber": "1800100200",
REST API Reference | Learning | 975

"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 Saba meeting Tele-


phone Gateway Serv-
er Address

teleconfAccessCode Access Code N Saba meeting Tele-


phone 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 Saba meeting Session,
it loads welcome url in
session
REST API Reference | Learning | 976

logoutUrl Logout URL N logoutUrl redirects


user outside Saba
meeting Session when
user exists 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"
}
]
]

Sample Request Body (replacing all existing sessions)

"replaceExistingSessions":true,
"offeringSessions":[
"java.util.List",
[{
"@type":"java.util.Map",
"startDate":"2016-12-12",
"startTime":"15:00",
REST API Reference | Learning | 977

"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

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:
REST API Reference | Learning | 978

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 289: 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

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


REST API Reference | Learning | 979

Name Description Sample Value Data Type Required?

name Course's name testCourse string No

offering_temp_id Class temp ID. Only 20 { "@type": "Servi- object Yes


Char Saba Id is suppor- ceObjectRefer-
ted for this attribute ence", "id":
"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

microLearning The micro learning false boolean No


flag for identifying
formal Learning Con-
tent as Micro. Accepts
true or false.
REST API Reference | Learning | 980

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",
"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"
},
"disc_from": null,
"offering_temp_id": {
"@type": "ServiceObjectReference",
"id": "cours000000000006773",
"displayName": "test"
},
"disp_for_web": true,
REST API Reference | Learning | 981

"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.

JSON Attribute UI Attribute Component Name

securityDomain Domain name Domain

vendor_id Vendor Organization, External


REST API Reference | Learning | 982

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 290: Calling Options

Name Description Sample Value Data Type Required?

instructorId Instructor's ID em- string Yes


plo000000000200080
REST API Reference | Learning | 983

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 | 984

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 | 985

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 | 986

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 | 987

"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 | 988

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 291: 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 | 989

"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 | 990

• 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 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",

"owner": {
"@type": "ServiceObjectReference",
"id": "dowbt000000000002404",
REST API Reference | Learning | 991

"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 | 992

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 293: 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 | 993

"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 | 994

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/offering/publishassignment

Calling Options
Table 294: 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 | 995

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 295: 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 | 996

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 | 997

"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 | 998

"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 | 999

{
"@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 | 1000

"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 | 1001

"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 | 1002

],
"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 | 1003

"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 | 1004

},
{
"@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 | 1005

"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 | 1006

"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 296: 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 | 1007

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/offering/:offeringId/session

Calling Options
Table 297: 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 | 1008

"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 | 1009

"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 | 1010

"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 | 1011

"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 | 1012

"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 | 1013

"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 | 1014

]
],
"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 | 1015

"@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 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.regis-
tration
.BulkRegistration-
StatusChange
REST API Reference | Learning | 1016

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 | 1017

Calling Options
Table 299: 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 | 1018

URL
https://<hostname-api.sabacloud.com>/v1/learning/offering/:offeringId/droppolicy/:policyId

Calling Options
Table 300: 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 301: 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 | 1019

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 | 1020

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/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- 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 | 1021

}
]}

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 303: 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 | 1022

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 | 1023

URL
http://<hostname-api.sabacloud.com>/v1/:componentId/:instanceId/locale

Calling Options
Table 304: 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 | 1024

}
]}

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 | 1025

Calling Options
Table 305: 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 | 1026

"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 | 1027

"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 | 1028

}
],
"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 | 1029

"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 | 1030

{
"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 | 1031

"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 306: 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 | 1032

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 | 1033

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 | 1034

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 | 1035

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 | 1036

"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 | 1037

"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 | 1038

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 | 1039

],
"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 | 1040

},
"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 | 1041

{
"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 | 1042

Calling Options
Table 307: 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 | 1043

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 | 1044

},
{
"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 | 1045

"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 | 1046

• 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 | 1047

"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 | 1048

"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 | 1049

{
"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 308: Calling Options

Name Description Sample Value Data Type Required?

name Name of the certifica- cert1011 string Yes


tion
REST API Reference | Learning | 1050

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 | 1051

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 | 1052

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 | 1053

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 | 1054

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 | 1055

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 | 1056

"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 | 1057

},
"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 | 1058

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 | 1059

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 | 1060

"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 | 1061

}
]
}
],
"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 | 1062

Requires OAuth
No

Method
PUT

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

Calling Options
Table 309: 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 | 1063

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 | 1064

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 | 1065

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 | 1066

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 | 1067

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 | 1068

"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 | 1069

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 310: 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 | 1070

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 | 1071

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 | 1072

{
"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 | 1073

Calling Options
Table 311: 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 | 1074

"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 | 1075

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 | 1076

Calling Options
Table 312: 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 | 1077

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 | 1078

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 | 1079

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 313: Calling Options

Name Description Sample Value Data Type Required?

id Course's ID cours000000000202106 string Yes

Return Values

{
"securityDomain": {
"id": "domin000000000000001",
"displayName": "world"
},
"customValues": {
"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,
"ExCustom20": null,
"ExCustom22": null
},
"avail_from": "2009-07-09T00:00:00.000+0000",
"vendor_id": null,
REST API Reference | Learning | 1080

"notify_before": null,
"valid_till": null,
"createGroupPolicyVal": false,
"image":
"https://<hostname>/assets/s/03302020060305/spf/skin/wireframe/media/images/CourseClassRoomImage.png",

"vendorImageURL": null,
"refreshImageFromVendorImageURL": false,
"ignoreImageUploadExceptions": true,
"video": null,
"category": [],
"owner": [],
"audienceType": [],
"language": [
{
"language_id": {
"id": "lange000000000000001",
"displayName": "English"
},
"str1": "0000000000",
"id": "g12rc000000000240094"
}
],
"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,
"created_on": "2020-03-30T09:09:06.000+0000",
"updated_on": "2020-03-30T09:08:39.000+0000",
"created_by": "cone",
"updated_by": "cone",
"created_id": "persn000000000001000",
"allPrices": [
{
"displayValue": "100 USD",
"amount": 100.0,
"id": "plent000000000250917",
"curr_id": {
"id": "crncy000000000000001",
"displayName": "US Dollars"
}
},
{
"displayValue": "200 INR",
"amount": 200.0,
"id": "plent000000000250918",
"curr_id": {
"id": "crncy000000000200968",
"displayName": "Indian Rupees"
}
}
],
"deepLinkUrls": [

"https://<hostname>/Saba/Web_spf/learning2/common/ledetail/cours000000000247975",
REST API Reference | Learning | 1081

"https://<hostname>/Saba/Web_spf/learning2/common/ledetail/COURSEASSO4"
],
"consider_completion_outside_recert_window": false,
"max_ct": null,
"title": "CourseAsso4",
"abstrac": "abs",
"published": true,
"consume_within_cert": false,
"subscribed": false,
"disc_from": null,
"validtill_type": 0,
"validtill_frequency": null,
"validtill_daymonth": null,
"validtill_start_daymonth": null,
"avail_web": true,
"avail_call_center": true,
"validtill_unit": 0,
"course_no": "COURSEASSO4",
"training_units": 0,
"csr_id": {
"id": "emplo000000000200831",
"displayName": "alt_althone alt_althone"
},
"recertwindow_unit": 0,
"reAssignedTargetDays": null,
"test": true,
"waitlist_max": null,
"min_ct": null,
"parent_id": null,
"version": null,
"recert_window": null,
"target_days": 0,
"featured": false,
"description": "desc",
"status": "INEFFECT",
"id": "cours000000000247975",
"grace_period": null,
"lr_manager_id": null,
"associations": {
"skills": [
{
"displayName": null,
"competencyDescription": null,
"competencyLevelValue": 1,
"reference": {
"id": "pclvl000000000002822",
"displayName": null
},
"competencyLevel": {
"id": "cplvl000000000001181",
"displayName": "Poor"
},
"competency": {
"id": "compt000000000001141",
"displayName": "behavioral_indicator_comp1"
},
"competencyProvider": {
"id": "cours000000000247975",
"displayName": null
},
"componentName": "Provided Competency Level",
REST API Reference | Learning | 1082

"auditReason": "audit with reason",


"locale": null,
"id": null
}
],
"keywords": [
{
"id": "kywrd000000000202165",
"displayName": "abc"
},
{
"id": "kywrd000000000202166",
"displayName": "pqr"
}
],
"equivalents": [
{
"offering": {
"id": "cours000000000200811",
"displayName": "21ab"
},
"id": "g10rc000000000202203"
}
],
"microsite": []
}
}

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,
REST API Reference | Learning | 1083

"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,
"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,
REST API Reference | Learning | 1084

"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",
"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",
REST API Reference | Learning | 1085

"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,
"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,
REST API Reference | Learning | 1086

"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,
"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",
REST API Reference | Learning | 1087

"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",
"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
}
]
}
},
{
REST API Reference | Learning | 1088

"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,
"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": [
{
REST API Reference | Learning | 1089

"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,
"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
},
{
REST API Reference | Learning | 1090

"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,
"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,
REST API Reference | Learning | 1091

"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",
"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,
REST API Reference | Learning | 1092

"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,
"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
REST API Reference | Learning | 1093

},
{
"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",
"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,
REST API Reference | Learning | 1094

"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",
"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,
REST API Reference | Learning | 1095

"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
},
{
"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,
REST API Reference | Learning | 1096

"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
},
{
"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,
REST API Reference | Learning | 1097

"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": "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",
REST API Reference | Learning | 1098

"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,
"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
},
{
REST API Reference | Learning | 1099

"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,
"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
},
{
REST API Reference | Learning | 1100

"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,
"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
REST API Reference | Learning | 1101

},
{
"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
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",
REST API Reference | Learning | 1102

"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
},
{
"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",
REST API Reference | Learning | 1103

"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"

},
"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",
REST API Reference | Learning | 1104

"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",
"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
REST API Reference | Learning | 1105

},
{
"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,
"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,
REST API Reference | Learning | 1106

"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": "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,
REST API Reference | Learning | 1107

"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",
"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,
REST API Reference | Learning | 1108

"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,
"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
},
{
REST API Reference | Learning | 1109

"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",
"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",
REST API Reference | Learning | 1110

"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,
"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
REST API Reference | Learning | 1111

},
{
"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",
"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,
REST API Reference | Learning | 1112

"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,
"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,
REST API Reference | Learning | 1113

"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
},
{
"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",
REST API Reference | Learning | 1114

"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,
"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,
REST API Reference | Learning | 1115

"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,
"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",
REST API Reference | Learning | 1116

"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,
"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,
REST API Reference | Learning | 1117

"maximumLength": 255,
"isSearchFilter": false
}
]
}

CREATE A NEW COURSE

Overview
Creates a new course

Requires OAuth
No

Method
POST

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

Calling Options
Table 314: 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


REST API Reference | Learning | 1118

Name Description Sample Value Data Type Required?

version Version string No

title Title tets string Yes

max_ct Max Count 0 integer No

abstrac Abstract "null" string No

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 | 1119

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 | 1120

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 | 1121

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 | 1122

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 | 1123

"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 | 1124

"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 | 1125

"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 | 1126

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 | 1127

}, "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 | 1128

Calling Options
Table 315: 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 | 1129

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 | 1130

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 | 1131

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 | 1132

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 | 1133

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 | 1134

"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 | 1135

"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 | 1136

{
"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 | 1137

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 316: 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 | 1138

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 | 1139

Calling Options
Table 317: 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 | 1140

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 | 1141

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 | 1142

"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 | 1143

},
"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 | 1144

"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 | 1145

"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 | 1146

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/recurringcompletions/searchQuery?count=:count&startPage=:startPage
&f=(:csvAttributesValue)&includeDetails=:includeDetails

Calling Options
Table 318: 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 | 1147

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 | 1148

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 | 1149

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 | 1150

"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 | 1151

"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 | 1152

"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 | 1153

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 319: 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 | 1154

}
]

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 320: 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 | 1155

"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 | 1156

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 321: 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 | 1157

"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 | 1158

"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 | 1159

Note: cascade=true will remove all the sub-categories as well.

Calling Options
Table 322: 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 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",
"id": "categ000000000001042",
displayName": "RJSampleCategory10"
},
{
"@type": "com.saba.rest.service.RESTServiceObjectReference",
"id": "categ000000000001041",
"displayName": "RJSampleCategory7"
}
REST API Reference | Learning | 1160

]
]

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 324: 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 | 1161

]
]

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 325: 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 | 1162

Method
POST

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

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 | 1163

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 | 1164

"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 | 1165

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 327: 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 | 1166

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 | 1167

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 | 1168

"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 | 1169

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 328: 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 | 1170

Name Description Sample Value Data Type Required?

startPage The start page num- 1 integer No


ber for the list of re-
cords.

Table 329: 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 If active field is created_on%3D%3D


passed, categories 2016-02-02
created on given
date-time will be re-
turned.

updated_on If active field is updated_on%3D%3D


passed, categories 2016-02-02
updated on given
date-time will be re-
turned.

created_id If active field is created_id%3D%3D


passed, categories em-
with created id plo000000000001000
matching given value
will be returned.

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 | 1171

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 | 1172

"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 330: 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 | 1173

"@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 331: 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 | 1174

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 332: 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 | 1175

"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 | 1176

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 333: 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 | 1177

"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 334: 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 | 1178

"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 | 1179

Table 335: 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 | 1180

• 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 | 1181

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 | 1182

],
"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 | 1183

(120592) More than 1 record found for provided value 'SomeCurriculum'

Calling Options
Table 336: 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 | 1184

"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 | 1185

"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 | 1186

]
}
}

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 337: 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 | 1187

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 | 1188

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 | 1189

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 | 1190

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 | 1191

"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 | 1192

"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 | 1193

"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 | 1194

}
],
"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 | 1195

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 338: 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 | 1196

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 | 1197

"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 | 1198

"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 | 1199

"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 | 1200

{
"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 | 1201

"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 339: Calling Options

Name Description Sample Value Data Type Required?

name Name of the cur- curra1011 string Yes


riculum
REST API Reference | Learning | 1202

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 | 1203

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 | 1204

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 | 1205

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 | 1206

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 | 1207

"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 | 1208

"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 | 1209

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 340: 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 | 1210

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 | 1211

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 | 1212

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 | 1213

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 | 1214

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 | 1215

"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 | 1216

}
}

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 341: 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 | 1217

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 | 1218

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 342: 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 | 1219

"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 | 1220

"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 | 1221

"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 | 1222

"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 | 1223

"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 | 1224

"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 | 1225

"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 | 1226

"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 | 1227

},
{
"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 | 1228

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 343: 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 | 1229

"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 | 1230

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 344: 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 | 1231

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 345: 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 | 1232

]
}

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 346: 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 | 1233

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 | 1234

Requires OAuth
No

Method
POST

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

Calling Options
Table 347: 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 | 1235

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 | 1236

"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 | 1237

Calling Options
Table 348: 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 | 1238

"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 | 1239

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 349: 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 | 1240

"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 | 1241

"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 | 1242

"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 | 1243

"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 | 1244

},
{
"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 | 1245

"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 | 1246

"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 | 1247

}
]
}

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 350: 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 | 1248

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 | 1249

],
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 | 1250

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 | 1251

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 | 1252

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist?count=:count&startPage=:startPage

Calling Options
Table 351: 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 | 1253

{
"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 | 1254

https://<hostname-api.sabacloud.com>/v1/heldchecklist?q=(checklist_name%3D%3DSCL40_No_Item_Eval)&count=10&startPage=1

Calling Options
Table 352: 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 | 1255

{
"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 | 1256

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/heldchecklist/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 353: 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 | 1257

"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 | 1258

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 354: 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 | 1259

"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 | 1260

"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 | 1261

},
{
"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 | 1262

},
{
"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 | 1263

"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 | 1264

"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 | 1265

"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 | 1266

"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 | 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":"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 | 1268

"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 | 1269

},
{
"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 | 1270

"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 | 1271

"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 | 1272

{
"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 | 1273

"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 | 1274

"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 355: 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 | 1275

"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 | 1276

"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 | 1277

"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 | 1278

"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 | 1279

"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 | 1280

"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 356: 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 | 1281

"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 | 1282

https://<hostname-api.sabacloud.com>/v1/checklist?q=(name%3D%3DSCL40_No_Item_Eval)&count=10&startPage=1

Calling Options
Table 357: 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 | 1283

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/checklist/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 358: 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 | 1284

},
"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 | 1285

},
{
"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 | 1286

"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 | 1287

"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 | 1288

"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 | 1289

}
]
}
],
"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 | 1290

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 359: 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 | 1291

"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 | 1292

{
"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 | 1293

"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 | 1294

Calling Options
Table 360: 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 | 1295

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 | 1296

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

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.
REST API Reference | Learning | 1297

Name Description Sample Value Data Type Required?

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": [
{
"id": "regdw000000000003201",
"displayName": "00003225",
"href":
"https://<hostname-api.sabacloud.com>/v1/enrollments/regdw000000000003201"
REST API Reference | Learning | 1298

},
{
"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"
}
]
}

Examples
To search using the Saba internal id for student:
REST API Reference | Learning | 1299

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 Saba Internal course ID:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(offering_temp_id==cours000000000200186)
To search using the Saba 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:
https://<hostname-api.sabacloud.com>/v1/learning/enroll/search
?q=(custom0%3D%3Dcustom0Val)&count=10&startPage=1&includeDetails=false
REST API Reference | Learning | 1300

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"
}
]
}

To search enrollments based on updated_on date:


REST API Reference | Learning | 1301

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
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.
REST API Reference | Learning | 1302

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 | 1303

Calling Options
Table 361: Calling Options

Name Description Sample Value Data Type Required?

conditions Conditions string Yes


REST API Reference | Learning | 1304

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 | 1305

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

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 | 1306

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 | 1307

"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 | 1308

"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 | 1309

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 | 1310

{
"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 | 1311

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 | 1312

"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 | 1313

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 | 1314

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 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 | 1315

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 | 1316

"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 | 1317

Calling Options
Table 363: 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 | 1318

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 | 1319

},
"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

Saba Test 12

Video 17

COIN 18

Requires OAuth
No
REST API Reference | Learning | 1320

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 | 1321

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 364: 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 | 1322

"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 | 1323

"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 | 1324

}
]
],
"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 | 1325

"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 | 1326

"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 | 1327

"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 | 1328

"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 | 1329

"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 | 1330

},
"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 | 1331

"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 | 1332

"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 | 1333

"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 | 1334

"@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 | 1335

"@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 365: 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 | 1336

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 | 1337

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 366: 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 | 1338

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 | 1339

{
"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 | 1340

"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 | 1341

"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 | 1342

"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 | 1343

Calling Options
Table 367: 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 | 1344

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 | 1345

"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 | 1346

"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 | 1347

"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 | 1348

"@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 | 1349

"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 | 1350

"@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 | 1351

"@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 | 1352

"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 | 1353

"@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 | 1354

}, {
"@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 | 1355

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 | 1356

"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 | 1357

"@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 | 1358

"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 | 1359

"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 | 1360

Method
POST

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

Calling Options
Table 368: 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 | 1361

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 | 1362

"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 | 1363

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 | 1364

"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 | 1365

"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 | 1366

"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 | 1367

"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 | 1368

"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 | 1369

"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 | 1370

}
]
],
"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 | 1371

"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 | 1372

},
"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 | 1373

},
"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 | 1374

],
"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 | 1375

"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 | 1376

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 | 1377

Calling Options
Table 369: 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 | 1378

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 | 1379

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 | 1380

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 | 1381

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 | 1382

"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 | 1383

},
{
"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 | 1384

"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 | 1385

{
"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 | 1386

"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 | 1387

},
"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 | 1388

"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 | 1389

},
"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 | 1390

"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 | 1391

"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 | 1392

"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 | 1393

},
"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 | 1394

"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 | 1395

{
"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 | 1396

"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 | 1397

"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 | 1398

},
{
"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 | 1399

"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 | 1400

"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 | 1401

"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 | 1402

"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 | 1403

"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 | 1404

"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 | 1405

"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 | 1406

"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 | 1407

"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 | 1408

"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 370: 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 | 1409

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 | 1410

Calling Options
Table 371: 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 372: 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 | 1411

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 | 1412

"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 | 1413

{
"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 | 1414

"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 | 1415

},
"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 | 1416

"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 | 1417

"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 | 1418

},
{
"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 | 1419

"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 | 1420

},
"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 | 1421

"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 | 1422

"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 | 1423

"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 | 1424

"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 | 1425

"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 | 1426

"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 373: Calling Options

Name Description Sample Value Data Type Required?

regId Registration's ID em- string Yes


plo000000000001029
REST API Reference | Learning | 1427

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 | 1428

URL
https://<hostname-api.sabacloud.com>/v1/learning/enroll/assignments/action/:regModuleId?action=:actionName

Calling Options
Table 374: 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 | 1429

"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 375: 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 | 1430

"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 | 1431

},
{
"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 | 1432

"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 | 1433

"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 | 1434

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 376: 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 | 1435

"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 | 1436

},
{
"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 | 1437

"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 | 1438

"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 377: 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 | 1439

"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 378: 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 | 1440

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 | 1441

"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 | 1442

"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 | 1443

"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 | 1444

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/fieldofstudy/searchQuery?count=:count&startPage=:startPage&includeDetails=:includeDetails

Calling Options
Table 379: 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 | 1445

},
"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 | 1446

"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 | 1447

"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 | 1448

"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 380: Calling Options

Name Description Sample Value Data Type Required?

activityId Held Certification/Cur- string Yes


riculum activity ID
REST API Reference | Learning | 1449

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 | 1450

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 381: 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 | 1451

"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 | 1452

}
]
},
"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 | 1453

"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 | 1454

"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 | 1455

"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 | 1456

]
}
]
}
}

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 382: 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 | 1457

"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 | 1458

"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 | 1459

"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 | 1460

},
"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 | 1461

"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 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 | 1462

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 | 1463

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 | 1464

"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 | 1465

"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 | 1466

},
"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 | 1467

"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 | 1468

"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 | 1469

"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 | 1470

"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 | 1471

"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 | 1472

"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 | 1473

},
{
"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 | 1474

"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 | 1475

"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 | 1476

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 | 1477

"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
REST API Reference | Learning | 1478

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.
REST API Reference | Learning | 1479

Name Description Sample Value Data Type Required?

conditions assign- string Yes


ee%3D%3Dem-
plo000000000001600,
status%3D%3D600,
cre-
ated_on%3Dge%3D2002-
01-29 01:29:32 AM,
up-
dated_on%3Dge%3D2002-
01-29 01:29:32 AM

{
"conditions": [{
"name":"assign►
ee",
"operator": "IN",
"value": ["per►
sn000000000010000",

"per►
sn000000000010001"]
}
]
}
REST API Reference | Learning | 1480

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)
• 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
• OVERDUE : 600
• CANCELLED :800
For CERTIFICATIONS
the following are the
possible values for
REST API Reference | Learning | 1481

Name Description Sample Value Data Type Required?

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"

},
{
"id": "stuce000000000031726",
"displayName": "bk test cert1",
"href":
"https://dqlearning.sabacloud.com/v1/learning/heldlearningevent/stuce000000000031726"
REST API Reference | Learning | 1482

},
{
"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

Calling Options
Table 385: 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 | 1483

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": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"actions": null,
"id": "certh000000001692593"
}
],
"basicdetail": {
"updatedOn": 1444388162000,
"createdBy": "admin",
REST API Reference | Learning | 1484

"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",
"key": "0",
"displayName": "Person"
},
"locale": {
"id": "local000000000000001",
"displayName": null
},
"id": "emplo000000000001000",
"displayName": "Charles Foster"
},
"targetDate": 1442376060000,
"need_recert": false,
"startedOn": null,
REST API Reference | Learning | 1485

"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",
"displayName": "Charles Foster"
},
"targetDate": 1472045627000,
"learningEvent": {
"id": "crtfy000000000010331",
"displayName": "amtest_certif_mandatoryflag"
},
"jobTypeId": null,
"listIds": null,
"assignedOn": 1469453627000,
"source": {
"componentName": "Prescription Rule",
"activitySourceType": {
REST API Reference | Learning | 1486

"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",
"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",
REST API Reference | Learning | 1487

"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
}
],
"hasMoreResults": true,
"itemsPerPage": 2,
"totalResults": 115
}

Curriculum:

{
"facets": [],
"startIndex": 1,
"results": [
{
REST API Reference | Learning | 1488

"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"
}
],
"basicdetail": {
"updatedOn": 1413270631000,
"createdBy": "superuser",
"updatedBy": "superuser",
"createdOn": 1413270631000,
"need_recert": false,
"curriculum": {
"id": "curra000000000002924",
"displayName": "certemplateStory-Curriculum"
},
"recert_window_starts_on": null,
REST API Reference | Learning | 1489

"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",
"username": "SUPERUSER"
}
},
"isgranted": null
},
{
"percentcompleted": 0,
"requirers": [
{
"required": true,
"assignment": {
"id": "stcur000000000028104",
"displayName": null
REST API Reference | Learning | 1490

},
"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,
"need_recert": false,
"curriculum": {
"id": "curra000000000002620",
"displayName": "\"Curriculum - 1\""
},
"recert_window_starts_on": null,
"revokedOn": null,
"type": "CURRICULUM",
"path": {
"id": "track000000000004289",
"displayName": "1"
},
"status": {
REST API Reference | Learning | 1491

"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,
"itemsPerPage": 2,
"totalResults": 36
}

AUTO-ENROLL LEARNERS INTO COURSES INSIDE THE


CERTIFICATION/CURRICULUM

Overview
Auto-enrolls the learners into courses inside the certification/curriculum.
REST API Reference | Learning | 1492

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 386: 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\"}

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",
REST API Reference | Learning | 1493

"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"

},
"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"
}
}
REST API Reference | Learning | 1494

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 387: 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

source Certification/Cur- Shuchi Lau em- string Yes


riculum assigner plo000000000200095

assignee Assignee Shuchi Lau em- string Yes


plo000000000200095

targetDate Target Date string No


REST API Reference | Learning | 1495

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"
}

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
REST API Reference | Learning | 1496

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 388: 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.

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",
REST API Reference | Learning | 1497

"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"
}

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
REST API Reference | Learning | 1498

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. 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.

Requires OAuth
No

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/expiry
REST API Reference | Learning | 1499

Calling Options
Table 390: 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

REMOVE CERTIFICATION/CURRICULUM ACTIVITY OF A LEARNER

Overview
Removes the certification/curriculum activity of a learner

Requires OAuth
No

Method
DELETE
REST API Reference | Learning | 1500

URL
http://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/activity/:activityId

Calling Options
Table 391: 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,
"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,
REST API Reference | Learning | 1501

"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,
"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"
REST API Reference | Learning | 1502

},
"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.

Requires OAuth
No

Method
GET

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/:id
REST API Reference | Learning | 1503

Calling Options
Table 392: 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

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity?q=(:criteria)&count=:count&startPage=:startPage
REST API Reference | Learning | 1504

Calling Options
Table 393: 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"
},
"href":
"http://<hostname-api.sabacloud.com>/v1/courseactivity/coact000000000008355"
},
{
REST API Reference | Learning | 1505

"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

Calling Options
Table 394: Calling Options

Name Description Sample Value Data Type Required?

criteria The search criteria assignee%3D%3D string Yes


em-
plo000000000001600,
status%3D%3D200
REST API Reference | Learning | 1506

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.

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.

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
REST API Reference | Learning | 1507

Calling Options
Table 395: 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"

},
{
"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 | 1508

"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:
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
REST API Reference | Learning | 1509

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 396: 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.
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.
REST API Reference | Learning | 1510

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"
]
}
]
}

ASSIGN A COURSE OR A RECURRING COURSE TO A PERSON

Overview
Assigns a course or a recurring course to a person.

Requires OAuth
No
REST API Reference | Learning | 1511

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/

Calling Options
Table 397: 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"
},
"assignee": {
"id": "emplo000000000200095",
"displayName": "Shuchi Lau"
}
}

Return Values

{
"id": "coact000000000008517",
"displayName": "Quick Blended Course",
REST API Reference | Learning | 1512

"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 398: 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
}

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
REST API Reference | Learning | 1513

Method
DELETE

URL
http://<hostname-api.sabacloud.com>/v1/courseactivity/:id

Calling Options
Table 399: 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:
https://<hostname-api.sabacloud.com>/v1/learning/heldlearningevent/stuce000000000201818

Calling Options
Table 400: 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 | 1514

Name Description Sample Value Data Type Required?

action enumerated string Yes


REST API Reference | Learning | 1515

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 | 1516

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 | 1517

Calling Options
Table 401: 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 | 1518

"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 | 1519

Calling Options
Table 402: 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 | 1520

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 | 1521

URL
https://<hostname-api.sabacloud.com>/v1/learningmodule/:learningModuleId

Calling Options
Table 403: 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 404: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Learning | 1522

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 | 1523

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 | 1524

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 | 1525

Calling Options
Table 405: 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 | 1526

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 | 1527

"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 406: 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 | 1528

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 407: 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)

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
REST API Reference | Learning | 1529

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",
"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",
REST API Reference | Learning | 1530

"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"
}
]
]

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,
REST API Reference | Learning | 1531

"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",
"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"
},
REST API Reference | Learning | 1532

{
"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"
},
"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,
REST API Reference | Learning | 1533

"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,
"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,
REST API Reference | Learning | 1534

"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"
}
],
"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
REST API Reference | Learning | 1535

},
"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,
"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",
REST API Reference | Learning | 1536

"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": {
"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
REST API Reference | Learning | 1537

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

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",
REST API Reference | Learning | 1538

"datatype": {
"value": 2
},
"value": null,
"displayName": "custom1"
},
{
"name": "custom2",
"datatype": {
"value": 1
},
"value": 0,
"displayName": "custom2"
},
{
"name": "custom3",
"datatype": {
"value": 9
},
"value": false,
"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,
REST API Reference | Learning | 1539

"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": {
"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
},
REST API Reference | Learning | 1540

"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": {
"value": 18
},
"value": null,
"displayName": "Custom6"
},
{
"name": "custom7",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom7"
},
{
"name": "custom8",
"datatype": {
REST API Reference | Learning | 1541

"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"
}
],
"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
}
},
REST API Reference | Learning | 1542

"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"
},
"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,
REST API Reference | Learning | 1543

"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": {
"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
REST API Reference | Learning | 1544

},
"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"
}
],
"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"
REST API Reference | Learning | 1545

},
{
"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"
},
{
"name": "ExCustom2",
"datatype": {
"value": 18
},
REST API Reference | Learning | 1546

"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",
"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
},
REST API Reference | Learning | 1547

"value": null,
"displayName": "Cancellation Link"
},
{
"name": "custom2",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom2"
},
{
"name": "custom3",
"datatype": {
"value": 18
},
"value": null,
"displayName": "Custom3"
},
{
"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": {
REST API Reference | Learning | 1548

"value": 1
},
"value": null,
"displayName": "ExCustom9"
},
{
"name": "ExCustom11",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom11"
},
{
"name": "ExCustom12",
"datatype": {
"value": 18
},
"value": null,
"displayName": "ExCustom12"
},
{
"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,
REST API Reference | Learning | 1549

"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",
"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": ""
}
REST API Reference | Learning | 1550

}
],
"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": [
{
"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",
REST API Reference | Learning | 1551

"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",
"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"
},
REST API Reference | Learning | 1552

"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,
"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
REST API Reference | Learning | 1553

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

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
REST API Reference | Learning | 1554

Return Values

{
"billingDate": "2017-07-11",
"billNumber": "12345678",
"billingStatusDescription": "Billed",
"billingStatus" : "100"
}

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"
}
REST API Reference | Learning | 1555

Return Values

Status: 204 No Content

Path
REST endpoints for the learning data.

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 | 1556

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 | 1557

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 | 1558

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 | 1559

"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 | 1560

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 | 1561

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 | 1562

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 | 1563

"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 | 1564

"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 | 1565

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 | 1566

{
"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 | 1567

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 | 1568

},
"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 | 1569

],
"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 | 1570

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 | 1571

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 | 1572

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 | 1573

"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 | 1574

]
}

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 | 1575

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 | 1576

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 | 1577

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 | 1578

],
"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 | 1579

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 | 1580

"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 | 1581

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 | 1582

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 | 1583

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 | 1584

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 | 1585

"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 | 1586

"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 | 1587

"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 | 1588

"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 | 1589

"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 | 1590

"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 | 1591

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 | 1592

"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 | 1593

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 | 1594

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 | 1595

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 Entry


REST endpoints for the learning data.

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
REST API Reference | Learning | 1596

Method
GET

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

Calling Options
Table 428: 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
}

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 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
REST API Reference | Learning | 1597

URL
http://<hostname-api.sabacloud.com>/v1/learning/pricelistentry?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 429: Calling Options

Name Description Default Value Data Type Required?

criteria The search criteria i.e. part_d


i%3D%3Dcours000000000001020 string Yes
the criteria field name
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": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "plent000000000046772",
"pricelist": {
"displayName": "Master Price List",
"id": "prlst000000000000004"
},
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
"part": {
"displayName": "pricelist-course",
"id": "delmd000000000010580"
},
"base": false,
"overridden": false,
"amount": 14,
"href":
"https://<hostname-api.sabacloud.com>/v1/pricelistentry/plent000000000046772"
}
],
"facets": []
}
REST API Reference | Learning | 1598

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 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/learning/pricelistentry/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 430: 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

Return Values

{
"totalResults": 1,
"hasMoreResults": false,
"startIndex": 1,
"itemsPerPage": 10,
"results": [
{
"id": "plent000000000046772",
"pricelist": {
"displayName": "Master Price List",
"id": "prlst000000000000004"
},
"currency": {
"id": "crncy000000000000167",
"displayName": "US Dollars"
},
REST API Reference | Learning | 1599

"part": {
"displayName": "pricelist-course",
"id": "delmd000000000010580"
},
"base": false,
"overridden": false,
"amount": 14,
"href":
"https://<hostname-api.sabacloud.com>/v1/pricelistentry/plent000000000046772"
}
],
"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

Calling Options
Table 431: 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


REST API Reference | Learning | 1600

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

Method
PUT

URL
http://<hostname-api.sabacloud.com>/v1/learning/pricelistentry/:id

Calling Options
Table 432: 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"}
REST API Reference | Learning | 1601

Name Description Default Value Data Type Required?

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
}

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 433: Calling Options

Name Description Default Value Data Type Required?

id ID of Pricelistentry string Yes


REST API Reference | Learning | 1602

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 | 1603

Calling Options
Table 434: Calling Options

Name Description Sample Value Data Type Required?

resourcetype person enumerated Yes


REST API Reference | Learning | 1604

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 | 1605

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 | 1606

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 | 1607

Calling Options
Table 435: Calling Options

Name Description Sample Value Data Type Required?

resourcetype person enumerated Yes


REST API Reference | Learning | 1608

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 | 1609

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 | 1610

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 436: 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 | 1611

"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 | 1612

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 437: 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 | 1613

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 438: 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 | 1614

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 439: 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 | 1615

"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 440: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID string Yes


REST API Reference | Learning | 1616

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 | 1617

Calling Options
Table 441: 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 | 1618

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 442: 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 | 1619

"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 | 1620

Calling Options
Table 443: 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 | 1621

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 444: 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 | 1622

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 | 1623

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 445: 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 446: Calling Options

Name Description Sample Value Data Type Required?

offeringId Offering's ID virtc000000000201503 string Yes


REST API Reference | Learning | 1624

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 447: 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 | 1625

"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 448: 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 | 1626

Requires OAuth
No

Method
GET

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

Calling Options
Table 449: 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 | 1627

"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 | 1628

{
"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 | 1629

"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 | 1630

"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": "Saba internal id",
REST API Reference | Learning | 1631

"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 | 1632

"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": "Saba 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 | 1633

"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": "Saba internal id",
"isRequired": true,
REST API Reference | Learning | 1634

"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 | 1635

"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 | 1636

"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 | 1637

"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 | 1638

https://<hostname-api.sabacloud.com>/v1/subscription/subscription_no %3D<SubscriptionNo>

Calling Options
Table 450: 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 | 1639

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 | 1640

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 451: 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 | 1641

{
"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 | 1642

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/subscription?q=(:criteria)&count=:count&startPage=:startPage

Calling Options
Table 452: 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 | 1643

"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 | 1644

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 453: 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 | 1645

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 | 1646

},
"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 | 1647

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 454: 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 | 1648

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 | 1649

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 455: 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 | 1650

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 | 1651

Calling Options
Table 456: 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 | 1652

Calling Options
Table 457: 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 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": "cours000000000200810",
"displayName": "1ab"
},
REST API Reference | Learning | 1653

{
"@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 459: 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 | 1654

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 460: 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 | 1655

"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 461: 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 | 1656

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 462: 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 | 1657

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 463: 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 | 1658

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 | 1659

Calling Options
Table 464: 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 | 1660

"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 | 1661

Calling Options
Table 465: 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 | 1662

"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 | 1663

"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 | 1664

"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 | 1665

"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 | 1666

"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 | 1667

"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 | 1668

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 466: 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 | 1669

"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 467: 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 | 1670

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 | 1671

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 468: 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 | 1672

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 | 1673

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 | 1674

Calling Options
Table 469: 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 | 1675

"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 | 1676

URL
http://<hostname-api.sabacloud.com>/v1/learning/subscriptionorder

Calling Options
Table 470: 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 | 1677

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 | 1678

"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 | 1679

"@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 | 1680

"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 | 1681

"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 | 1682

}
},
"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 | 1683

"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 | 1684

"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 | 1685

},
"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 | 1686

"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 | 1687

Calling Options
Table 471: 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 | 1688

"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 | 1689

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 472: 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 | 1690

"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 | 1691

}
},
"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 | 1692

Calling Options
Table 473: 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 | 1693

"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 | 1694

"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 | 1695

"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 | 1696

"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 | 1697

"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 474: 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 | 1698

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 | 1699

],
"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 | 1700

"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 | 1701

"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 | 1702

"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 | 1703

{
"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 475: 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 | 1704

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 | 1705

"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 | 1706

"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 | 1707

"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 | 1708

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 476: 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 | 1709

Requires OAuth
No

Method
GET

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

Calling Options
Table 477: 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 | 1710

"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 | 1711

"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 478: Calling Options

Name Description Sample Value Data Type Required?

name Name of the Session sessionTem- string Yes


Template plate_1
REST API Reference | Learning | 1712

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 | 1713

Calling Options
Table 479: 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 480: Calling Options

Name Description Sample Value Data Type Required?

id Session Template's ID string Yes


REST API Reference | Learning | 1714

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 | 1715

{
"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 | 1716

Calling Options
Table 481: 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 482: 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 | 1717

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 | 1718

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 | 1719

"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 | 1720

{
"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 | 1721

"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 | 1722

"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 | 1723

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 | 1724

"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 | 1725

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 483: 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 | 1726

{
"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 | 1727

Requires OAuth
No

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/transcripts/searchQuery?count=:count&startPage=:startPage

Calling Options
Table 484: 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 485: conditions > name

Field name Field description Example

person_no Person Number person_no %3D%3D 001035


REST API Reference | Learning | 1728

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 | 1729

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"
]

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.

Return Values

{
"hasMoreResults": false,
REST API Reference | Learning | 1730

"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"
},
{
"id": "ofapr000000000002860",
REST API Reference | Learning | 1731

"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

Request Body

{
"conditions" : [{"name": "action_no", "operator": "==","value":"00001111"}]
}
REST API Reference | Learning | 1732

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",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113475"

},
{
"id": "ofapr000000000113517",
"href": "https://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000113517"
REST API Reference | Learning | 1733

},
{
"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"
},
{
"id": "ofapr000000000001541",
"href": "http://<hostname-api.sabacloud.com>/v1/transcripts/ofapr000000000001541"
}
],
"hasMoreResults": false,
"totalResults": 3,
"itemsPerPage": 10,
REST API Reference | Learning | 1734

"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 486: 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",
"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"
},
REST API Reference | Learning | 1735

"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:
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
REST API Reference | Learning | 1736

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 487: Calling Options

Name Description Sample Value Data Type Required?

transcriptId Transcript's ID ofapr000000000015072 string Yes

Return Values

{
"@type": "com.saba.offering.offeringaction.OfferingActionProfileDetail",
"ownerId": {
"@type": "com.saba.party.person.entity.ClientReference",
"sourceType": "InternalPerson",
"componentName": "Person, External",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0"
},
"prescriptionType": {
"tagName": "PrescriptionType",
"prescriptionDbType": 8,
"factoryName": "com.saba.prescription.PrescriptionType",
"name": "manager",
"key": "32"
},
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "persn000000000001078",
"prefix": "persn"
},
"id": "persn000000000001078",
"displayName": " ",
"locale": null,
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"score": [
"java.math.BigDecimal",
99
],
"offeringTemplate": {
"@type": "OfferingTemplate",
"id": "cours000000000006470",
"displayName": null
},
"actionNo": "00010923",
"completionDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "11/06/13",
"timeInUserTimeZone": "10:30 AM",
"timeInLocale": "12:00 AM",
REST API Reference | Learning | 1737

"date": 1383714000000,
"locale": "11/06/13"
},
"courseDetail": {
"@type": "com.saba.offering.OfferingTemplateDetail",
"tagName": "OfferingTemplateDetail",
"abstract": "",
"category": null,
"title": "testing",
"recurring": false,
"image": null,
"tags": null,
"factoryName": "com.saba.offering.OfferingTemplateDetail",
"published": false,
"auditDetail": {
"@type": "com.saba.ejb.AuditDetailImpl",
"tagName": "AuditDetail",
"factoryName": null,
"updatedBy": "rparab@saba.com",
"createdId": "persn000000000001078",
"updatedOn": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "11/06/13",
"timeInUserTimeZone": "4:06 PM",
"timeInLocale": "5:36 AM",
"date": 1383734212000,
"locale": "11/06/13"
},
"createdBy": "rparab@saba.com",
"createdOn": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "11/06/13",
"timeInUserTimeZone": "4:06 PM",
"timeInLocale": "5:36 AM",
"date": 1383734212000,
"locale": "11/06/13"
}
},
"price": null,
"subscribed": false,
"audienceType": null,
"componentName": "Offering Template",
"availFrom": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "11/06/13",
"timeInUserTimeZone": "10:30 AM",
"timeInLocale": "12:00 AM",
"date": 1383714000000,
"locale": "11/06/13"
},
"discFrom": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "01/01/00",
"timeInUserTimeZone": "10:30 AM",
"timeInLocale": "12:00 AM",
"date": 32503698000000,
"locale": "01/01/00"
},
"availWeb": false,
"availCallCenter": false,
"courseNo": "5621",
"maxCount": 0,
REST API Reference | Learning | 1738

"minCount": 0,
"vendor": null,
"csr": null,
"lrmanager": null,
"priceBand": null,
"priceBandUnit": 0,
"ehriofferingTemplate": null,
"trainingUnits": 0,
"discontinued": false,
"inEffect": true,
"maxBook": 0,
"test": false,
"skipCheckPriv": false,
"allowLearningRequests": false,
"language": null,
"parent": null,
"type": 0,
"owner": null,
"available": true,
"enabled": true,
"domain": {
"@type": "com.saba.domain.entity.DomainReference",
"id": "domin000000000000001",
"displayName": "world",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "domin000000000000001",
"prefix": "domin"
},
"locale": {
"@type": "com.saba.i18n.entity.LocaleReference",
"id": "local000000000000001",
"displayName": null
},
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"version": null,
"split": {
"@type": "com.saba.domain.entity.DomainReference",
"id": "domin000000000000001",
"displayName": "world",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "domin000000000000001",
"prefix": "domin"
},
"locale": {
"@type": "com.saba.i18n.entity.LocaleReference",
"id": "local000000000000001",
"displayName": null
},
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"featured": false,
"validTill": null,
"notifyBefore": null,
"recertificationWindow": null,
"availableFrom": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "11/06/13",
REST API Reference | Learning | 1739

"timeInUserTimeZone": "10:30 AM",


"timeInLocale": "12:00 AM",
"date": 1383714000000,
"locale": "11/06/13"
},
"discontinuedFrom": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "01/01/00",
"timeInUserTimeZone": "10:30 AM",
"timeInLocale": "12:00 AM",
"date": 32503698000000,
"locale": "01/01/00"
},
"targetDaysAsInt": 0,
"publishToCatalog": false,
"targetDays": 0,
"learningEventId": null,
"name": null,
"description": "testng again description",
"group": null,
"status": "DRAFT",
"customValues": [
"list",
[
{
"@type": "CustomAttributeValueDetail",
"name": "custom0",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "custom0"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom1",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "custom1"
},
{
"@type": "CustomAttributeValueDetail",
"name": "custom2",
"datatype": {
"@type": "CustomAttributeDatatype",
"value": 18
},
"value": null,
"tagName": "CustomAttribute",
"factoryName": "com.saba.customattribute.CustomAttributeValueDetail",
"displayName": "custom2"
}
]
],
REST API Reference | Learning | 1740

"securityDomain": {
"@type": "com.saba.domain.entity.DomainReference",
"id": "domin000000000000001",
"displayName": "world",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "domin000000000000001",
"prefix": "domin"
},
"locale": {
"@type": "com.saba.i18n.entity.LocaleReference",
"id": "local000000000000001",
"displayName": null
},
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "cours000000000006470",
"prefix": "cours"
},
"updateMetadata": {
"@type": "com.saba.ejb.UpdateMetadata",
"tagName": "UpdateMetadata",
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "cours000000000006470",
"prefix": "cours"
},
"factoryName": "com.saba.ejb.UpdateMetadataXMLFactory",
"timestamp": "2027823919",
"locale": {
"@type": "com.saba.i18n.entity.LocaleReference",
"id": "local000000000000001",
"displayName": null
}
},
"auditReason": "audit with reason",
"attrMap": null,
"id": "cours000000000006470",
"displayName": null,
"locale": {
"@type": "com.saba.i18n.entity.LocaleReference",
"id": "local000000000000001",
"displayName": null
}
},
"grade": "",
"offeringStartDate": null,
"learnerId": null,
"completionMode": 0,
"offeringEndDate": null,
"registrationDate": {
"@type": "com.saba.customtypes.DateWithLocale",
"dateInUserTimeZone": "11/05/13",
"timeInUserTimeZone": "10:30 AM",
"timeInLocale": "12:00 AM",
"date": 1383627600000,
"locale": "11/05/13"
},
"totalCredits": [
REST API Reference | Learning | 1741

"java.math.BigDecimal",
0
],
"completionStatusValue": 700,
"ceCredits": null,
"ceCourseCredits": [
"java.util.Vector",
[
{
"@type": "com.saba.learning.continuingeducation.CECreditsDetail",
"qualifiers": [
"java.util.Collections$UnmodifiableCollection",
[
{
"@type": "com.saba.learning.continuingeducation.CECreditQualifierDetail",
"qualifier": null,
"qualifierType": {
"name": "Learner",
"key": "100"
},
"id": "crqul000000000001912",
"displayName": null
}
]
],
"credits": 23,
"creditDefintion": {
"@type": "com.saba.learning.continuingeducation.CECreditDefinitionDetail",
"fieldOfStudy": {
"@type": "com.saba.learning.continuingeducation.entity.FieldOfStudyReference",

"id": "fldst000000000001020",
"displayName": "Field of study to test CE"
},
"credits": 23,
"owner": {
"@type": "OfferingTemplate",
"id": "cours000000000006470",
"displayName": null
},
"id": "cofst000000000031828",
"displayName": null
},
"defaultCredit": true,
"fos": {
"@type": "com.saba.learning.continuingeducation.entity.FieldOfStudyReference",

"id": "fldst000000000001020",
"displayName": "Field of study to test CE"
},
"owner": {
"@type": "OfferingTemplate",
"id": "cours000000000006470",
"displayName": null
},
"id": "cofst000000000031828",
"displayName": null
},
{
"@type": "com.saba.learning.continuingeducation.CECreditsDetail",
"qualifiers": [
"java.util.Collections$UnmodifiableCollection",
REST API Reference | Learning | 1742

[
{
"@type": "com.saba.learning.continuingeducation.CECreditQualifierDetail",
"qualifier": null,
"qualifierType": {
"name": "Learner",
"key": "100"
},
"id": "crqul000000000001913",
"displayName": null
}
]
],
"credits": 10,
"creditDefintion": {
"@type": "com.saba.learning.continuingeducation.CECreditDefinitionDetail",
"fieldOfStudy": {
"@type": "com.saba.learning.continuingeducation.entity.FieldOfStudyReference",

"id": "fldst000000000001121",
"displayName": "Communication Skills"
},
"credits": 10,
"owner": {
"@type": "OfferingTemplate",
"id": "cours000000000006470",
"displayName": null
},
"id": "cofst000000000031830",
"displayName": null
},
"defaultCredit": true,
"fos": {
"@type": "com.saba.learning.continuingeducation.entity.FieldOfStudyReference",

"id": "fldst000000000001121",
"displayName": "Communication Skills"
},
"owner": {
"@type": "OfferingTemplate",
"id": "cours000000000006470",
"displayName": null
},
"id": "cofst000000000031830",
"displayName": null
}
]
],
"courseCompetencies": [
"list",
[
{
"@type": "com.saba.learning.services.learningevent.business.CompetencyInfo",
"competency": {
"@type": "ServiceObjectReference",
"id": "compt000000000001508",
"displayName": "A skilled Driver"
},
"selectedProficiencyLevel": "cplvl000000000001073",
"proficiencyLevelDetails": [
"list",
[
REST API Reference | Learning | 1743

{
"@type": "ProficiencyLevelDetail",
"name": "Expert",
"value": 0,
"id": "cplvl000000000001319",
"description": "Limited:Fails to generate and implement new and creative
approaches"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Limited",
"value": 1,
"id": "cplvl000000000000005"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Basic",
"value": 2,
"id": "cplvl000000000000004"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Proficient",
"value": 3,
"id": "cplvl000000000000003"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Advanced",
"value": 4,
"id": "cplvl000000000000002"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Outstanding",
"value": 5,
"id": "cplvl000000000000001"
},
{
"@type": "ProficiencyLevelDetail",
"name": "p1",
"value": 6,
"id": "cplvl000000000001073"
},
{
"@type": "ProficiencyLevelDetail",
"name": "outstanding1",
"value": 7,
"id": "cplvl000000000001208"
},
{
"@type": "ProficiencyLevelDetail",
"name": "8",
"value": 8,
"id": "cplvl000000000001229"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Liccense Holder",
"value": 9,
"id": "cplvl000000000001249",
"description": "License holder"
REST API Reference | Learning | 1744

}
]
]
},
{
"@type": "com.saba.learning.services.learningevent.business.CompetencyInfo",
"competency": {
"@type": "ServiceObjectReference",
"id": "compt000000000001000",
"displayName": "Adaptability"
},
"selectedProficiencyLevel": "cplvl000000000001229",
"proficiencyLevelDetails": [
"list",
[
{
"@type": "ProficiencyLevelDetail",
"name": "Expert",
"value": 0,
"id": "cplvl000000000001319",
"description": "Limited:Fails to generate and implement new and creative
approaches"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Limited",
"value": 1,
"id": "cplvl000000000000005"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Basic",
"value": 2,
"id": "cplvl000000000000004"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Proficient",
"value": 3,
"id": "cplvl000000000000003"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Advanced",
"value": 4,
"id": "cplvl000000000000002"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Outstanding",
"value": 5,
"id": "cplvl000000000000001"
},
{
"@type": "ProficiencyLevelDetail",
"name": "p1",
"value": 6,
"id": "cplvl000000000001073"
},
{
"@type": "ProficiencyLevelDetail",
"name": "outstanding1",
REST API Reference | Learning | 1745

"value": 7,
"id": "cplvl000000000001208"
},
{
"@type": "ProficiencyLevelDetail",
"name": "8",
"value": 8,
"id": "cplvl000000000001229"
},
{
"@type": "ProficiencyLevelDetail",
"name": "Liccense Holder",
"value": 9,
"id": "cplvl000000000001249",
"description": "License holder"
}
]
]
}
]
],
"durationStr": "18:00",
"deliveryTypeReference": {
"@type": "Delivery",
"baseDeliveryType": null,
"id": "eqcat000000000000004",
"displayName": "Instructor-Led"
},
"completionStatusDisplay": "Pending Approval",
"totalProviderCredits": [
"java.math.BigDecimal",
23
],
"location": "Pune",
"owner": {
"@type": "com.saba.party.person.entity.ClientReference",
"sourceType": "InternalPerson",
"componentName": "Person, External",
"activitySourceType": {
"sourceType": 0,
"listId": "sysli000000000003037",
"key": "0"
},
"prescriptionType": {
"tagName": "PrescriptionType",
"prescriptionDbType": 8,
"factoryName": "com.saba.prescription.PrescriptionType",
"name": "manager",
"key": "32"
},
"primaryKey": {
"@type": "com.saba.persist.ObjectId",
"id": "persn000000000001078",
"prefix": "persn"
},
"id": "persn000000000001078",
"displayName": " ",
"locale": null,
"tagName": "Reference",
"factoryName": "com.saba.reference.ReferenceFactory"
},
"endTime": null,
REST API Reference | Learning | 1746

"startTime": null,
"status": 200,
"securityDomain": null,
"auditReason": "audit with reason",
"id": "ofapr000000000010906",
"displayName": null
}

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,
"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,
REST API Reference | Learning | 1747

"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
},
{
"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,
REST API Reference | Learning | 1748

"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,
"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,
REST API Reference | Learning | 1749

"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,
"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",
REST API Reference | Learning | 1750

"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,
"maximumLength": 255,
"isSearchFilter": true
},
{
"name": "id",
"displayName": "Completed Course ID",
"description": null,
"isRequired": true,
"isAutoGenerated": true,
"type": "string",
"isReference": false,
"display": true,
"isSearchFilter": true
},
{
REST API Reference | Learning | 1751

"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
},
{
"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,
REST API Reference | Learning | 1752

"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
},
{
"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,
REST API Reference | Learning | 1753

"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",
"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,
REST API Reference | Learning | 1754

"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
},
{
"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",
REST API Reference | Learning | 1755

"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,
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
REST API Reference | Learning | 1756

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 488: 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

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]}]]
REST API Reference | Learning | 1757

Name Description Sample Value Data Type Required?

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

defaultCour- Default Course Cred- ["java.math.Big- string No


seCredits its Decimal",10]
REST API Reference | Learning | 1758

Name Description Sample Value Data Type Required?

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"} ]]

Request Body (Course in catalog)

{
"@type":"com.saba.offering.adhoclearning.AdHocLearningTranscriptDetail",
"learners":[
"java.util.ArrayList",
REST API Reference | Learning | 1759

[
{
"@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",
"name":"custom0",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
},
REST API Reference | Learning | 1760

"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":{
"@type":"date",
"time":"2013-11-06"
},
"addedToProfileOn":{
"@type":"date",
REST API Reference | Learning | 1761

"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
},
"value":null,
"displayName":"custom1"
},
{
"@type":"CustomAttributeValueDetail",
REST API Reference | Learning | 1762

"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",
[
{
"@type":"com.saba.offering.adhoclearning.FOSInfo",
"fosId":"fldst000000000001043",
"credits":[
"java.math.BigDecimal",
REST API Reference | Learning | 1763

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"
},
{
"@type":"CustomAttributeValueDetail",
"name":"custom3",
"datatype":{
"@type":"CustomAttributeDatatype",
"value":18
REST API Reference | Learning | 1764

},
"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"
}

UPDATE A TRANSCRIPT

Overview
Updates a transcript.
REST API Reference | Learning | 1765

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 489: 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]

totalCredits Total Credits ["java.math.Big- string No


Decimal",10]

Pending Approval Completion Status string No


Display

grade Grade B string No


REST API Reference | Learning | 1766

Name Description Sample Value Data Type Required?

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"}]]

Request Body

{
"@type": "com.saba.offering.offeringaction.OfferingActionProfileDetail",
"durationStr": "00:00",
"completionDate": {
"@type": "date",
"time": "2013-11-18"
},
"registrationDate": {
REST API Reference | Learning | 1767

"@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

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.
REST API Reference | Learning | 1768

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 490: 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 | 1769

Name Description Sample Value Data Type Required?

customValues Custom values object No


REST API Reference | Learning | 1770

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 | 1771

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 | 1772

"@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 | 1773

"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 | 1774

Calling Options
Table 491: 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 492: 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 | 1775

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. Saba 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 | 1776

{
"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 | 1777

Calling Options
Table 493: 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 | 1778

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 494: 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 | 1779

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 | 1780

{
"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, Saba 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 | 1781

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 | 1782

"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 | 1783

"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 | 1784

"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 | 1785

"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 | 1786

"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 | 1787

"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 | 1788

"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 495: Calling Options

Name Description Sample Value Data Type Required?

id Training Unit's ID tun- string Yes


it000000000001050
REST API Reference | Learning | 1789

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 496: Calling Options

Name Description Sample Value Data Type Required?

name Name of Training Unit abc string Yes


REST API Reference | Learning | 1790

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 | 1791

{
"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 | 1792

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


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 | 1793

"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 | 1794

Calling Options
Table 498: 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 499: 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 | 1795

"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 500: 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 | 1796

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 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

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 | 1797

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 502: 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 | 1798

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 503: 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 | 1799

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 504: 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 | 1800

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 505: 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 | 1801

Calling Options
Table 506: 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 | 1802

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 | 1803

"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 | 1804

Calling Options
Table 507: 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 | 1805

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 | 1806

},
{
"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 | 1807

"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 | 1808

"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 | 1809

"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 | 1810

"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 508: 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 | 1811

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 | 1812

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

Calling Options
Table 509: 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 | 1813

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 | 1814

"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 | 1815

https://<hostname-api.sabacloud.com>/v1/tuagreement/agreement_no%3D<TrainingUnitAgreementsNo>

Calling Options
Table 510: 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 | 1816

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 | 1817

Calling Options
Table 511: 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 | 1818

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 | 1819

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 | 1820

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 | 1821

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
• 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 512: 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"
}
Chapter

10
Performance

Topics: REST endpoints for the performance data.

• Goals
• Pulse
• Competency
• Review
REST API Reference | Performance | 1824

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 513: 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 | 1825

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 | 1826

"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 | 1827

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 514: 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 | 1828

"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 | 1829

"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 | 1830

},
{
"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 | 1831

"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 | 1832

"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 | 1833

"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 | 1834

"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 | 1835

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 515: 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 | 1836

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 | 1837

"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 | 1838

"@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 | 1839

"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 | 1840

{
"@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 | 1841

"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 | 1842

"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 | 1843

"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 | 1844

"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 | 1845

"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 | 1846

"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 | 1847

"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 | 1848

"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 | 1849

"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 | 1850

"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 | 1851

"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 | 1852

Calling Options
Table 516: 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 | 1853

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:goalId/changeStatus

Calling Options
Table 517: 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 | 1854

}
}
}

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 518: 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 | 1855

[
{
"@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 | 1856

Requires OAuth
No

Method
PUT

URL
https://<hostname-api.sabacloud.com>/v1/performance/goals/:goalId

Calling Options
Table 519: 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 | 1857

"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 | 1858

"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 | 1859

"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 | 1860

"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 | 1861

"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 | 1862

"@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 | 1863

"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 | 1864

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 520: 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 | 1865

Name Description Sample Value Data Type Required?

value The value as per the string No


filter criteria. Accepts,
either the Saba 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",
"choiceId": "scalc000000000000031",
REST API Reference | Performance | 1866

"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",
"choiceGroup": 1,
REST API Reference | Performance | 1867

"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,
"scaleId": "scale000000000000005",
REST API Reference | Performance | 1868

"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,
"ordinal": 1,
REST API Reference | Performance | 1869

"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,
"chartQuestionData": [{
REST API Reference | Performance | 1870

"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": {},
"top10List": null,
REST API Reference | Performance | 1871

"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
}
}],
"allSurveys": [{
REST API Reference | Performance | 1872

"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 521: 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 | 1873

Name Description Sample Value Data Type Required?

value The value as per the string No


filter criteria. Accepts,
either the Saba 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 Saba ID string No

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,
"value": 0,
"id": "scalc000000000000031",
REST API Reference | Performance | 1874

"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 | 1875

"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
Example:
REST API Reference | Performance | 1876

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 522: 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 Saba 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

pageSize Page size. Default string No


value: 10
REST API Reference | Performance | 1877

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",
"mePulseScore": 0,
"mgmtPulseScore": 0,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000002203",
"objectDisplayName": "MCB - Employee Invst Svc",
"mePulseScore": 0,
"mgmtPulseScore": 0,
REST API Reference | Performance | 1878

"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,
"companyPulseScore": 0
}, {
"objectId": "bisut000000000001661",
"objectDisplayName": "Finance & Accounting",
"mePulseScore": 100,
"mgmtPulseScore": 5,
"companyPulseScore": -90
}, {
REST API Reference | Performance | 1879

"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

Return Values

{
"dimensionQuestions": {
"PERN": [{
"syslovid": null,
REST API Reference | Performance | 1880

"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": {
"listId": "sysli000000000003105",
"key": "PERN",
"displayName": "Personal"
},
"id": "pfqem000000000001002",
REST API Reference | Performance | 1881

"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"
}],
"reuse": false,
"bodyPlain": "sgt reyery",
"intent": null,
"notes": null,
"feedback": null,
REST API Reference | Performance | 1882

"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",
"emojiValue": {
"listId": "sysli000000000003106",
"key": "HPY",
"displayName": "Happy"
},
REST API Reference | Performance | 1883

"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,
"updatedOn": null,
"createdOn": null,
"createdBy": "CONE",
"createdId": "persn000000000001000",
"configId": "pucfg000000000001000",
REST API Reference | Performance | 1884

"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,
"lockLastChoice": false,
"difficulty": "NOT_SPECIFIED",
"weight": 1,
"duration": 0,
"scaleId": null,
REST API Reference | Performance | 1885

"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",
"displayName": "Management"
},
"id": "pfqem000000000001006",
"questionType": "3",
"sysLovId": null,
REST API Reference | Performance | 1886

"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
}],
"surveyQuestion": {
"questionId": "quest000000000001002",
"mandatory": false,
"ordinal": 1,
REST API Reference | Performance | 1887

"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,
"mediaURL": null,
"fileName": null,
"attachmentId": null,
"ownerId": null,
"updatedOn": null,
REST API Reference | Performance | 1888

"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

Method
GET
REST API Reference | Performance | 1889

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
}]
}
},
"questions": [{
"surveyQuestionId": "exqst000000000001680",
"questionId": "quest000000000001700",
REST API Reference | Performance | 1890

"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

Return Values

{
"questionsConfig": {
"sections": {
"PERN": {
REST API Reference | Performance | 1891

"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
}
],
"NEU": [
{
"emojiQuestionId": "pfqem000000000000009",
"surveyQuestionId": "exqst000000000000005",
"optionalQuestion": false
REST API Reference | Performance | 1892

}
]
},
"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",
"optionalQuestion": false
}
]
}
},
REST API Reference | Performance | 1893

"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
},
{
"choiceId": "scalc000000000000034",
"name": "Work-Life Balance",
"ordinal": 4
},
{
REST API Reference | Performance | 1894

"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
}
],
"noOfWordResponses": 0
},
{
"surveyQuestionId": "exqst000000000000005",
REST API Reference | Performance | 1895

"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?",
"choices": [
{
"choiceId": "scalc000000000000041",
"name": "Company Culture",
"ordinal": 1
REST API Reference | Performance | 1896

},
{
"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
},
{
"surveyQuestionId": "exqst000000000000009",
"questionId": "quest000000000000009",
"questionType": "WORD_RESPONSE",
REST API Reference | Performance | 1897

"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 523: Calling Options

Name Description Sample Value Data Type Required?

surveyResponse Survey response de- com.saba.rest.ser- string Yes


tail vice.goal.Saba-
GoalRestDetail

Request Body

{
"surveyResponse": [{
"qustRespDTOList": [{
REST API Reference | Performance | 1898

"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 | 1899

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 524: questionConfig definition

Attributes Type Description

Sections Map Map of question IDs per emoji


and per dimension

questions List List of unique questionDetail


objects.

Table 525: emojiQuestionDetail definition

Attributes Type Description

emojiQuestionId ID
Emoji question ID (internal
identifier)
e.g. pfqem000000000000020
REST API Reference | Performance | 1900

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 526: 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 527: choiceDetail definition

Attributes Type Description

choiceId ID Choice ID (internal identifier)


REST API Reference | Performance | 1901

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 | 1902

Calling Options
Table 528: 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 | 1903

"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 | 1904

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 529: 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 | 1905

"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 530: 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 | 1906

"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 | 1907

Calling Options
Table 531: 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 | 1908

{
"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 532: Calling Options

Name Description Sample Value Data Type Required?

criteria Conditions type%3D%3DFocal string Yes


REST API Reference | Performance | 1909

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 | 1910

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 533: 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 | 1911

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 534: Calling Options

Name Description Sample Value Data Type Required?

count The number of re- 10 integer No


cords per page.
REST API Reference | Performance | 1912

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 | 1913

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 535: 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 | 1914

"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 536: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired rcycl000000000001280 string Yes


review cycle
REST API Reference | Performance | 1915

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 | 1916

"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 537: 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 | 1917

"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 | 1918

"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 | 1919

"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 | 1920

"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 | 1921

"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 | 1922

URL
https://<hostname-api.sabacloud.com>/v1/performance/reviews/reviewCycle/:id?expand=:searchFields

Calling Options
Table 538: 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 | 1923

"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 | 1924

"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 | 1925

"@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 | 1926

"@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 | 1927

"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 | 1928

Calling Options
Table 539: 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 | 1929

"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 | 1930

"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 | 1931

"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 | 1932

"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 | 1933

"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 | 1934

"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 | 1935

"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 | 1936

"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 | 1937

"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 | 1938

{
"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 | 1939

"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 | 1940

"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 | 1941

"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 | 1942

"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 | 1943

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 540: 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 | 1944

"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 | 1945

"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 | 1946

"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 | 1947

"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 | 1948

{
"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 | 1949

"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 | 1950

{
"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 | 1951

"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 | 1952

"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 | 1953

Calling Options
Table 541: 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 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.

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 | 1956

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 542: 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 | 1957

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 | 1958

"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 | 1959

Calling Options
Table 543: 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 | 1960

{
"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 | 1961

"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 544: 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 | 1962

"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 | 1963

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 | 1964

"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 | 1965

"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 | 1966

"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 | 1967

"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 | 1968

"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 | 1969

"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 | 1970

"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 | 1971

"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 | 1972

"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 | 1973

}
},
{
"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 | 1974

"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 | 1975

"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 545: Calling Options

Name Description Sample Value Data Type Required?

id The ID of the desired jobrq000000000001020 string Yes


job requisition
REST API Reference | Recruiting | 1976

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 | 1977

"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 | 1978

"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 | 1979

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 | 1980

"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 | 1981

"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 | 1982

"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 | 1983

"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 | 1984

"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 | 1985

"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 | 1986

"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 | 1987

"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 | 1988

"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 | 1989

},
{
"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 | 1990

"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 | 1991

"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 | 1992

"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 | 1993

"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 | 1994

"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 | 1995

"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 | 1996

},
{
"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 | 1997

{
"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 | 1998

"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 | 1999

"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 | 2000

"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 | 2001

{
"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 | 2002

"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 | 2003

},
{
"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 | 2004

"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 | 2005

},
{
"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 | 2006

"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 | 2007

URL
https://<hostname-api.sabacloud.com>/v1/job-requisition

Calling Options
Table 546: 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 | 2008

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 | 2009

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 | 2010

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 | 2011

],
"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 | 2012

"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 | 2013

Calling Options
Table 547: 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 | 2014

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 | 2015

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 | 2016

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 | 2017

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 | 2018

"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 | 2019

}
],
"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 | 2020

"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 548: 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 | 2021

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 | 2022

"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 | 2023

Calling Options
Table 549: 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 | 2024

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 | 2025

"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 | 2026

}],
"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 | 2027

URL
https://<hostname-api.sabacloud.com>/v1/job-applications/:id
Example: https://<hostname-api.sabacloud.com>/v1/job-applications/jrqcd000000000001022

Calling Options
Table 550: 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 | 2028

"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 | 2029

"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 | 2030

"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 | 2031

Table 551: 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 | 2032

Table 552: 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 | 2033

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 | 2034

Calling Options
Table 553: 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 | 2035

"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 | 2036

"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 | 2037

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 554: 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 | 2038

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 | 2039

"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 | 2042

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 555: 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 | 2043

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 | 2044

"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 | 2045

]
}

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 556: 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 | 2046

"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 | 2047

]
}
]
}
]
}

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 557: 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 | 2048

"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 | 2049

{
"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 | 2050

"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 558: 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 | 2051

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 | 2052

}
},
{
"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 | 2053

"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 559: Calling Options

Name Description Sample Value Data Type Required?

reportId Report ID. string Yes


Starts with: ‘rptdf’
REST API Reference | Analytics | 2054

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 | 2055

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 | 2056

"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 | 2057

"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 | 2060

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 560: 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 | 2061

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"}

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"

Return Values

[
"list",
[
{
"@type": "com.saba.services.calendar.CalendarElementDetail",
"eventType": "ILTCLASS",
"elementName": "AdvancedJava",
REST API Reference | Calendar | 2062

"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"
}
}
]
]

Appointment
REST endpoints for the appointment data.
REST API Reference | Calendar | 2063

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 561: 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",
"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",
REST API Reference | Calendar | 2064

"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 562: Calling Options

Name Description Sample Value Data Type Required?

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

subject Appointment subject Appointment string Yes


subject
REST API Reference | Calendar | 2065

Name Description Sample Value Data Type Required?

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"
},
"owner":{
"@type":"ServiceObjectReference",
"id":"emplo000000000205708",
"displayName":"usernmae"
},
"note":"SampleNote"
}
REST API Reference | Calendar | 2066

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 563: 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

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
REST API Reference | Calendar | 2067

Name Description Sample Value Data Type Required?

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 564: 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 | 2070

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 565: 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 | 2071

"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 | 2072

URL
https://<hostname-api.sabacloud.com>/v1/dataextract/job/:id/scheduleJob

Calling Options
Table 566: 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 | 2073

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 | 2074

"@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 | 2075

"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 Saba 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 | 2076

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 567: 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 | 2077

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 | 2078

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 | 2079

Calling Options
Table 568: 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 | 2080

"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 569: 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 | 2081

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 | 2082

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 | 2083

Method
POST

URL
https://<hostname-api.sabacloud.com>/v1/dataimport/scheduledjob/searchQuery
?includeDetails=:includeDetails&startPage=:startPage&count=:count

Calling Options
Table 570: 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 | 2084

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 | 2085

"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 571: 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 | 2086

],
"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. Saba 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 572: 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 | 2087

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 573: 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 | 2088

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 574: 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 | 2089

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 575: 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
CIF

Topics: REST endpoints for the CIF data.

• Content Inventory
• Content Folder
• Core Services
• Partner
• RESULT REPORTING
REST API Reference | CIF | 2092

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 | 2093

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/content?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 576: 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 | 2094

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 577: 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 | 2095

"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 | 2096

"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 | 2097

Calling Options
Table 578: 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.

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",
REST API Reference | CIF | 2098

"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",
"content_tags": [],
"content_categories": [],
"href":
REST API Reference | CIF | 2099

"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 579: 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.

includeDetails Returns the details of true string No


the attendance in the
search.
REST API Reference | CIF | 2100

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"
}, {
"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",
REST API Reference | CIF | 2101

"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 Saba repository based on the location specified in the metadata.
This Web service supports the following content formats:
1. URL
2. AICC
3. SCORM package
4. Deployed SCORM
5. LTI
6. ZIP
7. File
REST API Reference | CIF | 2102

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

parentFolderId Optional

expiryDate Optional

availableFrom Optional

status Optional 0,1,2,3,4,5,6,7

serverId Optional

availableOffline Optional true / false


REST API Reference | CIF | 2103

Attribute Name Required / Optional Possible Value / Sample

esignatureRequired Optional true / false

isScoring 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

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"

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,
REST API Reference | CIF | 2104

Attribute Name Required / Optional Possible Value / Sample

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: 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
REST API Reference | CIF | 2105

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

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.


REST API Reference | CIF | 2106

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 580: 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
},
"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",
REST API Reference | CIF | 2107

"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"}]
}

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"}]
}
REST API Reference | CIF | 2108

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",
"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
}
REST API Reference | CIF | 2109

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.

UPDATE CONTENT INVENTORY

Overview
Updates content in the Saba 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
REST API Reference | CIF | 2110

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:

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

isScoring Optional true / false

domain Optional world

compatability Optional notCompatible, iPhone, iPad


, AndroidSmall, AndroidNor-
mal, bothContentCompatab-
ility, AndroidLargeAndAbove,
AllDevices
REST API Reference | CIF | 2111

Attribute Name Required / Optional Possible Value / Sample

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

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"
REST API Reference | CIF | 2112

Attribute Name Required / Optional Possible Value / Sample

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"

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 581: 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
REST API Reference | CIF | 2113

},
"value": null,
"displayName": "Custom1"
}]
}

Request Body (For File)

{
"contentName": "URL test7",
"contentFolderName": "abc"
}

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",
REST API Reference | CIF | 2114

"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"}]
}

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
}
REST API Reference | CIF | 2115

Return Values

204

Content Folder
REST endpoints for the CIF data.

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.
REST API Reference | CIF | 2116

Requires OAuth
No

Method
GET

URL
https://<hostname-api.sabacloud.com>/v1/contentfolder?q=(:criteria_field==:field_value)&count=:count&startPage=:startPage

Calling Options
Table 582: 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"
}
],
REST API Reference | CIF | 2117

"totalResults": 1,
"startIndex": 1
}

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 583: Calling Options

Name Description Sample Value Data Type Required?

id Content's ID cn- string Yes


fld000000000000001
REST API Reference | CIF | 2118

Name Description Sample Value Data Type Required?

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.

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"
}
}
REST API Reference | CIF | 2119

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 584: Calling Options

Name Description Sample Value Data Type Required?

name Name of the content ContentFolder 1 string Yes


folder from REST

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"
REST API Reference | CIF | 2120

}
}

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.

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"
}
REST API Reference | CIF | 2121

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",
"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.
REST API Reference | CIF | 2122

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 585: 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

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
REST API Reference | CIF | 2123

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 586: 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.

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"
},
{
REST API Reference | CIF | 2124

"@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",
"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"
REST API Reference | CIF | 2125

},
{
"@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"
},
{
"@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"
REST API Reference | CIF | 2126

},
{
"@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"
},
{
"@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"
}
REST API Reference | CIF | 2127

]
]
}

Partner
REST endpoints for the CIF data.

REPORT RESULT

Overview
Reports the content result back to Saba.
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
• 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 587: Completion Rules

Input Scenarios Completion Rule

TrackingKey Tracking Key Matches an open at- That attempt is


tempt marked complete
and rollup is
triggered
REST API Reference | CIF | 2128

Input Scenarios Completion Rule

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

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 588: Calling Options

Name Description Sample Value Data Type Required?

track- This will be sent by .-.68FEC7ECB9C3B84E405E890B138 string Yes


ingKey Saba during content 43E27D1D8F3D8E60CF90C75A9877F
launch/entitlement(250 19865DFAABFB886758529CD796DC
characters key limit). 8A295D33C81E-.-
REST API Reference | CIF | 2129

Name Description Sample Value Data Type Required?

registra- This will be sent by string No


tionID Saba during content
launch/entitlement.
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 Saba during content
launch/entitlement.
Note: This should be
used in combination
with externalContent-
ID and vendorName.
Supported Content
Format:
• URL

user- This will be sent by string No


name Saba during content
launch/entitlement.
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- Saba during content
ID launch/entitlement.

vendorName This will be sent by string No


Saba during content
launch/entitlement.

comple- Possible values: incom- incomplete string Yes


tion- plete, completed,
Status passed, failed.
REST API Reference | CIF | 2130

Name Description Sample Value Data Type Required?

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",
"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"
}
REST API Reference | CIF | 2131

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.

Requires OAuth
No

Method
POST

URL
http://<hostname-api.sabacloud.com>/v1/partner/cancelRegistration?trackingKey=<trackingKey>

Calling Options
Table 589: Calling Options

Name Description Sample Value Data Type Required?

track- This will be sent by .-.68FEC7ECB9C3B84E405E890B138 string Yes


ingKey Saba during content 43E27D1D8F3D8E60CF90C75A9877F
launch/entitlement(250 19865DFAABFB886758529CD796DC
characters key limit). 8A295D33C81E-.-

Return Values

{
"status":"Success",
REST API Reference | CIF | 2132

"errorMessage":"",

"trackingKey":".-.68FEC7ECB9C3B84E405E890B13843E27FE21B64782B3B2EBACD65A1572A69F5AE01C03FA61C07F01E53FF6DC0D417A2C-.-"
}

RESULT REPORTING
Overview
This API reports the content result to Saba.
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

Requires OAuth
No

URL
https://<hostname-api.sabacloud.com>/v1/public/resultReporting
REST API Reference | CIF | 2133

Calling Options
Table 590: 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 | 2134

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 | 2135

</imsx_POXBody>
</imsx_POXEnvelopeRequest>

Return Values

Status: 204 No Content


Chapter

16
Integration APIs

Topics: REST endpoints for Virtual Classroom.

• Virtual Classroom (For third


party meeting connectors)
REST API Reference | Integration APIs | 2138

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 Saba.
Saba provides Virtual Classroom connectors for meeting providers like Saba Meeting and
Webex. For any other meeting provider that Saba 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 Saba invokes
• The Request body that Saba will provide to the meeting provider's system for every call
that it makes to the REST end points
• The Reponse body that Saba expects in return from the meeting provider's system
Note: In order to integrate a third party meeting connector Saba 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 Saba 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 Saba can reach to create and manage meetings on it.
2. Saba will invoke the adapter configuration REST end point to configure the adapter for
this third party meeting provider. Once configured, Saba 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, Saba 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 Saba requires [as specified below under Reponse].
5. On receving this response from the meeting provider's system, Saba 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
8. Get Attendee URL
9. Meeting attendance
REST API Reference | Integration APIs | 2139

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 591: 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,
"chatHost":false,
"chatPresenter":false,
"serverRecordingEnabled":true,
REST API Reference | Integration APIs | 2140

"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 592: 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.

concurrentSpeakers The maximum number of speakers allowed to speak together.


REST API Reference | Integration APIs | 2141

Parameters Passed Description

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.

Header Parameters
Table 593: Header Parameters

Parameters Passed Description

serviceName It will hold UPDATE_MEETING.


It is the service name to indicate what action is being requested.
REST API Reference | Integration APIs | 2142

Parameters Passed Description

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 594: Update 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
REST API Reference | Integration APIs | 2143

Parameters Passed Description

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.

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",
REST API Reference | Integration APIs | 2144

"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 595: 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.

Header Parameters
Table 596: Header Parameters

Parameters Passed Description

serviceName It will hold GET_MEETING.


It is the service name to indicate what action is being requested.
REST API Reference | Integration APIs | 2145

Parameters Passed Description

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"
}

Create Meeting Attendee


This REST end point when invoked creates a meeting attendee on the third party meeting
provider's system.
REST API Reference | Integration APIs | 2146

Header Parameters
Table 597: 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 | 2147

Header Parameters
Table 598: 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 599: 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 | 2148

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 600: 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 | 2149

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 601: 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 | 2151

Index
A calendar componentsdelete an existing appointment
delete an existing appointment 2067
add an IP range 2087 calendar componentsget the details of a particular
add attachment to object 330 appointment
add audience type to a subscription 1650 get the details of a particular appointment 2063
add categories to a course 1159 calendar componentsupdate an existing
add categories to a course (lookup based) 1160 appointment
add cost limit price to a subscription 1655 update an existing appointment 2066
add currency to person 171 cancel all enrollments of a class 1006
add custom details for a person 144 cancel all enrollments of a learner 303
add deliverytype/subscription item to a subscription cancel an enrollment 1409
1652 cancel an order 1554
add drop policy to class 1016 cancel registration 2131
add education details for a person 141 change learner of a particular learning subscription
add flightrisk details for a person 146 1689
add grid custom section details for a person 165 change status of a goal 1852
add learning assignments to a class 990 change status of held certification/curriculum 1513
add or update the custom fields of an enrollment cif componentscreate a new content folder
1426 create a new content folder 2119
add secondary address for a person 170 cif componentsfind the details of the content folder
add smartlist as criteria for audience type 644 find the details of the content folder 2115
add subscription price to a subscription 1654 cif componentsfind the details of the content
add tags to category 1172 inventory
add the career interests details of a person 151 find the details of the content inventory 2092
add the external certifications details of a person cif componentsget a cif certificate
152 get a cif certificate 2121
add the external work history details of a person 158 cif componentsget a list of sites
add the im profile details of a person 155 get a list of sites 2121
add the internal work history details of a person 156 cif componentsget all content folder
add the mobility details of a person 160 get all content folder 2115
add the optional job roles of a person 165 cif componentsget all content inventory
add the potential rating details of a person 161 get all content inventory 2092
add the required job roles of a person 164 cif componentsget content's details along with the
add the security roles of a person 162 subscriptions, tags, categories, languages
add value to lov for an attribute 470 get content's details along with the
adds language details for a person 147 subscriptions, tags, categories,
adds the potential positions details of a person 149 languages 2096
adds the retirement risk details of a person 150 cif componentsget content's details along with the
approve / reject an order invoice payment 1527 subscriptions, tags, categories, languages
approve / reject an order item 1527 (using post)
assess person's competency 290 get content's details along with the
assign a course or a recurring course to a person subscriptions, tags, categories,
1510 languages (using post) 2099
assign a resource to an offering 1619 cif componentsget the content's details along with
assign audience type / sub audience type to a person the metadata
167 get the content's details along with the
assign certification/curriculum to a person 1494 metadata 2094
assign external co-presenters to vc offering 1624 cif componentsget the details of a particular content
assign person as a resource 168 folder, root folders, or a list of all the
assign position for a person 577 subfolders
assign the audience type to the person 344 get the details of a particular content folder,
auto-enroll learners into courses inside the root folders, or a list of all the subfolders
certification/curriculum 1491 2117
cif componentsget the initial system values for
contenttypes, contentformats,
C contentservers
calendar componentscreate a new appointment get the initial system values for contenttypes,
create a new appointment 2064 contentformats, contentservers 2122
REST API Reference | Index | 2152

cif componentsget version details of the product create a profile [external person] 174
get version details of the product 2120 create a profile [internal person] 183
cif componentspublish content create a subscription order 1675
publish content 2101 create goal for self/team 1834
cif componentsupdate content inventory create progress of a goal 1851
update content inventory 2109 create pulse survey 1897
CIFresult reporting
result reporting 2132
common 307
D
contact information xxiii delete a discussion 708
content componentscancel registration delete a exchange rate 423
cancel registration 2131 delete a facility 441
content componentsreport result delete a particular discount entry for the training
report result 2127 unit 1796
contract information xxiii delete a particular module 1520
create a new appointment 2064 delete a particular path 1560
create a new attachment 324 delete a particular price list entry 1601
create a new attachment (url) 325 delete a particular pricelist entry for the training
create a new audience type 341 unit 1799
create a new blended class 892 delete a particular training unit 1793
create a new candidate 2033 delete a path, module or intervention 776
create a new category 1161 delete a person's profile pic 305
create a new certification 1049 delete a required job role from a person 296
create a new competency 368 delete a security role from a person 296
create a new content folder 2119 delete a sessiontemplate 1713
create a new country 384 delete a smartlist 643
create a new course 1117 delete a specific component from a person 294
create a new curriculum 1201 delete a transcript 1773
create a new delivery mode 1233 delete an audience type / audience sub types
create a new discount entry for the training unit 1795 assigned to a person 298
create a new enrollment 1342 delete an existing appointment 2067
create a new exchange rate 421 delete an optional job role from a person 297
create a new external organization 536 delete attachment resource 331
create a new facility 436 delete drop policy from class 1017
create a new ilt class 902 delete external co-presenters from vc offering 1625
create a new internal organization 520 delete file posted on saba activity stream. 689
create a new job application 2022 delete idea posted on saba activity stream. 687
create a new job family 463 delete ip range 2089
create a new job requisition 2006 delete issue posted on saba activity stream. 688
create a new job type 453 delete item from list 472
create a new language 392 delete item from list (by listid and name of the list
create a new learning module 1516 value) 473
create a new location 485 delete link posted on saba activity stream. 688
create a new note 602 delete package 1578
create a new package 1569 delete person's currency 301
create a new package order 1410 delete person's currency based on currency isocode
create a new path 1555 lookup 302
create a new position 566 delete person's internal work history details 301
create a new price list entry for a learning item 1599 delete person's qualified learning information 299
create a new pricelist entry for the training unit 1797 delete person's rate information 299
create a new purchase order 1590 delete person's spoken language information 300
create a new role 587 delete position of a person 574
create a new session template 1711 delete state 402
create a new smartlist 627 delete the details of a particular purchase order 1595
create a new state 400
create a new sub audience type 355
create a new subscription 1644 E
create a new training unit 1789
enroll for other user/self 1359
create a new training unit agreement 1811
enroll for other user/self with payment 1375
create a new transcript 1755
execute async report 2050
create a new virtual class 916
execute report 2053
create a new wbt class 936
REST API Reference | Index | 2153

people componentsupdate a profile for given person find the details of the country 379
name [external] find the details of the course (using post - range
update a profile for given person name based search) 1075
[external] 225, 238 find the details of the course activities based on
people componentsupdate a profile for given person criteria 1505
id [external] find the details of the courses 1072
update a profile for given person id [external] find the details of the currencies 404
198, 212 find the details of the delivery mode 1231
people componentscreate a profile [external person] find the details of the enrollments 1290
create a profile [external person] 174, 183 find the details of the exchange rate 416
find the details of the facilities 425
find the details of the fields of study 1439
F find the details of the held checklist 1253
find all attachments 320 find the details of the internal/external organizations
find all public/private attachments 322 493
find all reviews 1906 find the details of the job requisition 1956
find details of smartlists 621 find the details of the job requisition (using post -
find details of sub audience types 346 range based search) 1958
find details of the language 387 find the details of the jobfamilies 460
find evaluations for registrations 1316 find the details of the jobtypes 443
find extended details of classes 853 find the details of the locations 474
find extended details of classes (using post - range find the details of the notes 595
based search) 859 find the details of the offerings 779
find learning assignments for registrations 1313 find the details of the orders 1522
find meta details of sub audience types 347 find the details of the packages 1560
find profile information 97 find the details of the positions 560
find social resource of a group 665 find the details of the positions (using post - range
find social resource of a group (using post - range based search) 561
based search) 668 find the details of the purchase order 1580
find social resources 655 find the details of the purchase order (using post -
find social resources (using post - range based range based search) 1582
search) 660 find the details of the recurring course activities
find the calendar events 2060 based on criteria 1506
find the details of checklist (using post - range based find the details of the recurring course completions
search) 1282 1138
find the details of currency (using post - range based find the details of the recurring course completions
search) 409 (using post - range based search) 1145
find the details of delivery mode (using post - range find the details of the review cycles 1908
based search) 1232 find the details of the reviews 1910
find the details of exchange rate (using post - range find the details of the reviews with post based
based search) 418 search 1952
find the details of field of study (using post - range find the details of the roles 580
based search) 1443 find the details of the security roles 609
find the details of held checklist (using post - range find the details of the session templates 1691
based search) 1255 find the details of the state 395
find the details of notes for given note id 597 find the details of the subscription 1641
find the details of notes for given reference id 598 find the details of the subscription (using post -
find the details of session template (using post - range based search) 1649
range based search) 1697 find the details of the subscription orders 1658
find the details of sub audience type (using post - find the details of the training unit 1776
range based search) 356 find the details of the training unit (using post -
find the details of the attachment for a given id 317 range based search) 1778
find the details of the audiencetypes 338 find the details of the training unit agreement 1810
find the details of the categories 1169 find the details of the transcripts 1715
find the details of the certification/curriculum 1031, find the details of the transcripts (using post - range
1186 based search) 1726
find the details of the certification/curriculum (using find the meta details of exchange rate 411
post - range based search) 1041, 1194 find the meta details of job families 461
find the details of the checklist 1281 find the meta details of locations 476
find the details of the competencies 360 find the meta details of notes 599
find the details of the content folder 2115 find the meta details of smartlists 619
find the details of the content inventory 2092 find the meta details of the audience types 333
REST API Reference | Index | 2154

find the meta details of the currency 405 foundation componentsdelete a exchange rate
find the meta details of the job types 445 delete a exchange rate 423
find the transcripts that have changed over a given foundation componentsdelete a facility
period of time 1724 delete a facility 441
follow persons 173 foundation componentsdelete a smartlist
foundation 467 delete a smartlist 643
foundation componentsadd attachment to object foundation componentsdelete attachment resource
add attachment to object 330 delete attachment resource 331
foundation componentsadd smartlist as criteria for foundation componentsdelete file posted on saba
audience type activity stream.
add smartlist as criteria for audience type 644 delete file posted on saba activity stream. 689
foundation componentsadd value to lov for an foundation componentsdelete idea posted on saba
attribute activity stream.
add value to lov for an attribute 470 delete idea posted on saba activity stream. 687
foundation componentsassign the audience type foundation componentsdelete issue posted on saba
to the person activity stream.
assign the audience type to the person 344 delete issue posted on saba activity stream. 688
foundation componentscreate a new attachment foundation componentsdelete item from list
create a new attachment 324 delete item from list 472
foundation componentscreate a new attachment foundation componentsdelete item from list (by
(url) listid and name of the list value)
create a new attachment (url) 325 delete item from list (by listid and name of the
foundation componentscreate a new audience type list value) 473
create a new audience type 341 foundation componentsdelete link posted on saba
foundation componentscreate a new competency activity stream.
create a new competency 368 delete link posted on saba activity stream. 688
foundation componentscreate a new country foundation componentsdelete position of a person
create a new country 384 delete position of a person 574
foundation componentscreate a new exchange rate foundation componentsdelete state
create a new exchange rate 421 delete state 402
foundation componentscreate a new external foundation componentsexecute async report
organization execute async report 2050
create a new external organization 536 foundation componentsexecute report
foundation componentscreate a new facility execute report 2053
create a new facility 436 foundation componentsfind all attachments
foundation componentscreate a new internal find all attachments 320
organization foundation componentsfind all public/private
create a new internal organization 520 attachments
foundation componentscreate a new job family find all public/private attachments 322
create a new job family 463 foundation componentsfind details of smartlists
foundation componentscreate a new job type find details of smartlists 621
create a new job type 453 foundation componentsfind details of sub audience
foundation componentscreate a new language types
create a new language 392 find details of sub audience types 346
foundation componentscreate a new location foundation componentsfind details of the language
create a new location 485 find details of the language 387
foundation componentscreate a new note foundation componentsfind meta details of sub
create a new note 602 audience types
foundation componentscreate a new position find meta details of sub audience types 347
create a new position 566 foundation componentsfind social resource of a
foundation componentscreate a new role group
create a new role 587 find social resource of a group 665
foundation componentscreate a new smartlist foundation componentsfind social resource of a
create a new smartlist 627 group (using post - range based search)
foundation componentscreate a new state find social resource of a group (using post -
create a new state 400 range based search) 668
foundation componentscreate a new sub audience foundation componentsfind social resources
type find social resources 655
create a new sub audience type 355 foundation componentsfind social resources (using
foundation componentsdelete a discussion post - range based search)
delete a discussion 708 find social resources (using post - range based
search) 660
REST API Reference | Index | 2155

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 609
based search) 409 foundation componentsfind the details of the state
foundation componentsfind the details of exchange find the details of the state 395
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) 418 find the meta details of exchange rate 411
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 597 find the meta details of job families 461
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 476
598 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 599
search) foundation componentsfind the meta details of
find the details of sub audience type (using post smartlists
- range based search) 356 find the meta details of smartlists 619
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 333
317 foundation componentsfind the meta details of the
foundation componentsfind the details of the currency
audiencetypes find the meta details of the currency 405
find the details of the audiencetypes 338 foundation componentsfind the meta details of the
foundation componentsfind the details of the job types
competencies find the meta details of the job types 445
find the details of the competencies 360 foundation componentsget a particular list value
foundation componentsfind the details of the get a particular list value 467
country foundation componentsget actual content of an
find the details of the country 379 attachment
foundation componentsfind the details of the get actual content of an attachment 320
currencies foundation componentsget all attachments for an
find the details of the currencies 404 object
foundation componentsfind the details of the get all attachments for an object 331
exchange rate foundation componentsget all audiencetypes
find the details of the exchange rate 416 get all audiencetypes 332
foundation componentsfind the details of the foundation componentsget all competencies
facilities get all competencies 359
find the details of the facilities 425 foundation componentsget all countries
foundation componentsfind the details of the get all countries 380
internal/external organizations foundation componentsget all currencies
find the details of the internal/external get all currencies 407
organizations 493 foundation componentsget all exchange rates
foundation componentsfind the details of the get all exchange rates 414
jobfamilies foundation componentsget all facilities
find the details of the jobfamilies 460 get all facilities 424
foundation componentsfind the details of the foundation componentsget all jobfamilies
jobtypes get all jobfamilies 459
find the details of the jobtypes 443 foundation componentsget all jobtypes
foundation componentsfind the details of the get all jobtypes 442
locations foundation componentsget all languages
find the details of the locations 474 get all languages 388
foundation componentsfind the details of the notes foundation componentsget all locations
find the details of the notes 595 get all locations 474
foundation componentsfind the details of the foundation componentsget all organizations
positions get all organizations 491
find the details of the positions 560 foundation componentsget all positions
foundation componentsfind the details of the roles get all positions 563
find the details of the roles 580
REST API Reference | Index | 2156

foundation componentsget all roles foundation componentsget the details of a particular


get all roles 579 facility
foundation componentsget all security domains get the details of a particular facility 426
get all security domains 615 foundation componentsget the details of a particular
foundation componentsget all security roles job family
get all security roles 606 get the details of a particular job family 462
foundation componentsget all states foundation componentsget the details of a particular
get all states 396 language with search fields
foundation componentsget all sub audience types get the details of a particular language with
get all sub audience types 352 search fields 391
foundation componentsget all the smartlists foundation componentsget the details of a particular
get all the smartlists 618 location
foundation componentsget all the timezones get the details of a particular location 483
get all the timezones 647 foundation componentsget the details of a particular
foundation componentsget attachment resource position
get attachment resource 329 get the details of a particular position 564
foundation componentsget comment details of a foundation componentsget the details of a particular
resource role
get comment details of a resource 691 get the details of a particular role 585
foundation componentsget details of a particular foundation componentsget the details of a particular
language security domain
get details of a particular language 391 get the details of a particular security domain
foundation componentsget details of a particular 617
sub audience type foundation componentsget the details of a particular
get details of a particular sub audience type 354 security role
foundation componentsget details of a social get the details of a particular security role 608
resource foundation componentsget the details of a particular
get details of a social resource 652 smartlist
foundation componentsget discussion detail get the details of a particular smartlist 623
get discussion detail 705 foundation componentsget the details of a particular
foundation componentsget group details state
get group details 697 get the details of a particular state 398
foundation componentsget like details of a resource foundation componentsget the details of a particular
get like details of a resource 692 timezone
foundation componentsget list value by list id and get the details of a particular timezone 649
list value name foundation componentsget the details of an
get list value by list id and list value name 468 organization
foundation componentsget locales get the details of an organization 496
get locales 394 foundation componentsget the details of the job
foundation componentsget report definition type
get report definition 2042 get the details of the job type 451
foundation componentsget report list foundation componentsget the meta details of an
get report list 2045 organization
foundation componentsget social interactions of a get the meta details of an organization 499
user foundation componentsget the meta details of
get social interactions of a user 694 competencies
foundation componentsget the details of a particular get the meta details of competencies 364
audience type foundation componentsget the meta details of
get the details of a particular audience type 339 facilities
foundation componentsget the details of a particular get the meta details of facilities 427
competency foundation componentsget the meta details of
get the details of a particular competency 362 positions
foundation componentsget the details of a particular get the meta details of positions 552
country foundation componentsget the meta details of the
get the details of a particular country 381 available roles
foundation componentsget the details of a particular get the meta details of the available roles 581
currency foundation componentsget the meta details of the
get the details of a particular currency 408 country
foundation componentsget the details of a particular get the meta details of the country 382
exchange rate foundation componentsget the meta details of the
get the details of a particular exchange rate 415 state
get the meta details of the state 398
REST API Reference | Index | 2157

foundation componentsget the person's matching foundation componentsupdate file posted on saba
criteria of a particular smartlist activity stream.
get the person's matching criteria of a particular update file posted on saba activity stream. 685
smartlist 625 foundation componentsupdate idea posted on saba
foundation componentsget the persons assigned activity stream.
to the audience type update idea posted on saba activity stream. 678
get the persons assigned to the audience type foundation componentsupdate issue posted on saba
344 activity stream.
foundation componentsget the security domain's update issue posted on saba activity stream.
metadata 680
get the security domain's metadata 610 foundation componentsupdate link posted on saba
foundation componentsget the security role's activity stream.
metadata update link posted on saba activity stream. 683
get the security role's metadata 603 foundation componentsupdate locale-specific
foundation componentsget the timezone's metadata details of blended class
get the timezone's metadata 645 update locale-specific details of blended class
foundation componentsglobal search 1018
global search 312 foundation componentsupdate locale-specific
foundation componentslike or dislike a resource details of certification
like or dislike a resource 689 update locale-specific details of certification
foundation componentsmanage group membership 1069
manage group membership 704 foundation componentsupdate locale-specific
foundation componentspost a comment on a details of competency
resource update locale-specific details of competency
post a comment on a resource 693 377
foundation componentspost file to saba activity foundation componentsupdate locale-specific
stream. details of country
post file to saba activity stream. 675 update locale-specific details of country 386
foundation componentspost idea to saba activity foundation componentsupdate locale-specific
stream. details of course
post idea to saba activity stream. 669 update locale-specific details of course 1136
foundation componentspost issue to saba activity foundation componentsupdate locale-specific
stream. details of curriculum
post issue to saba activity stream. 671 update locale-specific details of curriculum 1216
foundation componentspost link to saba activity foundation componentsupdate locale-specific
stream. details of ilt class
post link to saba activity stream. 673 update locale-specific details of ilt class 1019
foundation componentsreport async execution foundation componentsupdate locale-specific
status details of job family
report async execution status 2047 update locale-specific details of job family 466
foundation componentssearch all groups (admin foundation componentsupdate locale-specific
mode) details of job requisition
search all groups (admin mode) 700 update locale-specific details of job requisition
foundation componentssearch list values 2020
search list values 469 foundation componentsupdate locale-specific
foundation componentssearch my groups details of jobtype
search my groups 698 update locale-specific details of jobtype 457
foundation componentssearch my groups (post foundation componentsupdate locale-specific
based) details of role
search my groups (post based) 702 update locale-specific details of role 594
foundation componentsstart a new discussion foundation componentsupdate locale-specific
start a new discussion 706 details of smartlist
foundation componentsunlike a resource update locale-specific details of smartlist 643
unlike a resource 690 foundation componentsupdate locale-specific
foundation componentsupdate an attachment details of state
update an attachment 328 update locale-specific details of state 403
foundation componentsupdate details of a sub foundation componentsupdate locale-specific
audience type details of subscription
update details of a sub audience type 357 update locale-specific details of subscription
foundation componentsupdate discussion detail 1656
update discussion detail 707
REST API Reference | Index | 2158

foundation componentsupdate locale-specific G


details of virtual class
update locale-specific details of virtual class get a cif certificate 2121
1021 get a list of sites 2121
foundation componentsupdate locale-specific get a particular list value 467
details of wbt offering get active survey detail 1879
update locale-specific details of wbt offering get active survey info 1888
1022 get active survey question details 1890
foundation componentsupdate locale-specific get actual content of an attachment 320
details training unit get admin heatmap data 1875
update locale-specific details training unit 1800 get all active job-postings 2030
foundation componentsupdate position incumbent get all assessments of competencies for a person
of a person 1905
update position incumbent of a person 576 get all attachments for an object 331
foundation componentsupdate the details of a get all audiencetypes 332
competency get all categories 1153
update the details of a competency 372 get all checklist 1280
foundation componentsupdate the details of a get all competencies 359
country get all content folder 2115
update the details of a country 385 get all content inventory 2092
foundation componentsupdate the details of a get all countries 380
exchange rate get all courses 1071
update the details of a exchange rate 422 get all currencies 407
foundation componentsupdate the details of a get all delivery mode 1228
facility get all details of policies on course, delivery mode
update the details of a facility 439 or offering 1174
foundation componentsupdate the details of a job get all enrollments 1289
family get all exchange rates 414
update the details of a job family 464 get all external co-presenters of vc offering 1623
foundation componentsupdate the details of a job get all facilities 424
type get all fields of study 1433
update the details of a job type 455 get all goals for a person 1824
foundation componentsupdate the details of a get all held checklist 1251
language get all job requisitions 1961
update the details of a language 393 get all jobfamilies 459
foundation componentsupdate the details of a get all jobtypes 442
particular location get all languages 388
update the details of a particular location 488 get all locations 474
foundation componentsupdate the details of a get all offerings 777
position get all orders 1521
update the details of a position 572 get all organizations 491
foundation componentsupdate the details of a role get all packages 1565
update the details of a role 591 get all persons(internal/external) 104
foundation componentsupdate the details of a get all positions 563
smartlist get all purchase orders 1579
update the details of a smartlist 635 get all review cycles 1911
foundation componentsupdate the details of a state get all roles 579
update the details of a state 401 get all scheduled data import jobs 2080
foundation componentsupdate the details of an get all scheduled data import jobs - post based 2082
audience type get all security domains 615
update the details of an audience type 342 get all security roles 606
foundation componentsupdate the details of an get all session templates 1703
external organization get all states 396
update the details of an external organization get all sub audience types 352
542 get all subscriptions 1640
foundation componentsupdate the details of an get all the competencies for a person 1901
internal organization get all the course activities of the logged in user 1503
update the details of an internal organization get all the offerings of the instructor 982
526 get all the records of a component 725
foundation componentsupdate value of list get all the smartlists 618
update value of list 471 get all the timezones 647
get all training unit agreements 1802
REST API Reference | Index | 2159

get all training units 1774 get the details of a particular checklist 1274
get all transcripts 1714 get the details of a particular competency 362
get attachment resource 329 get the details of a particular competency of a
get certifications/enrollments/transcripts for a particular person 1904
person 106 get the details of a particular component 726
get chart question data 1872 get the details of a particular content folder, root
get comment details of a resource 691 folders, or a list of all the subfolders 2117
get completion and lesson details of the learning get the details of a particular country 381
event 1450 get the details of a particular course 1079
get content's details along with the subscriptions, get the details of a particular course activity 1502
tags, categories, languages 2096 get the details of a particular currency 408
get content's details along with the subscriptions, get the details of a particular delivery mode 1229
tags, categories, languages (using post) get the details of a particular discount entry for the
2099 training unit 1794
get details of (specific) policies on course, delivery get the details of a particular exchange rate 415
mode or offering 1176 get the details of a particular facility 426
get details of a particular job-posting 2031 get the details of a particular field of study 1438
get details of a particular language 391 get the details of a particular goal 1827
get details of a particular sub audience type 354 get the details of a particular held checklist 1247
get details of a scheduled data import job 2085 get the details of a particular job family 462
get details of a social resource 652 get the details of a particular job requisition 1962
get details of price list entry on course, delivery get the details of a particular language with search
mode, offering, package, training unit 1595 fields 391
get details of the desired component for a person. get the details of a particular learning subscription
112 1686
get discussion detail 705 get the details of a particular location 483
get existing registration details or auto enroll user get the details of a particular package 1566
and get registration details 1336 get the details of a particular position 564
get group details 697 get the details of a particular pricelist entry for the
get held certification/curriculum activity details 1448 training unit 1796
get held certification/curriculum details along with get the details of a particular purchase order 1583
all the activities 1456 get the details of a particular review 1913
get image url of an object 1821 get the details of a particular review cycle 1914
get like details of a resource 692 get the details of a particular role 585
get list value by list id and list value name 468 get the details of a particular security domain 617
get locales 394 get the details of a particular security role 608
get order item billing details 1553 get the details of a particular smartlist 623
get person's followers 131 get the details of a particular state 398
get person's followings 132 get the details of a particular subscription 1637
get person's resource details 129 get the details of a particular timezone 649
get profile pic 129 get the details of a particular training unit 1788
get profile pic url 128 get the details of a particular training unit
get pulse dashboard details 1864 agreement 1803
get report definition 2042 get the details of a sessiontemplate 1707
get report list 2045 get the details of an enrollment 1319
get resource details 1610 get the details of an organization 496
get resource for a given offering 1613 get the details of the job type 451
get session for a given offering 1615 get the details of transcript 1734, 1735
get social interactions of a user 694 get the evaluation details of an enrollment 1335
get the audience type / audience sub types assigned get the extended details of a particular review 1916
to a person 126, 127 get the extended details of a particular review cycle
get the content's details along with the metadata 1921
2094 get the initial system values for contenttypes,
get the details of a certification 1024 contentformats, contentservers 2122
get the details of a class 815 get the job / security roles of a particular person 121
get the details of a curriculum 1182 get the list of data extract jobs 2070
get the details of a particular appointment 2063 get the meta details of a blended class 787, 801
get the details of a particular attendance 714 get the meta details of a component 731, 1943
get the details of a particular audience type 339 get the meta details of a review-cycle 1927
get the details of a particular category 1154 get the meta details of a virtual class 865
get the details of a particular category along with get the meta details of a wbt class 879
its hierarchy (sub-categories) 1156 get the meta details of an organization 499
REST API Reference | Index | 2160

get the meta details of attendance 712 learning componentsadd or update the custom
get the meta details of checklist 1258 fields of an enrollment
get the meta details of competencies 364 add or update the custom fields of an enrollment
get the meta details of course 1082 1426
get the meta details of delivery mode 1218 learning componentsadd subscription price to a
get the meta details of facilities 427 subscription
get the meta details of field of study 1429 add subscription price to a subscription 1654
get the meta details of held checklist 1239 learning componentsadd tags to category
get the meta details of job requisition 1978 add tags to category 1172
get the meta details of positions 552 learning componentsapprove / reject an order
get the meta details of sessiontemplate 1708 invoice payment
get the meta details of the available roles 581 approve / reject an order invoice payment 1527
get the meta details of the country 382 learning componentsapprove / reject an order item
get the meta details of the course activity 1500 approve / reject an order item 1527
get the meta details of the purchase order 1585 learning componentsassign a course or a recurring
get the meta details of the state 398 course to a person
get the meta details of the subscription 1625 assign a course or a recurring course to a
get the meta details of the training unit 1780 person 1510
get the meta details of the transcript 1746 learning componentsassign a resource to an
get the meta details of training unit agreement 1804 offering
get the metadata of specific people attributes 115 assign a resource to an offering 1619
get the order details of a particular order 1536 learning componentsassign certification/curriculum
get the order details of a particular subscription to a person
order 1660 assign certification/curriculum to a person 1494
get the person's matching criteria of a particular learning componentsassign external co-presenters
smartlist 625 to vc offering
get the persons assigned to the audience type 344 assign external co-presenters to vc offering 1624
get the purpose details 1613 learning componentsauto-enroll learners into
get the required profile details of a particular person courses inside the certification/curriculum
117 auto-enroll learners into courses inside the
get the security domain's metadata 610 certification/curriculum 1491
get the security role's metadata 603 learning componentscancel all enrollments of a class
get the timezone's metadata 645 cancel all enrollments of a class 1006
get version details of the product 2120 learning componentscancel all enrollments of a
global search 312 learner
grant certification/curriculum to a learner 1495 cancel all enrollments of a learner 303
learning componentscancel an enrollment
cancel an enrollment 1409
L learning componentscancel an order
learning componentsadd audience type to a cancel an order 1554
subscription learning componentschange learner of a particular
add audience type to a subscription 1650 learning subscription
learning componentsadd category to course change learner of a particular learning
add categories to a course 1159 subscription 1689
learning componentsadd category to course (lookup learning componentschange status of held
based) certification/curriculum
add categories to a course (lookup based) 1160 change status of held certification/curriculum
learning componentsadd cost limit price to a 1513
subscription learning componentscreate a new blended class
add cost limit price to a subscription 1655 create a new blended class 892
learning componentsadd deliverytype/subscription learning componentscreate a new category
item to a subscription create a new category 1161
add deliverytype/subscription item to a learning componentscreate a new certification
subscription 1652 create a new certification 1049
learning componentsadd drop policy to class learning componentscreate a new course
add drop policy to class 1016 create a new course 1117
learning componentsadd learning assignments to learning componentscreate a new curriculum
a class create a new curriculum 1201
add learning assignments to a class 990 learning componentscreate a new delivery mode
create a new delivery mode 1233
REST API Reference | Index | 2161

learning componentscreate a new discount entry learning componentsdelete a path, module or


for the training unit intervention
create a new discount entry for the training unit delete a path, module or intervention 776
1795 learning componentsdelete a sessiontemplate
learning componentscreate a new enrollment delete a sessiontemplate 1713
create a new enrollment 1342 learning componentsdelete a transcript
learning componentscreate a new ilt class delete a transcript 1773
create a new ilt class 902 learning componentsdelete drop policy from class
learning componentscreate a new learning module delete drop policy from class 1017
create a new learning module 1516 learning componentsdelete external co-presenters
learning componentscreate a new package from vc offering
create a new package 1569 delete external co-presenters from vc offering
learning componentscreate a new package order 1625
create a new package order 1410 learning componentsdelete package
learning componentscreate a new path delete package 1578
create a new path 1555 learning componentsdelete the details of a
learning componentscreate a new price list entry particular purchase order
for a learning item delete the details of a particular purchase order
create a new price list entry for a learning item 1595
1599 learning componentsenroll for other user/self
learning componentscreate a new pricelist entry enroll for other user/self 1359
for the training unit learning componentsenroll for other user/self with
create a new pricelist entry for the training unit payment
1797 enroll for other user/self with payment 1375
learning componentscreate a new purchase order learning componentsfind evaluations for
create a new purchase order 1590 registrations
learning componentscreate a new session template find evaluations for registrations 1316
create a new session template 1711 learning componentsfind extended details of classes
learning componentscreate a new subscription find extended details of classes 853
create a new subscription 1644 learning componentsfind extended details of classes
learning componentscreate a new training unit (using post - range based search)
create a new training unit 1789 find extended details of classes (using post -
learning componentscreate a new training unit range based search) 859
agreement learning componentsfind learning assignments for
create a new training unit agreement 1811 registrations
learning componentscreate a new transcript find learning assignments for registrations 1313
create a new transcript 1755 learning componentsfind the calendar events
learning componentscreate a new virtual class find the calendar events 2060
create a new virtual class 916 learning componentsfind the details of checklist
learning componentscreate a new wbt class (using post - range based search)
create a new wbt class 936 find the details of checklist (using post - range
learning componentscreate subscription order based search) 1282
create a subscription order 1675 learning componentsfind the details of delivery
learning componentsdelete a particular discount mode (using post - range based search)
entry for the training unit find the details of delivery mode (using post -
delete a particular discount entry for the training range based search) 1232
unit 1796 learning componentsfind the details of field of study
learning componentsdelete a particular module (using post - range based search)
delete a particular module 1520 find the details of field of study (using post -
learning componentsdelete a particular path range based search) 1443
delete a particular path 1560 learning componentsfind the details of held checklist
learning componentsdelete a particular price list (using post - range based search)
entry find the details of held checklist (using post -
delete a particular pricelist entry 1601 range based search) 1255
learning componentsdelete a particular pricelist learning componentsfind the details of session
entry for the training unit template (using post - range based search)
delete a particular pricelist entry for the training find the details of session template (using post
unit 1799 - range based search) 1697
learning componentsdelete a particular training unit learning componentsfind the details of the
delete a particular training unit 1793 categories
find the details of the categories 1169
REST API Reference | Index | 2162

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)
1031, 1186 find the details of the recurring course
learning componentsfind the details of the completions (using post - range based
certification/curriculum (using post - range search) 1145
based search) learning componentsfind the details of the session
find the details of the certification/curriculum templates
(using post - range based search) 1041, find the details of the session templates 1691
1194 learning componentsfind the details of the
learning componentsfind the details of the checklist subscription
find the details of the checklist 1281 find the details of the subscription 1641
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) 1075 find the details of the subscription (using post -
learning componentsfind the details of the course range based search) 1649
activities based on criteria learning componentsfind the details of the
find the details of the course activities based on subscription orders
criteria 1505 find the details of the subscription orders 1658
learning componentsfind the details of the courses learning componentsfind the details of the training
find the details of the courses 1072 unit
learning componentsfind the details of the delivery find the details of the training unit 1776
mode learning componentsfind the details of the training
find the details of the delivery mode 1231 unit (using post - range based search)
learning componentsfind the details of the find the details of the training unit (using post -
enrollments range based search) 1778
find the details of the enrollments 1290 learning componentsfind the details of the training
learning componentsfind the details of the fields of unit agreement
study find the details of the training unit agreement
find the details of the fields of study 1439 1810
learning componentsfind the details of the held learning componentsfind the details of the
checklist transcripts
find the details of the held checklist 1253 find the details of the transcripts 1715
learning componentsfind the details of the offerings learning componentsfind the details of the
find the details of the offerings 779 transcripts (using post - range based
learning componentsfind the details of the orders search)
find the details of the orders 1522 find the details of the transcripts (using post -
learning componentsfind the details of the packages range based search) 1726
find the details of the packages 1560 learning componentsfind the transcripts that have
learning componentsfind the details of the positions changed over a given period of time
(using post - range based search) find the transcripts that have changed over a
find the details of the positions (using post - given period of time 1724
range based search) 561 learning componentsget all categories
learning componentsfind the details of the purchase get all categories 1153
order learning componentsget all checklist
find the details of the purchase order 1580 get all checklist 1280
learning componentsfind the details of the purchase learning componentsget all courses
order (using post - range based search) get all courses 1071
find the details of the purchase order (using post learning componentsget all delivery mode
- range based search) 1582 get all delivery mode 1228
learning componentsfind the details of the recurring learning componentsget all details of policies on
course activities based on criteria course, delivery mode or offering
find the details of the recurring course activities get all details of policies on course, delivery
based on criteria 1506 mode or offering 1174
learning componentsfind the details of the recurring learning componentsget all enrollments
course completions get all enrollments 1289
find the details of the recurring course learning componentsget all external co-presenters
completions 1138 of vc offering
get all external co-presenters of vc offering 1623
learning componentsget all fields of study
get all fields of study 1433
REST API Reference | Index | 2163

learning componentsget all held checklist learning componentsget held


get all held checklist 1251 certification/curriculum details along with
learning componentsget all offerings all the activities
get all offerings 777 get held certification/curriculum details along
learning componentsget all orders with all the activities 1456
get all orders 1521 learning componentsget image url of an object
learning componentsget all packages get image url of an object 1821
get all packages 1565 learning componentsget order item billing details
learning componentsget all purchase orders get order item billing details 1553
get all purchase orders 1579 learning componentsget resource details
learning componentsget all session templates get resource details 1610
get all session templates 1703 learning componentsget resource for a given
learning componentsget all subscriptions offering
get all subscriptions 1640 get resource for a given offering 1613
learning componentsget all the competencies for a learning componentsget session for a given offering
person get session for a given offering 1615
get all the competencies for a person 1901 learning componentsget the details of a certification
learning componentsget all the course activities of get the details of a certification 1024
the logged in user learning componentsget the details of a class
get all the course activities of the logged in user get the details of a class 815
1503 learning componentsget the details of a curriculum
learning componentsget all the offerings of the get the details of a curriculum 1182
instructor learning componentsget the details of a particular
get all the offerings of the instructor 982 attendance
learning componentsget all the records of a get the details of a particular attendance 714
component learning componentsget the details of a particular
get all the records of a component 725 category
learning componentsget all training unit agreements get the details of a particular category 1154
get all training unit agreements 1802 learning componentsget the details of a particular
learning componentsget all training units category along with its hierarchy
get all training units 1774 (sub-categories)
learning componentsget all transcripts get the details of a particular category along
get all transcripts 1714 with its hierarchy (sub-categories) 1156
learning componentsget completion and lesson learning componentsget the details of a particular
details of the learning event checklist
get completion and lesson details of the learning get the details of a particular checklist 1274
event 1450 learning componentsget the details of a particular
learning componentsget details of (specific) policies competency of a particular person
on course, delivery mode or offering get the details of a particular competency of a
get details of (specific) policies on course, particular person 1904
delivery mode or offering 1176 learning componentsget the details of a particular
learning componentsget details of policies on component
course, delivery mode or offering get the details of a particular component 726
get details of policies on course, delivery mode learning componentsget the details of a particular
or offering 1177 course
learning componentsget details of price list entry get the details of a particular course 1079
on course, delivery mode, offering, package, learning componentsget the details of a particular
training unit course activity
get details of price list entry on course, delivery get the details of a particular course activity
mode, offering, package, training unit 1502
1595 learning componentsget the details of a particular
learning componentsget existing registration details delivery mode
or auto enroll user and get registration get the details of a particular delivery mode 1229
details learning componentsget the details of a particular
get existing registration details or auto enroll discount entry for the training unit
user and get registration details 1336 get the details of a particular discount entry for
learning componentsget held the training unit 1794
certification/curriculum activity details learning componentsget the details of a particular
get held certification/curriculum activity details field of study
1448 get the details of a particular field of study 1438
REST API Reference | Index | 2164

learning componentsget the details of a particular learning componentsget the meta details of field of
held checklist study
get the details of a particular held checklist 1247 get the meta details of field of study 1429
learning componentsget the details of a particular learning componentsget the meta details of held
learning subscription checklist
get the details of a particular learning get the meta details of held checklist 1239
subscription 1686 learning componentsget the meta details of
learning componentsget the details of a particular sessiontemplate
package get the meta details of sessiontemplate 1708
get the details of a particular package 1566 learning componentsget the meta details of the
learning componentsget the details of a particular course activity
pricelist entry for the training unit get the meta details of the course activity 1500
get the details of a particular pricelist entry for learning componentsget the meta details of the
the training unit 1796 purchase order
learning componentsget the details of a particular get the meta details of the purchase order 1585
purchase order learning componentsget the meta details of the
get the details of a particular purchase order subscription
1583 get the meta details of the subscription 1625
learning componentsget the details of a particular learning componentsget the meta details of the
subscription training unit
get the details of a particular subscription 1637 get the meta details of the training unit 1780
learning componentsget the details of a particular learning componentsget the meta details of the
training unit transcript
get the details of a particular training unit 1788 get the meta details of the transcript 1746
learning componentsget the details of a particular learning componentsget the meta details of training
training unit agreement unit agreement
get the details of a particular training unit get the meta details of training unit agreement
agreement 1803 1804
learning componentsget the details of a learning componentsget the order details of a
sessiontemplate particular order
get the details of a sessiontemplate 1707 get the order details of a particular order 1536
learning componentsget the details of an enrollment learning componentsget the order details of a
get the details of an enrollment 1319 particular subscription order
learning componentsget the details of transcript get the order details of a particular subscription
get the details of transcript 1734, 1735 order 1660
learning componentsget the evaluation details of learning componentsget the purpose details
an enrollment get the purpose details 1613
get the evaluation details of an enrollment 1335 learning componentsgrant certification/curriculum
learning componentsget the meta details of a to a learner
blended class grant certification/curriculum to a learner 1495
get the meta details of a blended class 787, 801 learning componentsmark a task complete
learning componentsget the meta details of a mark a task complete 1427
component learning componentsmark an enrollment complete
get the meta details of a component 731 mark an enrollment complete 1408
learning componentsget the meta details of a virtual learning componentsmark ateendance for a learner
class mark ateendance for a learner 715
get the meta details of a virtual class 865 learning componentsmark class as
learning componentsget the meta details of a wbt delivered/cancelled
class mark class as delivered/cancelled 995
get the meta details of a wbt class 879 learning componentsmark class registration as
learning componentsget the meta details of no_show/walk_in
attendance mark class registration as no_show/walk_in 1015
get the meta details of attendance 712 learning componentsmark order item as billed
learning componentsget the meta details of mark order item as billed 1552
checklist learning componentspublish learning assignments
get the meta details of checklist 1258 of a class
learning componentsget the meta details of course publish learning assignments of a class 993
get the meta details of course 1082 learning componentsremove a category
learning componentsget the meta details of delivery remove a category 1158
mode
get the meta details of delivery mode 1218
REST API Reference | Index | 2165

learning componentsremove a course or a recurring learning componentssearch certifications/curricula


course from a learner of the logged in user
remove a course or a recurring course from a search certifications/curricula of the logged in
learner 1512 user 1482
learning componentsremove an existing assigned learning componentssearch details of an attendance
resource search details of an attendance 719
remove an existing assigned resource 1622 learning componentssearch details of an attendance
learning componentsremove audience type from a (using post - range based search)
subscription search details of an attendance (using post -
remove audience type from a subscription 1651 range based search) 722
learning componentsremove category from a learning componentssearch enrollments based on
course given criteria
remove category from a course 1161 search enrollments based on given criteria 1293,
learning componentsremove delivery type / 1301
subscription item from a subscription learning componentssearch price list entry by
remove delivery type / subscription item from criteria
a subscription 1653 search price list entry by criteria 1596
learning componentsremove subscription price / learning componentssearch price list entry by
cost limit price from a subscription criteria post based search
remove subscription price / cost limit price from search price list entry by criteria post based
a subscription 1656 search 1598
learning componentsremove tags from category learning componentssearch purpose list
remove tags from category 1173 search purpose list 1612
learning componentsremove the learning componentssearch resource based on type
certification/curriculum activity of a learner search resource based on type 1602
remove the certification/curriculum activity of learning componentssearch resource based on type
a learner 1499 and criteria
learning componentsretrieve all learning search resource based on type and criteria 1606
assignments of a class learning componentssearch subscription order - all
retrieves all learning assignments of an class (order history flow)
988 search subscription order - all (orderhistory
learning componentsretrieve all sessions of an flow) 1669
offering learning componentssearch subscription order -
retrieve all sessions of an offering 1006 with search criteria
learning componentsretrieve details of an individual search subscription order - with search criteria
session. 1670
retrieve details of an individual session. 1616 learning componentssearch subscription order -
learning componentsretrieve the assignment details with search criteria (order history flow)
retrieve the assignment details 1617 search subscription order - with search criteria
learning componentssearch all course activities (orderhistory flow) 1673
based on given criteria (using post - range learning componentsupdate a blended class
based search) update a blended class 944
search all course activities based on given learning componentsupdate a ilt class
criteria (using post - range based update a ilt class 950
search) 1508 learning componentsupdate a transcript
learning componentssearch all subscription orders update a transcript 1764
search all subscription orders 1668 learning componentsupdate a virtual class
learning componentssearch all the update a virtual class 961
certifications/curricula assigned to a learner learning componentsupdate a wbt class
based on the status, timestamp update a wbt class 977
search all the certifications/curricula assigned learning componentsupdate an existing resource
to a learner based on the status, assignment
timestamp 1461 update an existing resource assignment 1621
learning componentssearch all the learning componentsupdate attendance in bulk
certifications/curricula assigned to a learner update attendance in bulk 717
based on the status, timestamp (using post learning componentsupdate category
- range based search) update category 1165
search all the certifications/curricula assigned learning componentsupdate learning assignments
to a learner based on the status, of a class
timestamp (using post - range based update learning assignments of a class 991
search) 1477 learning componentsupdate order's custom fields
update order's custom fields 1528
REST API Reference | Index | 2166

learning componentsupdate price list entry for a M


learning item
update price list entry for a learning item 1600 manage group membership 704
learning componentsupdate subscription order's mark a task complete 1427
custom fields mark an enrollment complete 1408
update subscription order's custom fields 1686 mark ateendance for a learner 715
learning componentsupdate the custom fields of a mark class as delivered/cancelled 995
transcript mark class registration as no_show/walk_in 1015
update the custom fields of a transcript 1767 mark order item as billed 1552
learning componentsupdate the details of a mark the currency active/inactive 287
certification merge person's profile 288
update the details of a certification 1061 monitor scheduled job 2075
learning componentsupdate the details of a course monitor scheduled job - post based 2077
update the details of a course 1127
learning componentsupdate the details of a course
activity
P
update the details of a course activity 1512 people componentsadd currency to person
learning componentsupdate the details of a add currency to person 171
curriculum people componentsadd custom details for a person
update the details of a curriculum 1209 add custom details for a person 144
learning componentsupdate the details of a delivery people componentsadd education details for a
mode person
update the details of a delivery mode 1236 add education details for a person 141
learning componentsupdate the details of a learning people componentsadd flightrisk details for a person
module add flightrisk details for a person 146
update the details of a learning module 1518 people componentsadd grid custom section details
learning componentsupdate the details of a package for a person
update the details of a package 1574 add grid custom section details for a person 165
learning componentsupdate the details of a people componentsadd secondary address for a
particular pricelist entry for the training unit person
update the details of a particular pricelist entry add secondary address for a person 170
for the training unit 1799 people componentsadd the career interests details
learning componentsupdate the details of a path of a person
update the details of a path 1557 add the career interests details of a person 151
learning componentsupdate the details of a people componentsadd the external certifications
purchase order details of a person
update the details of a purchase order 1592 add the external certifications details of a
learning componentsupdate the details of a session person 152
template people componentsadd the external work history
update the details of a session template 1712 details of a person
learning componentsupdate the details of a add the external work history details of a person
subscription 158
update the details of a subscription 1646 people componentsadd the im profile details of a
learning componentsupdate the details of a training person
unit add the im profile details of a person 155
update the details of a training unit 1791 people componentsadd the internal work history
learning componentsupdate the details of a training details of a person
unit agreement add the internal work history details of a person
update the details of a training unit agreement 156
1814 people componentsadd the mobility details of a
learning componentsupdate the expiration date of person
the held certification add the mobility details of a person 160
update the expiration date of the held people componentsadd the optional job roles of a
certification 1498 person
learning componentsupdate the target days/date add the optional job roles of a person 165
for the assigned certification/curriculum people componentsadd the potential rating details
activity of a person
update the target days/date for the assigned add the potential rating details of a person 161
certification/curriculum activity 1497 people componentsadd the required job roles of a
learning componentsupload image of an object person
upload image of an object 1816 add the required job roles of a person 164
like or dislike a resource 689
REST API Reference | Index | 2167

people componentsadd the security roles of a people componentsfollow persons


person follow persons 173
add the security roles of a person 162 people componentsget all persons(internal/external)
people componentsadds language details for a get all persons(internal/external) 104
person people componentsget
adds language details for a person 147 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 106
149 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 150 person. 112
people componentsassess person's competency people componentsget person's followers
assess person's competency 290 get person's followers 131
people componentsassign audience type / sub people componentsget person's followings
audience type to a person get person's followings 132
assign audience type / sub audience type to a people componentsget person's resource details
person 167 get person's resource details 129
people componentsassign person as a resource people componentsget profile pic
assign person as a resource 168 get profile pic 129
people componentsassign position for a person people componentsget profile pic url
assign position for a person 577 get profile pic url 128
people componentsdelete a person's profile pic people componentsget the audience type / audience
delete a person's profile pic 305 sub types assigned to a person
people componentsdelete a required job role from get the audience type / audience sub types
a person assigned to a person 126, 127
delete a required job role from a person 296 people componentsget the job / security roles of a
people componentsdelete a security role from a particular person
person get the job / security roles of a particular person
delete a security role from a person 296 121
people componentsdelete a specific component people componentsget the metadata of specific
from a person people attributes
delete a specific component from a person 294 get the metadata of specific people attributes
people componentsdelete an audience type / 115
audience sub types assigned to a person people componentsget the required profile details
delete an audience type / audience sub types of a particular person
assigned to a person 298 get the required profile details of a particular
people componentsdelete an optional job role from person 117
a person people componentsmark the currency
delete an optional job role from a person 297 active/inactive
people componentsdelete peron's currency mark the currency active/inactive 287
delete person's currency 301 people componentsmerge person's profile
people componentsdelete person's currency based merge person's profile 288
on currency isocode lookup people componentspurge person's profile
delete person's currency based on currency purge person's profile 303
isocode lookup 302 people componentsremove/update the job / security
people componentsdelete person's internal work roles of a person
history details remove/update the job / security roles of a
delete person's internal work history details 301 person 282
people componentsdelete person's qualified learning people componentssearch profile information
information search profile information 133
delete person's qualified learning information people componentsstop following a person
299 stop following a person 304
people componentsdelete person's rate information people componentsupdate a person's custom details
delete person's rate information 299 update a person's custom details 195
people componentsdelete person's spoken language people componentsupdate a person's flightrisk
information details
delete person's spoken language information update a person's flightrisk details 193
300
people componentsfind profile information
find profile information 97
REST API Reference | Index | 2168

people componentsupdate a person's grid custom people componentsupdate the potential rating
section details details of a person
update a person's grid custom section details update the potential rating details of a person
278 269
people componentsupdate a person's grid custom people componentsupdate the retirement risk
section details (person lookup supported) details of a person
update a person's grid custom section details update the retirement risk details of a person
(person lookup supported) 279 270
people componentsupdate a person's profile pic people componentsupdate the saba meeting profile
update a person's profile pic 290 details of a person
people componentsupdate audience types / update the saba meeting profile details of a
audience sub types assigned to a person person 271
update audience types / audience sub types people componentsupdate the secondary address
assigned to a person 276 details of a person
people componentsupdate coreprofile details of a update the secondary address details of a
person person 273
update coreprofile details of a person 251 people componentsupdate the talent data of a
people componentsupdate languages details of a person
person update the talent data of a person 281
update languages details of a person 253 people componentsupdate the team details of a
people componentsupdate person's resource and person
rate details update the team details of a person 284
update person's resource and rate details 197 performance componentschange status of a goal
people componentsupdate the career interests change status of a goal 1852
details of a person performance componentscreate goal for self/team
update the career interests details of a person create goal for self/team 1834
254 performance componentscreate progress of a goal
people componentsupdate the custom section of a create progress of a goal 1851
person performance componentscreate pulse survey
update the custom section of a person 274, 275 create pulse survey 1897
people componentsupdate the education details of performance componentsfind all reviews
a person find all reviews 1906
update the education details of a person 256 performance componentsfind the details of the
people componentsupdate the external review cycles
certifications details of a person find the details of the review cycles 1908
update the external certifications details of a performance componentsfind the details of the
person 258 reviews
people componentsupdate the external work history find the details of the reviews 1910
details of a person performance componentsfind the details of the
update the external work history details of a reviews with post based search
person 264 find the details of the reviews with post based
people componentsupdate the im profile details of search 1952
a person performance componentsget active survey detail
update the im profile details of a person 260 get active survey detail 1879
people componentsupdate the interests details of performance componentsget active survey info
a person get active survey info 1888
update the interests details of a person 261 performance componentsget active survey question
people componentsupdate the internal work history details
details of a peson get active survey question details 1890
update the internal work history details of a performance componentsget admin heatmap data
peson 262 get admin heatmap data 1875
people componentsupdate the mobility details of a performance componentsget all assessments of
person competencies for a person
update the mobility details of a person 266 get all assessments of competencies for a
people componentsupdate the network info details person 1905
of a person performance componentsget all goals for a person
update the network info details of a person 267 get all goals for a person 1824
people componentsupdate the potential positions performance componentsget all review cycles
details of a person get all review cycles 1911
update the potential positions details of a person performance componentsget chart question data
268 get chart question data 1872
REST API Reference | Index | 2169

performance componentsget pulse dashboard post link to saba activity stream. 673
details publish content 2101
get pulse dashboard details 1864 publish learning assignments of a class 993
performance componentsget the details of a purge person's profile 303
particular goal
get the details of a particular goal 1827
performance componentsget the details of a
R
particular review recruiting componentscreate a new candidate
get the details of a particular review 1913 create a new candidate 2033
performance componentsget the details of a recruiting componentscreate a new job application
particular review cycle create a new job application 2022
get the details of a particular review cycle 1914 recruiting componentscreate a new job requisition
performance componentsget the extended details create a new job requisition 2006
of a particular review recruiting componentsfind the details of the job
get the extended details of a particular review requisition
1916 find the details of the job requisition 1956
performance componentsget the extended details recruiting componentsfind the details of the job
of a particular review cycle requisition (using post - range based search)
get the extended details of a particular review find the details of the job requisition (using post
cycle 1921 - range based search) 1958
performance componentsget the meta details of a recruiting componentsget all active job-postings
component get all active job-postings 2030
get the meta details of a component 1943 recruiting componentsget all job requisitions
performance componentsget the meta details of a get all job requisitions 1961
review-cycle recruiting componentsget details of a particular
get the meta details of a review-cycle 1927 job-posting
performance componentsupdate approver of goal. get details of a particular job-posting 2031
update approver of goal. 1854 recruiting componentsget the details of a particular
performance componentsupdate goal for self/team job requisition
update goal for self/team 1855 get the details of a particular job requisition 1962
platform componentsadd an IP range recruiting componentsget the meta details of job
add an IP range 2087 requisition
platform componentsdelete ip range get the meta details of job requisition 1978
delete ip range 2089 recruiting componentsupdate candidate
platform componentsget all scheduled data import update candidate 2036
jobs recruiting componentsupdate job application
get all scheduled data import jobs 2080 update job application 2026
platform componentsget all scheduled data import recruiting componentsupdate job requisition
jobs - post based update job requisition 2012
get all scheduled data import jobs - post based remove a category 1158
2082 remove a course or a recurring course from a
platform componentsget details of a scheduled data learner 1512
import job remove an existing assigned resource 1622
get details of a scheduled data import job 2085 remove audience type from a subscription 1651
platform componentsget the list of data extract remove category from a course 1161
jobs remove delivery type / subscription item from a
get the list of data extract jobs 2070 subscription 1653
platform componentsmonitor scheduled job remove subscription price / cost limit price from a
monitor scheduled job 2075 subscription 1656
platform componentsmonitor scheduled job - post remove tags from category 1173
based remove the certification/curriculum activity of a
monitor scheduled job - post based 2077 learner 1499
platform componentsretrieve added ips remove/update the job / security roles of a person
retrieve added ips 2088 282
platform componentsschedule data extract job report async execution status 2047
schedule data extract job 2071 report result 2127
platform componentstrigger a scheduled job restful web services
trigger a scheduled job 2086 common 307
post a comment on a resource 693 foundation 467
post file to saba activity stream. 675 result reporting 2132
post idea to saba activity stream. 669 retrieve added ips 2088
post issue to saba activity stream. 671 retrieve all learning assignments of a class 988
REST API Reference | Index | 2170

retrieve all sessions of an offering 1006 update a virtual class 961


retrieve details of an individual session. 1616 update a wbt class 977
retrieve the assignment details 1617 update an attachment 328
update an existing appointment 2066
update an existing resource assignment 1621
S update approver of goal. 1854
schedule data extract job 2071 update attendance in bulk 717
search all course activities based on given criteria update audience types / audience sub types
(using post - range based search) 1508 assigned to a person 276
search all groups (admin mode) 700 update candidate 2036
search all subscription orders 1668 update category 1165
search all the certifications/curricula assigned to a update content inventory 2109
learner based on the status, timestamp 1461 update coreprofile details of a person 251
search all the certifications/curricula assigned to a update details of a sub audience type 357
learner based on the status, timestamp update details of policies on course, delivery mode
(using post - range based search) 1477 or offering 1177
search certifications/curricula of the logged in user update discussion detail 707
1482 update file posted on saba activity stream. 685
search details of an attendance 719 update goal for self/team 1855
search details of an attendance (using post - range update idea posted on saba activity stream. 678
based search) 722 update issue posted on saba activity stream. 680
search enrollments based on given criteria 1293, 1301 update job application 2026
search list values 469 update job requisition 2012
search my groups 698 update languages details of a person 253
search my groups (post based) 702 update learning assignments of a class 991
search price list entry by criteria 1596 update link posted on saba activity stream. 683
search price list entry by criteria post based search update locale-specific details of blended class 1018
1598 update locale-specific details of certification 1069
search profile information 133 update locale-specific details of competency 377
search purpose list 1612 update locale-specific details of country 386
search resource based on type 1602 update locale-specific details of course 1136
search resource based on type and criteria 1606 update locale-specific details of curriculum 1216
search subscription order - all (order history flow) update locale-specific details of ilt class 1019
1669 update locale-specific details of job family 466
search subscription order - with search criteria 1670 update locale-specific details of job requisition 2020
search subscription order - with search criteria update locale-specific details of jobtype 457
(order history flow) 1673 update locale-specific details of role 594
start a new discussion 706 update locale-specific details of smartlist 643
stop following a person 304 update locale-specific details of state 403
update locale-specific details of subscription 1656
update locale-specific details of virtual class 1021
T update locale-specific details of wbt offering 1022
update locale-specific details training unit 1800
trigger a scheduled job 2086
update order's custom fields 1528
update person's resource and rate details 197
U update position incumbent of a person 576
update price list entry for a learning item 1600
unlike a resource 690 update subscription order's custom fields 1686
update a blended class 944 update the career interests details of a person 254
update a ilt class 950 update the custom fields of a transcript 1767
update a person's custom details 195 update the custom section of a person 274, 275
update a person's flightrisk details 193 update the details of a certification 1061
update a person's grid custom section details 278 update the details of a competency 372
update a person's grid custom section details update the details of a country 385
(person lookup supported) 279 update the details of a course 1127
update a person's profile pic 290 update the details of a course activity 1512
update a profile for given person id [external] 198 update the details of a curriculum 1209
update a profile for given person id [internal] 212 update the details of a delivery mode 1236
update a profile for given person name [external] update the details of a exchange rate 422
225 update the details of a facility 439
update a profile for given person name [internal] update the details of a job family 464
238 update the details of a job type 455
update a transcript 1764
REST API Reference | Index | 2171

update the details of a language 393 update the external work history details of a person
update the details of a learning module 1518 264
update the details of a package 1574 update the im profile details of a person 260
update the details of a particular location 488 update the interests details of a person 261
update the details of a particular pricelist entry for update the internal work history details of a peson
the training unit 1799 262
update the details of a path 1557 update the mobility details of a person 266
update the details of a position 572 update the network info details of a person 267
update the details of a purchase order 1592 update the potential positions details of a person
update the details of a role 591 268
update the details of a session template 1712 update the potential rating details of a person 269
update the details of a smartlist 635 update the retirement risk details of a person 270
update the details of a state 401 update the saba meeting profile details of a person
update the details of a subscription 1646 271
update the details of a training unit 1791 update the secondary address details of a person
update the details of a training unit agreement 1814 273
update the details of an audience type 342 update the talent data of a person 281
update the details of an external organization 542 update the target days/date for the assigned
update the details of an internal organization 526 certification/curriculum activity 1497
update the education details of a person 256 update the team details of a person 284
update the expiration date of the held certification update value of list 471
1498 upload image of an object 1816
update the external certifications details of a person
258
REST API Reference | Index | 2172

You might also like