WorkFlow RESTful API. Documentation

Size: px
Start display at page:

Download "WorkFlow RESTful API. Documentation"

Transcription

1 WorkFlow RESTful API Documentation

2 Contents 1. Introduction Authentication Entity Beans Complete and Simple Bean Setting Entity s child beans Searching entities Limiting attributes returned in search Returning errors with messages Date and Date Time Bean attributes Number and Decimal Bean attributes Reading Custom Field values Setting Custom Field values Custom Field formats Length options Entity Beans listing HTTP response codes APIs Listing Account Case Case Type Company Contact Custom Field Custom Table Department Message Project User CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

3 12. User Type Detailed WorkFlow API Account Case Case Type Company Contact Custom Field Custom Table Department Message Project User User Type Appendix A Countries Appendix B States Appendix C Custom Field Types Appendix D Error Codes Appendix E - WorkFlow API Overview Account Case Case Type Company Contact Custom Field Custom Table Department Message Project User User Type CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

4 1. Introduction CallidusCloud WorkFlow RESTful Service API (further referenced as WorkFlow API) is intended to allow third party applications to collaborate with WorkFlow. WorkFlow API enables its consumers to easily perform various operations over WorkFlow objects using standard HTTP methods: GET, POST, PUT and DELETE. HTTP methods are used in this way: 1) GET retrieve an entity 2) POST create a new entity 3) PUT update an entity 4) DELETE delete an entity For the call to be successfully completed user performing an API call must be authenticated. Note: In order to easily try out the examples from this document you can use Google Chrome s Postman Rest Client extension, Mozila Firefox s RESTClient add on or any other similar product. We recommend Google Chrome s extension Postman Rest Client which has a lot of options including call history, favourite calls, support for authorization, support for uploading files etc. 4 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

5 2. Authentication Each WorkFlow API request must be authenticated. Two request headers are required in reach request in order to authenticate the user performing an API call: 1) Authorization header WorkFlow API uses Basis Authentication mechanism with standard HTTP headers which means that no handshakes have to be done. User performing WorkFlow API call must be a WorkFlow user with admin rights. Username used for WorkFlow API authentication is user s login name and password is user s WS Token which can be found in Setup -> Users -> Users - > Edit specific user. The Authorization header is constructed as follows: 1. Username and WS Token are combined together using semicolon into a string "username:wstoken". 2. The resulting string is then encoded using Base64 encoding. 3. The authorization method and a space "Basic " is then put before the encoded string. Example: For user with login name jsmith and WSToken 0mr3ot99LYMvit77J9sf Authorization header will look like this: Authorization: Basic anntaxroojbtcjnvddk5tflndml0nzdkoxnm Java code example for creating Authorization header looks like this: String username = "jsmith"; String wstoken = "0mr3ot99LYMvit77J9sf"; String nametoken = username + ":" + wstoken; byte[] encodedbytes = Base64.encodeBase64(nameToken.getBytes()); String encoded = new String(encodedBytes); // anntaxroojbtcjnvddk5tflndml0nzdkoxnm String headervalue = "Basic " + encoded; String header = "Authorization: " + headervalue; System.out.println(header); // Authorization: Basic anntaxroojbtcjnvddk5tflndml0nzdkoxnm C# code is very similar and would look like this: byte [] bytestoencode = Encoding.UTF8.GetBytes("jsmith:0mr3ot99LYMvit77J9sf"); String encodedtext = Convert.ToBase64String(bytesToEncode); // anntaxroojbtcjnvddk5tflndml0nzdkoxnm 5 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

6 2) domain header Domain header will tell WorkFlow to which domain does the API call refer to. On example, domain header might look like this: domain: workflow_api_test If user performing API call cannot be identified 403 Forbidden status will be returned. 6 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

7 3. Entity Beans Each WorkFlow entity (case, account, contact, user etc.) has it s Bean representation which contains entity s attributes. Beans are used to transfer data between requestor and WorkFlow. Here is what you need to know about Entity Beans before starting to use WorkFlow API. 1. Complete and Simple Bean Each entity has it s complete and simple bean representation. Complete entity Bean is returned when that same entity is requested and simple Bean representation is used when the entity exists as a child entity of some other entity Bean. On example, Contact Bean has account attribute and when Contact is returned it contains all information about contact and simplified account field representation. Example of complete AccountBean: GET /accounts/account_b Response body: "billing_address": "address2": "Fake Street 456", "address3": "Third Street 100", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "Some Street 123", "zip": "12345", "custom_fields": [ "name": "Day Went Live", "system_id": "day_went_live", "type_name": "Date", "type_system_id": 3, "value": "10/01/13", "value_formatted": "01/10/13" "description": "This is Account B.", "employees": "500", 7 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

8 "fax": " ", "location": "San Francisco", "name": "Account B", "phone": " ", "shipping_address": "address2": "Fake Street 456", "address3": "Third Street 100", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "Some Street 123", "zip": "12345", "system_id": "account_b", "uri": " "web_site": " We can see that the complete AccountBean contains more than 10 attributes. Contact is requested via GET /contacts/jsmith_someaddress_com. Contact contains simple representation of AccountBean which only has three attribures (name, syste_id and uri). GET /contacts/jsmith_someaddress_com Response body: "account": "name": "Account B", "system_id": "account_b", "uri": " "active": true, "address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "cell_phone": " ", "custom_fields": [ "name": "Contact Role", "system_id": "contact_role", "type_name": "Checkbox", "type_system_id": 8, 8 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

9 "value": "Consultant", "value_formatted": "Consultant" "department": "", " ": "fax": " ", "first_name": "John", "home_phone": " ", "id": 1894, "job_title": "Developer", "middle_name": "", "name": "John Smith", "phone": " ", "system_id": "jsmith_someaddress_com", "uri": " 2. Setting Entity s child beans When an Entity is requested via GET method WorkFlow API returns complete entity with its child entities as simple beans. When a new Entity is created via POST method or updated via PUT method, entity s child bean is set by sending child s system id which is set as parents attribute. On example, contact has account attribute which is used do display data about account when certain contact is requested. On the other hand, when contact is created/updated we use contact s attribute account_system_id to set the account to contact. The other example is CaseBean which uses owner_system_id, contact_system_id, project_system_id and other similar Bean attributes to set case owner, contact, project etc. Example for setting account while creating a new contact: POST /contacts Request body: "account_system_id": "account_b", "active": true, "cell_phone": " ", "custom_fields": [ "systemid": "contact_role", "value": "consultant" "department": "", " ": "jsmith@someaddress.com", "first_name": "John", "home_phone": " ", "job_title": "Developer", "phone": " " 9 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

10 3. Searching entities Most resources have methods for performing a search based on set criteria. Search criteria is set through query parameters. Response which is returned contains ResultBean which has list of objects and a few other attributes: - total: number of entities that satisfy search criteria - page_size: number of entities which are going to returned in the search result. Maximum number of entities returned in one search request can be up to 100. If page_size attribute is not set than page_size is set to default value of 10 entities. - page: It represents page number which is going to be returned in the result bean. It is used for pagination in combination with page_size. On example, if case search GET /cases?assignee=john&page=1&page_size=10 finds more than 50 cases, attritubes page=1 and page_size=10 will tell WorkFlow API to return first ten cases. If there is a need for next 10 cases, second page (page=2) would be requested and the request would look like this: GET /cases?assignee=john&page=2&page_size=10. JSON example of department search: GET /departments?name=accounting&page=1&page_size=5 "completed_in": 89, "departments": [ "company": "name": "My Company Inc.", "system_id": "my_company_inc", "uri": " "gate_keeper": "first_name": "John", "login_name": "jsmith2", "system_id": "jsmith2", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "name": "Accounting", "system_id": "accounting", "uri": " "company": "name": "Other Company, Inc.", "system_id": "other_company_inc", "uri": " 10 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

11 "name": "Other Company Accounting", "system_id": "other_company_accounting", "uri": " "page": 1, "page_size": 5, "total": 2 4. Limiting attributes returned in search Search response contains a list of complete Bean objects. If there is a need to return a limited number of attributes then these attribute names are supposed to be send as query parameter with name mask. This parameter has the value of attribute names separated by space and it will tell WorkFlow API which attributes should it include inside the response. An example case search which returns all case attributes would look like this: GET /cases?assignee=jsmith tsmith&owner=tsmith&page=1&page_size=5 Response body would contain 5 cases that have jsmith and smith as assigness and in which tsmith is the owner. All these cases would have complete Bean representation (all case attributes would be returned). To return only case key, case name, assignees and status we form the request this way: GET /cases?assignee=jsmith tsmith&owner=tsmith&mask=case_key name assignees status&page=1&page_size=5 Search result will contain CaseBeans with 4 required fields. Response body: "cases": [ "assignees": [ "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-3", "name": "REST API - Case 3 - UPDATED", "status": "name": "Described", "system_id": "described", "assignees": [ 11 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

12 "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-7", "name": "Case 2", "status": "name": "Described", "system_id": "described" "completed_in": 397, "page": 1, "page_size": 5, "total": 2 5. Returning errors with messages If a specific WorkFlow REST API call fails, besides HTTP Status code API returns ErrorBean with two attributes: error_code and error_messages. Atribute error_code tells which exception type occured and error_messages provide a list of messages which describe the error with the specific details. Error codes returned by WorkFlow REST API are listed in Appendix D. This is an example of returned ErrorBean: "error_code": "LENGTH_GREATER_THAN_MAXIMUM", "error_messages": [ "Invalid custom Field Participate In Event value '[event_1, event_2, event_3]'. Must be less than or equal to 2." ] 12 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

13 This example contains multiple error messages inside error_messages list: "error_code": "CONSTRAINT_VIOLATIONS", "error_messages": [ "CustomField label is required.", "CustomField field type is required.", "CustomField system id is required.", "CustomField name is required." ] 6. Date and Date Time Bean attributes Bean attributes which have Date and Date Time type, display their value based on the date/time settings for the user who is preforming a WorkFlow REST API call. These settings for each user are located on WorkFlow s user side under Tools -> Settings -> Time and date Settings. For example: CaseBean has created_on attribute. User performing REST API call has the following settings: - Time Zone: Europe/Prague - Date Display Format: Time Display Format : 23:02:12 When some case is requested via GET /cases/task-sp-2, created on attribute has the following value: "created_on": " :36:44" 7. Number and Decimal Bean attributes Returned format of Number and Decimal Bean attributes vary on user s number format settings. User format can be changed on WorkFlow s user page under Tools -> Settings -> Information -> Number Format. AccountBean has employees attribute with Number type (Integer) which is used for setting the number of account s employees. Attribute employees is always set in this format For displaying the value in user s number format attribute employees_formatted is used. AccountBean has annual_revenue attribute with BigDecimal type which is used for setting the value of account s revenue. Attribute annual_revenue is always set in this format For displaying the value in user s number format attribute annual_revenue_formatted is used. 13 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

14 For example, if user has 1,234.5 number format, fields will look like in the example below: GET /accounts/some_company_account Response body: "annual_revenue": , "annual_revenue_formatted": 54,321.35,... "employees": 10523, "employees_formatted": 10,523, Reading Custom Field values This section explains the format of Custom Field values which WorkFlow API returns inside the response. The following entities have custom fields: case, user, project, account and contact. CustomFieldBean has two attributes which are used to show the value of custom field: - value shows the value in default system format. - value_formatted shows the value based on user s setting. Value and value_formatted vary based on Custom Field type: a) Date and Date time custom fields: Custom Fields which have Date or Date Time type, depend on user s date/time settings. These settings can be changed on Workflow s user page under Tools -> Settings -> Time and Date Settings. CustomFieldBean attributes look like this: - value - shows the value in default system format - MM/dd/yyyy HH:mm:ss (24h notation) - value_formatted - shows the value based on user s date/time settings. For example, user John Smith uses next date/time settings: - Time Zone: Europe/Prague - Date Display Format: Time Display Format : 23:02:12 14 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

15 Request GET /cases/task-sp-2/custom_fields/when_the_issue_resolved returns: "name": "When the issue resolved", "system_id": "when_the_issue_resolved", "type_name": "Date and Time", "type_system_id": 16, "value": "10/08/ :16:00", "value_formatted": " :16:00" b) Number, Currency and Decimal custom fields: These custom fields depend on user s number format. User format can be changed on WorkFlow s user page under Tools -> Settings -> Information -> Number Format. CustomFieldBean attributes look like this: - value - shows the value in US format. - value_formatted - shows the value based on user s number format settings. For example, user John Smith uses 1.234,56 number format settings. Request GET /cases/task-sp-2/custom_fields/price returns: "name": "Price", "system_id": "price", "type_name": "Currency", "type_system_id": 33, "value": " ", "value_formatted": " ,12" c) Custom Fields with predefined values (checkbox, radio button, pick list ) The following Custom Field Types have Predefined Values option: Autocomplete, Checkbox, Multiple Autocomplete, Multiple Choice Pick Up List, Pick List and Radio Button. - value - shows Predefined Value labels separaded by semicolon. - value_formatted - shows Predefined Value labels separaded by semicolon (the same as value). 15 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

16 For example, Checkbox custom field with name Available colors has six predefined vauels: Label Blue Red Green Yellow White Black SystemID bl rd grn ylw wht blk Case Task-sp-2 has blue, green and white colors selected. Request GET /cases/task-sp-2/custom_fields/available_colors returns: "name": "Available colors", "system_id": "available_colors", "type_name": "Checkbox", "type_system_id": 8, "value": "Blue; Green; White", "value_formatted": "Blue; Green; White" d) Project Autocomplete, User Autocomplete and Department Autocomplete custom fields CustomFieldBean s attribute "autocomplete_value" is used for returning the value of selected item combined with item s system_id in form: system_id:value. For example: "autocomplete_value": "sp:sales Project". Request GET /cases/task-sp-2/custom_fields/project_auto returns: "autocomplete_value": "sp:sales Project", "name": "project auto", "system_id": "project_auto", "type_name": "Project Autocomplete", "type_system_id": 13, "value": "Sales Project", "value_formatted": "Sales Project" 16 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

17 9. Setting Custom Field values Custom Field value is set through CustomFieldBean. These Custom Field Types are supported for setting values by WorkFlow API: Text Large Text Rich Text Editor URL Number Decimal Number Currenc y Percent Radio Button Pick List Autocomplete Checkbox Multiple Choice Pick Up List Multiple Autocomplete Date Date and Time Project Autocomplete Department Autocomplete User Autocomplete Two CustomFieldBean s attributes must be sent to WorkFlow API: system_id and value. Example request: POST /cases/task-sp-2/custom_fields Request body: "system_id": "business_phone", "value": " " 17 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

18 1. Custom Field formats This table shows the formats of certain Custom Fields values by Field Type expected by WorkFlow API: Custom Field Type Expected value format(s) Date 02/25/ Feb 25, 2013 Date and Time 04/28/13 14:45:16 04/28/ :45:16 Number Decimal Currency Percent Autocomplete Radio Button Pick List Checkbox Multiple Autocomplete Multiple Choice Pick Up List Project Autocomplete Department Autocomplete User Autocomplete One (and only one) predefined value s system id: green_color One or more predefined value s system ids separated by comma (and a space - optional): option_1, option_2, option_3 or option_1,option_2,option_3 System id of one selected item: sales_project accounting jsmith Example request for setting value of Date Custom Field a) Sending invalid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "day_went_live", "value": " " 18 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

19 Response body: "error_code": "BAD_DATE_FORMAT", "error_messages": [ "Value ' ' cannot be converted to Date. Expected date formats (02/25/13, or Feb 25, 2013)." ] b) Sending valid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "day_went_live", "value": "02/25/13" Response body (CaseBean):... "case_key": "Task-sp-2",... "custom_fields": [ "name": "Day Went Live", "system_id": "day_went_live", "type_name": "Date", "type_system_id": 3, "value": "02/25/13", "value_formatted": " ", "system_id": "Task-sp-2", "uri": " 19 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

20 Example request for setting value of Checkbox Custom Field Available colors custom field has 6 predefined values: Label Blue Red Green Yellow White Black SystemID bl rd grn ylw wht blk a) Sending invalid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "available_colors", "value": "bl,grn,somenonexistingcolor" Response body: "error_code": "CUSTOM_FIELD_VALUE_DOES_NOT_EXIST", "error_messages": [ "'bl,grn,somenonexistingcolor' is not valid value for Custom Field Available colors." ] b) Sending valid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "available_colors", "value": "bl, wht, ylw" 20 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

21 Response body (CaseBean):... "case_key": "Task-sp-2",... "custom_fields": [ "name": "Available colors", "system_id": "available_colors", "type_name": "Checkbox", "type_system_id": 8, "value": "Blue; White; Yellow", "value_formatted": "Blue; White; Yellow", "system_id": "Task-sp-2", "uri": " Example request for setting value of Radio Button Custom Field Product Group custom field has 3 predefined values: Label Group 1 Group 2 Group 3 SystemID group_1 group_2 group_3 a) Sending invalid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "product_group", "value": "group_1, group_2" Response body: "error_code": "CUSTOM_FIELD_VALUE_NOT_VALID", "error_messages": [ "Multiple value 'group_1, group_2' cannot be set to Radio Button. Single system_id expected." ] 21 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

22 b) Sending valid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "product_group", "value": "group_2" Response body (CaseBean):... "case_key": "Task-sp-2",... "custom_fields": [ "name": "Product Group", "system_id": "product_group", "type_name": "Radio Button", "type_system_id": 7, "value": "Group 2", "value_formatted": "Group 2", "system_id": "Task-sp-2", "uri": " Example request for setting value of Project Autocomplete Custom Field On example, Project Autocomplete has all projects available for selection. Selected projects system_id is sent along with the system_id of selected project. a) Sending invalid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "project_auto", "value": "some_non_existing_system_id" 22 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

23 Response body: "error_code": "CUSTOM_FIELD_VALUE_DOES_NOT_EXIST", "error_messages": [ "'some_non_existing_system_id' is not valid value for Custom Field project auto." ] b) Sending valid value: POST /cases/task-sp-2/custom_fields Request body: "system_id": "project_auto", "value": "sp" Response body (CaseBean):... "case_key": "Task-sp-2",... "custom_fields": [ "autocomplete_value": "sp:sales Project", "name": "project auto", "system_id": "project_auto", "type_name": "Project Autocomplete", "type_system_id": 13, "value": "Sales Project", "value_formatted": "Sales Project", "system_id": "Task-sp-2", "uri": " 23 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

24 2. Length options Custom Field values which are set through CustomFieldBean must meet specific requirements. a) Minimum and maximum number of characters - Custom Field Types: Number, Decimal Number, Percent, Text, Large Text, and URL have minimum and maximum allowed characters options. These options can be set under Advanced Settings on Custom Field s Advanced tab ( Minimum and Maximum ). (For fields of Text, Large Text and URL Custom Field Type, maximum option is called Length.) - Text Custom Field Type has default maximum of 256 characters. - Rich Text Editor Custom Field Type has maximum number of characters ( Length option) and does not have minimum option. For example, we have a Custom Field Business Phone with type Text and we set Length to 15 and Minimum to 5. Let s set this custom fields value for case Task-sp-2. Two request with less than 5 characters and more than 15 characters will look like this: - Less than 5 characters: POST /cases/task-sp-2/custom_fields Request body: "system_id": "business_phone", "value": "555" Response body: "error_code": "LENGTH_LESS_THAN_MINUMUM", "error_messages": [ "Invalid custom Field Business Phone value '555'. Must be greater than or equal to 5." ] - More than 15 characters: POST /cases/task-sp-2/custom_fields 24 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

25 Request body: "system_id": "business_phone", "value": "Phone/fax: " Response body: "error_code": "LENGTH_GREATER_THAN_MAXIMUM", "error_messages": [ "Invalid custom Field Business Phone value 'Phone/fax: '. Must be less than or equal to 15." ] b) Minimum and Maximum number of selected Predefined Values Custom Fields Types: Checkbox and Multiple Choice Pick Up List have Minimum and Maximum options for setting minimum and maximum number of items which can be selected. These options can be set under Advanced Settings on Custom Field s Advanced tab. For example, we have a Custom Field Participate In Event with type Checkbox with three predefined values. Label Event 1 Event 2 Event 3 SystemID event_1 event_2 event_3 Under Advanced tab, Maximum option has value of 2 and Minimum option has value of 1. This means that the user has to pick at least 1 event he wants to participate in but can pick no more than 2 events. a) Choosing more than 2 events POST /cases/task-sp-2/custom_fields Request body: "system_id": "participate_in_event", "value": "event_1, event_2, event_3" 25 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

26 Response body: "error_code": "LENGTH_GREATER_THAN_MAXIMUM", "error_messages": [ "Invalid custom Field Participate In Event value '[event_1, event_2, event_3]'. Must be less than or equal to 2." ] b) Not choosing any event: POST /cases/task-sp-2/custom_fields Request body: "system_id": "participate_in_event", "value": "" Response body: "error_code": "LENGTH_LESS_THAN_MINUMUM", "error_messages": [ "Invalid custom Field Participate In Event value ''. Must be greater than or equal to 1." ] c) Choosing 2 events POST /cases/task-sp-2/custom_fields Request body: "system_id": "participate_in_event", "value": "event_2, event_3" Response body (CaseBean):... "case_key": "Task-sp-2",... "custom_fields": [ "name": "Participate In Event", "system_id": "participate_in_event", "type_name": "Checkbox", 26 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

27 "type_system_id": 8, "value": "Event 2; Event 3", "value_formatted": "Event 2; Event 3", "system_id": "Task-sp-2", "uri": " 10.Entity Beans listing This is the list of all available Entity Beans. Required column marks the fields which must be set when the entity is being created. Present in Simple Bean column marks fields which are returned in simple bean representation. AccountBean: Fields Field Type Required Present in Simple Bean name String + + system_id String + + uri URI + description String location String phone String web_site String fax String annual_revenue BigDecimal annual_revenue_formatted String employees Number employees_formatted String billing_address AddressBean shipping_address AddressBean custom_fields List<CustomFieldBean> AddressBean: Fields Field Type Required Present in Simple Bean street String + city String + country CountryBean + country_system_id String + state StateBean + state_system_id String + zip String + 27 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

28 address2 String + address3 String + CountryBean: Fields Field Type Required Present in Simple Bean name String + system_id String + StateBean: Fields Field Type Required Present in Simple Bean name String + system_id String + CustomFieldBean: Fields Field Type Required Present in Simple Bean name String + + type_name String + + type_system_id Number + system_id String + + label String + value String value_formatted String autocomplete_value * String predefined_values List<PredefinedValueBean> uri URI + * Used for User Autocomplete, Project Autocomplete and Department Autocomplete fields PredefinedValueBean: Fields Field Type Required Present in Simple Bean label String + + system_id String + + position Number + + preselected Boolean + disabled Boolean + 28 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

29 ContactBean: Fields Field Type Required Present in Simple Bean first_name String + + middle_name String + last_name String + name String system_id String + + account AccountBean account_system_id String phone String String + + job_title String address AddressBean address_system_id String department String fax String cell_phone String home_phone String active Boolean custom_fields List<CustomFieldBean> uri URI + ProjectBean: Fields Field Type Required Present in Simple Bean name String + + system_id * String + + description String + is_default Boolean + custom_fields List<CustomFieldBean> project_roles List<ProjectRoleBean> permissions List<PermissionBean> uri URI + * Attribute system_id is the same as project s unique key (shortcut). 29 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

30 ProjectRoleBean: Fields Field Type Required Present in Simple Bean name String + system_id String + + user_system_id String + + PermissionBean: Fields Field Type Required Present in Simple Bean name String + system_id String + + description String + UserBean Fields Field Type Required Present in Simple Bean login_name String + + system_id (the same as String + login_name) password String + first_name String + middle_name String last_name String + String + department DepartmentBean department_system_id String + user_type UserTypeBean + user_type_system_id String + administrator Boolean active Boolean business_callendar String federation_id String custom_fields List<CustomFieldBean> uri URI + 30 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

31 DepartmentBean: Fields Field Type Required Present in Simple Bean name String + + system_id String + gate_keeper UserBean + gate_keeper_system_id String + company CompanyBean company_system_id String uri URI + UserTypeBean Fields Field Type Required Present in Simple Bean name String + + system_id String + uri URI + CompanyBean Fields Field Type Required Present in Simple Bean name String + + system_id String + + company_code String address_1 String address_2 String city String state String country String zip String project ProjectBean project_system_id String business_calendar_system_id String uri URI + 31 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

32 CaseTypeBean Fields Field Type Required Present in Simple Bean name String + system_id String + unique_key String + StatusBean Fields Field Type Required Present in Simple Bean name String + system_id String + ActionBean Fields Field Type Required Present in Simple Bean name String + type String + start_status StatusBean + end_status StatusBean + MessageBean Fields Field Type Required Present in Simple Bean subject String + from_address String + body String date String + system_id String + uri URI + 32 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

33 CustomTableBean Fields Field Type Required Present in Simple Bean name String + system_id String + columns List<String> rows List<CustomTableRowBean> import_report String uri URI + CustomTableRowBean Fields Field Type Required Present in Simple Bean oid String + cells List<CustomTableCellBean> + CustomTableCellBean Fields Field Type Required Present in Simple Bean name String + value String + TotalBean Fields Field Type Required Present in Simple Bean total Number + QueryBean Fields Field Type Required Present in Simple Bean query String + + file_name String 33 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

34 QueryResultBean Fields Field Type Required Present in Simple Bean page Number + page_size Number + total Number + completed_in long + custom_table CustomTableBean + affected_rows_count Number + oid Number + CaseBean Fields Field Type Required Present in Simple Bean name String + case_key String + system_id String + description String closed Boolean created_on String updated_on String status_changed_on String closed_on String case_type CaseTypeBean case_type_system_id String status StatusBean status_system_id String priority PriorityBean priority_system_id String project ProjectBean project_system_id String account AccountBean account_system_id String contact ContactBean contact_system_id String creator UserBean creator_system_id String updater UserBean updater_system_id String owner UserBean owner_system_id String referral UserBean 34 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

35 referral_system_id String team_member UserBean team_member_system_id String assignees List<UserBean> custom_fields List<CustomFieldBean> related_to_cases List<CaseBean> related_from_cases List<CaseBean> uri URI + AttachmentBean Fields Field Type Required Present in Simple Bean name String + download_link String + system_id String + internal Boolean + company CompanyBean + uploader UserBean + CommentBean Fields Field Type Required Present in Simple Bean comment String + system_id String + parent_system_id String + author UserBean + author_system_id String + updater UserBean + updater_system_id String + internal Boolean + company CompanyBean + created_on String + updated_on String + ActionParamsBean Fields Field Type Required Present in Simple Bean name String + description String + priority_system_id String + status_system_id String + 35 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

36 case_type_system_id String + project_system_id String + account_system_id String + contact_system_id String + owner_system_id String + referral_system_id String + assignees List<UserBean> + custom_fields List<CustomFieldBean> + comment String + comment_is_internal Boolean + ResultBean Fields page page_size total completed_in users cases contacts accounts departments user_types case_types permissions custom_fields projects companies priorities messages custom_tables custom_table Field Type Number Number Number long List<UserBean> List<CaseBean> List<ContactBean> List<AccountBean> List<DepartmentBean> List<UserTypeBean> List<CaseTypeBean> List<PermissionBean> List<CustomFieldBean> List<ProjectBean> List<CompanyBean> List<PriorityBean> List<MessageBean> List<CustomTableBean> CustomTableBean ErrorBean Fields error_code error_messages Field Type String List<String> 36 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

37 4. HTTP response codes The table below shows the listing of some of the most common HTTP status codes returned by WorkFlow APIs. Each API method will be described in details in Chapter 6 with information about each response code. For the complete list of HTTP status codes visit HTTP status code Description 200 OK WorkFlow API call successfully completed. 201 Created Entity is successfully created. 204 No content WorkFlow API call successfully completed. No content is returned inside response body. 304 Not Modified Operation is not completed. Entity is not modified. 400 Bad Request Operation is not completed. Parameters sent to WorkFlow API are invalid or missing which caused API call to fail. 403 Forbidden Operation is not completed. User performing API call is not authorized. User is trying to perform an action for which he has no permission. 404 Not Found Requested URI does not match any existing WorkFlow API path. Entity is not found. 405 Method Not Allowed The HTTP method is not supported by WorkFlow API for the requester URI. 406 Not Acceptable Accept header sent to WorkFlow API is not supported (Requester wants the data to be returned in the form which is not supported by WorkFlow API). 415 Unsupported Media Type Request body and Content-Type header contains content type which is not supported (Requester is sending the content that WorkFlow API is not able to receive). 500 Internal Server Error Unpredicted system error occured during WorkFlow API call. 37 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

38 5. APIs Listing Workflow RESTful API exposes 12 different entities to third party applications. Besides basic CRUD operations API contains various useful operations for entity manipulation. Tables below show the listing of all available methods. Chapter 6 will go into the details of all methods and show the examples. Prefix /api/ is added before each path. For example: GET The following tables contain all available API paths and short description. Each HTTP Method is a Hyperlink to the detailed description in Chapter 6. Note: Each entity has it s own system_id field. This field represents a unique human readable id for each entity. System_id is visible inside WorkFlow web application. System_id is unique on entity level. For example, two departments cannot have two the same system_id values. However, department and permission group can have the same vales as system_id. 38 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

39 1. Account Resource: Account Main path: /accounts HTTP METHOD PATH DESCRIPTION 1. GET /accounts/system_id Returns the account with specified system id. 2. POST /accounts Creates an account based on received AccountBean. 3. PUT /accounts Updates the account based on received AccountBean. 4. DELETE /accounts/system_id Deletes the account with specified system id. 5. GET /accounts Search accounts based on set query parameters. Returns a list of accounts which satisfy search criteria. Custom Fields 6. GET /accounts/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified account. 7. POST /accounts/system_id/custom_fields Sets custom field value to specified account based on received CustomFieldBean. 8. PUT /accounts/system_id/custom_fields Updates custom field value in specified account based on received CustomFieldBean. 9. DELETE /accounts/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field for specified account. 39 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

40 2. Case Resource: Case HTTP METHOD Main path: /cases PATH DESCRIPTION 1. GET /cases/system_id Returns the case with specified system id. 2. POST /cases Creates a case based on received CaseBean. 3. POST /cases/user/user_system_id Creates a case based on received CaseBean. Case s creator is user with system id user_system_id. 4. PUT /cases Updates the case based on received CaseBean. 5. PUT /cases/user/user_system_id Updates the case based on received CaseBean. Case s updater is user with system id user_system_id. 6. DELETE /cases/system_id Deletes the case with specified system id. 7. DELETE /cases/system_id/delete_with_related Deletes the case with specified system id and deletes it s related cases (cases for which case with system id system_id is their parent). 8. GET /cases Search cases based on set query parameters. Returns a list of cases which satisfy search criteria. 9. PUT /cases/system_id/close Closes the case with specified system id. 10. PUT /cases/system_id/close_with_related Closes the case with specified system id and closes it s related cases (cases for which case with system id system_id is their parent). Balk Cases 11. POST /cases/create_bulk Creates a list of cases based on received list of CaseBean objects. 12. PUT /cases/update_bulk Update a list of cases based on received list of CaseBean objects. Case Lists 13. GET /cases/list/system_id Returns cases which belong to the list with specified system id. 49 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

41 14. GET /cases/smart_list/system_id Returns cases which belong to the smart list with specified system id. System Case Lists 15. GET /cases/system_list/creator Returns a list of cases in which user performing the REST call is the creator. 16. GET /cases/system_list/creator/user_system_id Returns a list of cases in which user with specified system id is the creator. 17. GET /cases/system_list/assignee Returns a list of cases in which user performing the REST call is the assignee. 18. GET /cases/system_list/assignee/user_system_id Returns a list of cases in which user with specified system id is the assignee. 19. GET /cases/system_list/owner Returns a list of cases in which user performing the REST call is the owner. 20. GET /cases/system_list/owner/user_system_id Returns a list of cases in which user with specified system id is the owner. 21. GET /cases/system_list/referral Returns a list of cases in which user performing the REST call is the referral. 22. GET /cases/system_list/referral/user_system_id Returns a list of cases in which user with specified system id is the referral. 23. GET /cases/system_list/team_member Returns a list of cases in which user performing the REST call is the team member. 24. GET /cases/system_list/team_member/user_system_id Returns a list of cases in which user with specified system id is the team member. 25. GET /cases/system_list/follower Returns a list of cases in which user performing the REST call is the follower. 26. GET /cases/system_list/follower/user_system_id Returns a list of cases in which user with specified system id is the follower. Related Cases 27. GET /cases/system_id/related_cases Returns a list of related cases for case with specified system id. 28. GET /cases/system_id/related_cases/inverse Returns a list of all cases from which case with specified system id is related. 59 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

42 29. PUT /cases/system_id/related_cases/related_system_id Creates a relation between two existing cases. To case with system id "system_id" it sets related case with system id "related_system_id". 30. DELETE /cases/system_id/related_cases/related_system_id Deletes the relation between case with system id "system_id" and its related case with system id "related_system_id". Custom Fields 31. GET /cases/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified case. 32. POST /cases/system_id/custom_fields Sets custom field value in specified case based on received CustomFieldBean. 33. PUT /cases/system_id/custom_fields Updates custom field value in specified case based on received CustomFieldBean. 34. DELETE /cases/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field in specified case. Attachments 35. GET /cases/system_id/attachments Returns a list of attachments from specified case which user who is performing a REST call has permission to see. 36. GET /cases/system_id/attachments/attachment_system_id Returns (downloads) attached file with specified attachment system id from case with specified system id. 37. POST /cases/system_id/attachments Uploads attachment to specified case. 38. DELETE /cases/system_id/attachments/attachment_system_id Deletes the attachment with specified attachment system id from specified case. Comments 39. GET /cases/system_id/comments Returns a list of comments from specified case which user who is performing a REST call has permission to see. 40. GET /cases/system_id/comments/comment_system_id Returns a comment with specified comment system id from specified case. 69 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

43 41. POST /cases/system_id/comments 1. Creates a comment based on received CommentBean in case with specified system id. 2. Creates a reply to comment with system id parent_system_id if parent_system_id is sent via CommentBean. 42. PUT /cases/system_id/comments/comment_system_id Updates a comment based on received CommentBean in case with specified system id. 43. DELETE /cases/system_id/comments/comment_system_id Deletes a comment with specified comment system id in case with specified system id. Actions 44. GET /cases/system_id/actions Returns all actions which user who is performing a REST call can execute in specified case. 45. GET /cases/system_id/actions/user_system_id Returns all actions which specified user can execute in specified case. 46. PUT /cases/system_id/actions/action_system_id Executes specified action in specified case. (Attach file action has its own method.) 47. PUT /cases/system_id/actions/action_system_id/user_system_id Executes specified action in specified case as specified user. (Attach file action has its own method.) 48. POST /cases/system_id/actions/action_system_id Executes specified Attach File action in specified case. 49. POST /cases/system_id/actions/action_system_id/user_system_id Executes specified Attach File action in specified case as specified user. 79 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

44 3. Case Type Resource: Case Type Main path: /case_types Methods: HTTP METHOD PATH DESCRIPTION 1. GET /case_types/system_id Returns the case type with specified system id. 2. GET /case_types Search case types based on set query parameters. Returns a list of case types which satisfy search criteria. 3. GET /case_types/system_id/statuses Returns statuses associated with specified case type. 4. GET /case_types/system_id/statuses/status_system_id/actions Returns actions in specified status for specified case type. 89 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

45 4. Company Resource: Company Main path: /companies HTTP METHOD PATH DESCRIPTION 1. GET /companies/system_id Returns the company with specified system id. 2. POST /companies Creates a company based on received CompanyBean. 3. PUT /companies Updates the company based on received CompanyBean. 4. DELETE /companies/system_id Deletes the company with specified system id. 5. GET /companies Search companies based on set query parameters. Returns a list of companies which satisfy search criteria. 99 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

46 5. Contact Resource: Contact Main path: /contact HTTP METHOD PATH DESCRIPTION 1. GET /contacts/system_id Returns the contact with specified system id. 2. POST /contacts Creates a contact based on received ContactBean. 3. PUT /contacts Updates the contact based on received ContactBean. 4. DELETE /contacts/system_id Deletes the contact with specified system id. 5. GET /contacts Search contacts based on set query parameters. Returns a list of contacts which satisfy search criteria. Custom Fields 6. GET /contacts/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified contact. 7. POST /contacts/system_id/custom_fields Sets custom field value to specified contact based on received CustomFieldBean. 8. PUT /contacts/system_id/custom_fields Updates custom field value in specified contact based on received CustomFieldBean. 9. DELETE /contacts/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field for specified contact. 109 CallidusCloud 2013 Callidus Software Inc. All Rights Reserved.

47 6. Custom Field Resource: Custom Field Main path: /custom_fields HTTP METHOD PATH DESCRIPTION 1. GET /custom_fields/system_id Returns the custom field with specified system id. 2. POST /custom_fields Creates a custom field based on received CustomFieldBean. 3. PUT /custom_fields Updates the custom field based on received CustomFieldBean. 4. DELETE /custom_fields/system_id Deletes the custom field with specified system id. 5. GET /custom_fields Search custom fields based on set query parameters. Returns a list of custom fields which satisfy search criteria. 119 CallidusCloud 2013 Callidus Software Inc. All Rights Reserved.

48 7. Custom Table Resource: Custom Table Main path: /custom_tables HTTP METHOD PATH DESCRIPTION 1. GET /custom_tables/system_id Returns the custom table with specified system id. 2. POST /custom_tables Creates a custom table based on received CustomTableBean. 3. DELETE /custom_tables/system_id Deletes the custom table with specified system id. 4. GET /custom_tables Search custom tables based on set query parameters. Returns a list of custom tables which satisfy search criteria. 5. POST /custom_tables/system_id/column/column_name Adds a column with specified name into specified custom table. 6. GET /custom_tables/system_id/rows Returns rows from specified custom table. 7. GET /custom_tables/system_id/rows/oid Returns row with specified oid (object id) from specified custom table. 8. POST /custom_tables/system_id/rows Adds one row in specified custom table based on received row in CustomTableBean. 9. PUT /custom_tables/system_id/rows Updates the row in specified custom table based on received row in CustomTableBean. 10. DELETE /custom_tables/system_id/rows/oid Deletes the row with specified oid in specified custom table. Executing queries 11. PUT /custom_tables/query/select Executes select query sent via QueryBean and returns rows from custom table. 12. POST /custom_tables/query/insert Inserts data into custom table based on sent query in QueryBean. 13. PUT /custom_tables/query/update Updates data in custom table based on sent query in QueryBean. 129 CallidusCloud 2013 Callidus Software Inc. All Rights Reserved.

49 14. PUT /custom_tables/query/delete Deletes data in custom table based on sent query in QueryBean. Import 15. POST /custom_tables/import/new_table Creates a new custom table with rows from uploaded csv file. 16. POST /custom_tables/system_id/import/new_rows Updates rows in specified custom table from uploaded csv file. Export 17. PUT /custom_tables/export/query_to_csv Exports rows from custom table to CSV file based on received SELECT query in QueryBean. 8. Department Resource: Department Main path: /departments HTTP METHOD PATH DESCRIPTION 1. GET /departments/system_id Returns the department with specified system id. 2. POST /departments Creates a department based on received DepartmentBean. 3. PUT /departments Updates the department based on received DepartmentBean. 4. DELETE /departments/system_id Deletes the department with specified system id. 5. GET /departments Search departments based on set query parameters. Returns a list of departments which satisfy search criteria. 139 CallidusCloud 2013 Callidus Software Inc. All Rights Reserved.

50 9. Message Resource: Message Main path: /messages HTTP METHOD PATH DESCRIPTION 1. GET /messages/system_id Returns message with specified system id. 2. DELETE /messages/system_id Deletes the message with specified system id. 3. GET /messages/user/system_id/unread Search unread messages for specified user based on set query parameters. Returns a list of unread messages which satisfy search criteria. 4. GET /messages/user/system_id/unread_and_mark_as_read Search unread messages for specified user based on set query parameters. Returns a list of unread messages which satisfy search criteria and marks returned messages as read. 5. GET /messages/user/system_id/total_unread Returns the number of unread messages for specified user. 50 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

51 10.Project Resource: Project Main path: /projects HTTP METHOD PATH DESCRIPTION 1. GET /projects/system_id Returns the project with specified system id. 2. POST /projects Creates a project based on received ProjectBean. 3. PUT /projects Updates the project based on received ProjectBean. 4. DELETE /projects/system_id Deletes the project with specified system id. 5. GET /projects Search projects based on set query parameters. Returns a list of projects which satisfy search criteria. Custom Fields 6. GET /projects/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified project. 7. POST /projects/system_id/custom_fields Sets custom field value to specified project based on received CustomFieldBean. 8. PUT /projects/system_id/custom_fields Updates custom field value in specified project based on received CustomFieldBean. 9. DELETE /projects/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field for specified project. 51 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

52 11.User Resource: User HTTP METHOD Main path: /users PATH DESCRIPTION 1. GET /users/system_id Returns the user with specified system id. 2. POST /users Creates a user based on received UserBean. 3. PUT /users Updates the user based on received UserBean. 4. DELETE /users/system_id Deletes the user with specified system id. 5. GET /users Search users based on set query parameters. Returns a list of users which satisfy search criteria. Bulk Users 6. POST /users/create_bulk Creates a list of users based on received list of CaseBean objects. 7. PUT /users/update_bulk Updates a list of users based on received list of CaseBean objects. Custom Fields 8. GET /users/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified user. 9. POST /users/system_id/custom_fields Sets custom field value to specified user based on received CustomFieldBean. 10. PUT /users/system_id/custom_fields Updates custom field value for specified user based on received CustomFieldBean. 11. DELETE /users/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field for specified user. 52 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

53 12.User Type Resource: User Type Main path: /user_types HTTP METHOD PATH DESCRIPTION 1. GET /user_types/system_id Returns the user type with specified system id. 2. POST /user_types Creates a user type based on received UserTypeBean. 3. PUT /user_types Updates the user type based on received UserTypeBean. 4. DELETE /user_types/system_id Deletes the user type with specified system id. 5. GET /user_types Search user types based on set query parameters. Returns a list of user types which satisfy search criteria. 53 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

54 6. Detailed WorkFlow API This section shows the detailed listing of WokFlow APIs with examples for each API call. For each request, return MIME type is determined based on Accept request header which is sent by user calling WorkFlow API. WorkFlow API returns the result inside request body in specified format and sets MIME type value into Content-Type response header. JSON format is currently supported and fully tested. For list of countries with their System IDs, go to Appendix A, for list of states with their System IDs, go to Appendix B and for list of Custom Field Types with their System IDs, go to Appendix C. 1. Account Resource: Account Main path: /accounts 1. GET /accounts/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /accounts/system_id Returns the account with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Account found. 404 Not Found Account not found. AccountBean - success. ErrorBean - failure. JSON example: a) GET /accounts/some_company_account 54 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

55 Response body: "annual_revenue": , "annual_revenue_formatted": "123,456,789.21", "billing_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "Phoenix", "country": "name": "USA", "system_id": "usa", "state": "name": "Arizona", "system_id": "AZ", "street": "First Street 123", "zip": "11123", "custom_fields": [ "name": "Number of Employees", "system_id": "number_of_employees", "type_name": "Number", "type_system_id": 2, "value": "1000", "value_formatted": "1000", "name": "Number of Users", "system_id": "number_of_users", "type_name": "Number", "type_system_id": 2, "value": "500", "value_formatted": "500" "description": "Company Some Company from USA - specializes in marketing.", "employees": 10523, "employees_formatted": "10,523", "fax": " ", "location": "Phoenix, Arizona, USA", "name": "Some Company Account", "phone": " ", "shipping_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "Phoenix", "country": "name": "USA", "system_id": "usa", "state": "name": "Arizona", "system_id": "AZ", "street": "First Street 123", "zip": "11123", "system_id": "some_company_account", "uri": " "web_site": " 55 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

56 b) GET /accounts/some_non_existing_account "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Account does not exist." ] 2. POST /accounts HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /accounts Creates an account based on received AccountBean. Authorization, domain, Accept, Content-Type Content-Type, Location AccountBean 201 Created Account successfully created. 400 Bad Request Required fields are missing or other constraint error. AccountBean - success. ErrorBean - failure. JSON example: a) POST /accounts Request body: "annual_revenue": , "billing_address": "city": "Phoenix", "country_system_id": "usa", "state_system_id": "AZ", "street": "First Street 123", "zip": "11123", "custom_fields": [ "name": "Number of Employees", "system_id": "number_of_employees", "type_name": "Number", "type_system_id": 2, "value": "1000", "value_formatted": "1000", 56 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

57 "name": "Number of Users", "system_id": "number_of_users", "type_name": "Number", "type_system_id": 2, "value": "500", "value_formatted": "500" "description": "Company Some Company from USA - specializes in marketing.", "employees": 10523, "fax": " ", "location": "Phoenix, Arizona, USA", "name": "Some Company Account", "phone": " ", "shipping_address": "city": "Phoenix", "country_system_id": "usa", "state_system_id": "AZ", "street": "a21", "zip": "11123", "address2": "Second Street 456", "system_id": "some_company_account", "web_site": " b) If account name which is required is not sent: "error_code": "CONSTRAINT_VIOLATIONS", "error_messages": [ "Account name is required." ] 3. PUT /accounts HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /accounts Updates the account based on received AccountBean. Authorization, domain, Accept, Content-Type Content-Type AccountBean 200 OK Account successfully updated. 400 Bad Request Required fields are missing or other constraint error. 404 Not Found Account not found. AccountBean - success. ErrorBean - failure. 57 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

58 Note: AccountBean s system_id field must be set. JSON example: PUT /accounts Request body: "annual_revenue": , "billing_address": "city": "Phoenix", "country_system_id": "usa", "state_system_id": "AZ", "street": "First Street 123", "zip": "11123", "custom_fields": [ "system_id": "number_of_employees", "value": "1100", "system_id": "number_of_users", "value": "650" "description": "Company Some Company from USA - specializes in marketing. - UPDATED DESCRIPTION", "employees": 10540, "fax": " ", "location": "Phoenix, Arizona, USA", "name": "Some Company Account", "phone": " ", "shipping_address": "city": "Phoenix", "country_system_id": "usa", "state_system_id": "AZ", "street": "a21", "zip": "11123", "address2": "Second Street 457", "system_id": "some_company_account", "web_site": " 58 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

59 4. DELETE /accounts/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /accounts/system_id Deletes the account with specified system id. Authorization, domain, Accept N/A 200 OK Account successfully deleted. 304 Not Modified If account could not be deleted. 404 Not Found Account not found. ErrorBean - failure. Example request: DELETE /accounts/some_company_account 5. GET /accounts HTTP Method Path Description GET /accounts Search accounts based on set query parameters. Returns a list of accounts which satisfy search criteria. Available search attributes: page (Number) page_size (Number) name (String) system_id (String) decription (String) fax (String) location (String) website (String) Required headers Returned headers Request - Input Accepts Expected request body These search attributes are set as query parameters: /accounts?name=electronics&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 59 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

60 Response - Output Return MIME Type HTTP Status Code Body 200 OK ResultBean with a list of AccountBeans. JSON example: There are three accounts: Account A (Location: San Francisco, Employees 100), Account B (Location: San Francisco, Employees 500) and Account C (Location: Milwaukee, Employees 350). If we search accounts from San Francisco with word Account in account name we should get two accounts. Number of returned results can be limited with page_size and page attributes. We form the following request: GET /accounts?name=account&location=san Francisco&page=1&page_size=10 Response body: "accounts": [ "annual_revenue": , "annual_revenue_formatted": "54,321.35", "billing_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "custom_fields": [ "name": "Day Went Live", "system_id": "day_went_live", "type_name": "Date", "type_system_id": 3, "value": "10/01/13", "value_formatted": "01/10/13" "description": "", "employees": 1100, "employees_formatted": "1,100", "fax": " ", "location": "San Francisco", "name": "Account A", "phone": " ", "shipping_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", 60 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

61 "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "system_id": "account_a", "uri": " "web_site": " "annual_revenue": , "annual_revenue_formatted": "987,654.35", "billing_address": "address2": "Fake Street 456", "address3": "Third Street 100", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "Some Street 123", "zip": "12345", "custom_fields": [ "description": "This is Account B.", "employees": 1560, "employees_formatted": "1,560", "fax": " ", "location": "San Francisco", "name": "Account B", "phone": " ", "shipping_address": "address2": "Fake Street 456", "address3": "Third Street 100", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "Some Street 123", "zip": "12345", "system_id": "account_b", "uri": " "web_site": " "completed_in": 432, "page": 1, "page_size": 10, "total": 2 61 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

62 Note: To find more about reading and setting Custom Field values, read Section 7 and Section 8 in Chapter GET /accounts/system_id/custom_fields/custom_field_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /accounts/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified account. Authorization, domain, Accept Content-Type N/A 200 OK Custom Field found. 404 Not Found Account or Custom Field not found. CustomFieldBean - success. ErrorBean - failure. JSON example: GET /accounts/account_a/custom_fields/day_went_live Response body: "name": "Day Went Live", "system_id": "day_went_live", "type_name": "Date", "type_system_id": 3, "value": "10/01/13", "value_formatted": "01/10/13" 62 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

63 7. POST /accounts/system_id/custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /accounts/system_id/custom_fields Sets custom field value to specified account based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 201 Created Custom Field value set successfully. 400 Bad Request Custom Field value is not in the right format. 404 Not Found Account or Custom Field not found AccountBean - success. ErrorBean - failure. JSON example: POST /accounts/account_a/custom_fields Request body: "system_id": "additional_notes", "value": "Account A is the leader in electronic industry." Response body: "annual_revenue": , "annual_revenue_formatted": 54,321.35, "billing_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "custom_fields": [ 63 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

64 "name": "Day Went Live", "system_id": "day_went_live", "type_name": "Date", "type_system_id": 3, "value": "10/01/13", "value_formatted": "01/10/13", "name": "Additional Notes", "system_id": "additional_notes", "type_name": "Large Text", "type_system_id": 5, "value": "Account A is the leader in electronic industry.", "value_formatted": "Account A is the leader in electronic industry." "description": "", "employees": 1100, "employees_formatted": 1,100, "fax": " ", "location": "San Francisco", "name": "Account A", "phone": " ", "shipping_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "system_id": "account_a", "uri": " "web_site": " 8. PUT /accounts/system_id/custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code PUT /accounts/system_id/custom_fields Updates custom field value in specified account based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 200 OK Custom Field value set successfully. 400 Bad Request Custom Field value is not in the right format. 64 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

65 Body 404 Not Found Account or Custom Field not found AccountBean - success. ErrorBean - failure. JSON example: PUT /accounts/account_a/custom_fields Request body: "system_id": "day_went_live", "value": "11/20/13" Response body: "annual_revenue": , "annual_revenue_formatted": 54,321.35, "billing_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "custom_fields": [ "name": "Day Went Live", "system_id": "day_went_live", "type_name": "Date", "type_system_id": 3, "value": "10/01/13", "value_formatted": "01/10/13", "name": "Additional Notes", "system_id": "additional_notes", "type_name": "Large Text", "type_system_id": 5, "value": "Account A is the leader in electronic industry.", "value_formatted": "Account A is the leader in electronic industry." "description": "", "employees": 1100, "employees_formatted": 1,100, "fax": " ", "location": "San Francisco", "name": "Account A", "phone": " ", 65 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

66 "shipping_address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "system_id": "account_a", "uri": " "web_site": " 9. DELETE /accounts/system_id/custom_fields/custom_field_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /accounts/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field for specified account. Authorization, domain, Accept N/A 200 OK Custom field value successfully deleted. 404 Not Found Account or Custom Field not found. ErrorBean - failure. Example request: DELETE /accounts/account_a/custom_fields/day_went_live 66 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

67 2. Case Resource: Case Main path: /cases 1. GET /cases/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id Returns the case with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case not found. CaseBean - success. ErrorBean - failure. JSON example: a) GET /cases/task-sp-3 Response body: "assignees": [ "first_name": "Tom", "last_name": "Smith", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "last_name": "Smith", "login_name": "jsmith", 67 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

68 "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 14:50:49", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "This case is created via REST API.", "name": "REST API - Case 3", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-3", "updated_on": "09/10/13 14:50:49", "updater": "first_name": "John", 68 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

69 "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " b) GET /cases/some_non_existing_case "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Case does not exist." ] 2. POST /cases HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /cases Creates a case based on received CaseBean. Case creator - user who is performing REST API call. Case updater - user who is performing REST API call. Authorization, domain, Accept, Content-Type Content-Type, Location CaseBean 201 Created Case successfully created. 404 Not Found Any child entity (account, contact, creator rtc.) with sent system_id not found. CaseBean - success. ErrorBean - failure. JSON example: a) POST /cases User performing REST call is jsmith. 69 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

70 Request body: "case_type_system_id": "Task", "description": "This case is created via REST API.", "name": "REST API - Case 3", "project_system_id": "sp", "owner_system_id": "jsmith", "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "15" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] Response body: "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-3", 70 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

71 "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 14:50:49", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "This case is created via REST API.", "name": "REST API - Case 3", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-3", "updated_on": "09/10/13 14:50:49", "updater": "first_name": "John", 71 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

72 "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " b) If owner with sent system_id does not exist: "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Owner does not exist." ] 3. POST /cases/user/user_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /cases/user/user_system_id Creates a case based on received CaseBean. Case s creator is user with system id user_system_id. Case creator - user with system id user_system_id. Case updater - user with system id user_system_id. Authorization, domain, Accept, Content-Type Content-Type, Location CaseBean 201 Created Case successfully created. 404 Not Found User or any child entity with sent system_id not found. CaseBean - success. ErrorBean - failure. JSON example: POST /cases/user/tsmith User performing REST call is jsmith. 72 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

73 Request body: "case_type_system_id": "Task", "description": "This case is created via REST API.", "name": "REST API - Case 3", "project_system_id": "sp", "owner_system_id": "jsmith", "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "15" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] Response body: "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" 73 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

74 "case_key": "Task-sp-5", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 15:55:32", "creator": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "This case is created via REST API.", "name": "REST API - Case 4", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-5", "updated_on": "09/10/13 15:55:32", "updater": 74 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

75 "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 4. PUT /cases HTTP Method Path Description PUT /cases Updates the case based on received CaseBean. Case updater - user who is performing REST API call. Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body Important note: Case Type and Project cannot be changed using this method. Corresponding case actions should be invoked using this method: PUT /cases/system_id/actions/action_system_id Authorization, domain, Accept, Content-Type Content-Type CaseBean 200 OK Case successfully updated. 404 Not Found Case or any child entity with sent system_id not found. CaseBean - success. ErrorBean - failure. JSON example: If we want to update the case created in POST /cases request we would have the following request: PUT /cases User performing REST call is jsmith. This user created a case. Request body: "system_id": "Task-sp-3", "case_type_system_id": "Bug", 75 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

76 "name": "REST API - Case 3 - UPDATED", "project_system_id": "sp", "owner_system_id": "tsmith", "assignees": [ "system_id": "jsmith" "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "5" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] Response body: "assignees": [ "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-3", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 14:50:49", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Duration", 76 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

77 "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "5", "value_formatted": "5" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-3", "updated_on": "09/10/13 16:54:34", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 77 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

78 5. PUT /cases/user/user_system_id HTTP Method Path Description PUT /cases/user/user_system_id Updates the case based on received CaseBean. Case s updater is user with system id user_system_id. Case updater - user with system id user_system_id. Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body Important note: Case Type and Project cannot be changed using this method. Corresponding case actions should be invoked using this method: PUT /cases/system_id/actions/action_system_id/user_system_id Authorization, domain, Accept, Content-Type Content-Type CaseBean 200 OK Case successfully updated. 404 Not Found User, Case or any child entity with sent system_id not found. CaseBean - success. ErrorBean - failure. JSON example: If we want to update the case created in POST /cases/user/tsmith request we would have the following request: PUT /cases/user/jsmith User performing REST call is tsmith. User tsmith created a case. Request body: "system_id": "Task-sp-5", "case_type_system_id": "Bug", "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "project_system_id": "sp", "owner_system_id": "tsmith", "assignees": [ "system_id": "tsmith" 78 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

79 "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "1" "related_to_cases": [ "system_id": "Task-sp-2" ] Response body: "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-5", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 15:55:32", "creator": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "1", "value_formatted": "1", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, 79 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

80 "value": "20", "value_formatted": "20" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-5", "updated_on": "09/10/13 17:07:04", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 80 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

81 6. DELETE /cases/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /cases/system_id Deletes the case with specified system id. Authorization, domain, Accept N/A 200 OK Case successfully deleted. 304 Not Modified If case could not be deleted. 404 Not Found Case not found. ErrorBean - failure. Example request: DELETE /cases/task-sp-1 7. DELETE /cases/system_id/delete_with_related HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /cases/system_id/delete_with_related Deletes the case with specified system id and deletes it s related cases (cases for which case with system id system_id is their parent). Authorization, domain, Accept N/A 200 OK Case successfully deleted. 304 Not Modified If case could not be deleted. 404 Not Found Case not found. ErrorBean - failure. Example request: DELETE /cases/task-sp-1 81 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

82 8. GET /cases HTTP Method Path Description GET /cases Search cases based on set query parameters. Returns a list of cases which satisfy search criteria. Available search attributes: page (Number) page_size (Number) name (String) decription (String) case_key (String) created_by (String) 1 updated_by (String) 2 assignee (String) 3 owner (String) 4 referral (String) 5 team_member (String) 6 status (String) 7 project (String) 8 priority (String) 9 case_type (String) 10 system_id (String) mask (String) 11 1, 2, 3, 4, 5 and 6 user system ids sepatated with space: /cases?updated_by=jsmith tsmith&assignee=jsmith tsmith&owner=jsmith&team_member=jsmith 7, 8, 9 and 10 entity system ids separated by space: /cases?project=sp impl dev&case_type=task Bug 11 list of fields separated by space which are going to be returned in case object: /cases?project=sp&mask=name case_key status Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code These search attributes are set as query parameters: /cases?name=implement&updated_by=john&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK 82 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

83 Body ResultBean with a list of CaseBeans. JSON example: There are three cases: 1. name: Case 1 case_key: Task-sp-1 project: sp assignees: jsmith, tsmith owner: jsmith 2. name: Case 2 case_key: Task-sp-2 project: sp assignees: jsmith, tsmith owner: tsmith 3. name: Case 3 case_key: Bug-dev-1 project: dev assignees: tsmith owner: jsmith a) Complete CaseBean If we want to find cases which are assigned to jsmith and tsmith and which has tsmith as case owner we will get only Case 2 in the result. We would form the following request: GET /cases?assignee=jsmith tsmith&owner=tsmith&page=1&page_size=5 Response body: "cases": [ "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "10/10/13 11:11:31", "creator": "first_name": "John", 83 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

84 "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "1", "value_formatted": "1", "description": "", "name": "Case 2", "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-2", "updated_on": "10/10/13 11:11:55", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "completed_in": 580, "page": 1, "page_size": 5, "total": 1 84 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

85 b) Using mask to return only specified fields GET /cases?assignee=jsmith tsmith&owner=tsmith&mask=name case_key project&page=1&page_size=5 Reponse body: "cases": [ "case_key": "Task-sp-3", "name": "REST API - Case 3 - UPDATED", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "case_key": "Task-sp-5", "name": "REST API - Case 3 - UPDATED", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "case_key": "Task-sp-7", "name": "Case 2", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "completed_in": 395, "page": 1, "page_size": 5, "total": 3 85 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

86 9. PUT /cases/system_id/close HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /cases/system_id/close Closes the case with specified system id. Authorization, domain, Accept, Content-Type Content-Type CaseBean 200 OK Case successfully closed. 304 Not Modified Case not closed. 404 Not Found Case not found. CaseBean - success. ErrorBean - failure. Request example: PUT /cases/task-sp-3/close 10. PUT /cases/system_id/close_with_related HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /cases/system_id/close_with_related Closes the case with specified system id and closes it s related cases (cases for which case with system id system_id is their parent). Authorization, domain, Accept, Content-Type Content-Type CaseBean 200 OK Case successfully closed. 304 Not Modified Case not closed. 404 Not Found Case not found. CaseBean - success. ErrorBean - failure. 86 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

87 11. POST /cases/create_bulk HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /cases/create_bulk Creates a list of cases based on received list of casebean objects. Case creator - user who is performing REST API call. Case updater - user who is performing REST API call. Authorization, domain, Accept, Content-Type Content-Type, Location List of CaseBean objects 201 Created Cases successfully created. 404 Not Found Any child entity (account, contact, creator etc.) with sent system_id not found. processed_entities - success. errors failure. JSON example: a) POST /cases/create_bulk User performing REST call is jsmith. Request body: [, "case_type_system_id": "Task", "description": "This case is created via REST API.", "name": "REST API - Case 1", "project_system_id": "sp", "owner_system_id": "jsmith", "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "15" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] 87 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

88 ] "case_type_system_id": "nonexistent", "description": "This case is created via REST API.", "name": "REST API - Case 2", "project_system_id": "nonexistent", "status_system_id": "nonexistent", "contact_system_id": "nonexistent", "account_system_id": "nonexistent", "priority_system_id": "nonexistent", "owner_system_id": "nonexistent", "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "15" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] Response body: "errors": [ "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Case type does not exist.", "Status does not exist.", "Priority does not exist.", "Project does not exist.", "Account does not exist.", "Contact does not exist.", "Owner does not exist." "failed_index": 2 "processed_entities": [ "name": "REST API - Case 1", "case_key": "Task-sp-24", "system_id": "task-sp-24", "description": "This case is created via REST API.", "closed": false, "created_on": "09/01/ :24:57", "updated_on": "09/01/ :24:57", "case_type": "name": "Task", "unique_key": "task", "system_id": "task", 88 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

89 "status": "name": "Closed", "system_id": "closed", "priority": "name": "Critical", "system_id": "Critical", "project": "name": "sp", "system_id": "sp", "is_default": false, "uri": " "creator": "login_name": "rest", "first_name": "rest", "last_name": "", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "rest", "uri": " "updater": "login_name": "rest", "first_name": "rest", "last_name": "", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "rest", "uri": " "owner": "login_name": "jsmith", "first_name": "John", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "jsmith", "uri": " 89 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

90 "assignees": [ "login_name": "jsmith", "first_name": "John", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "jsmith", "uri": " "related_to_cases": [ "name": "REST API - Case 2", "case_key": "Task-sp-2", "system_id": "task-sp-2", "uri": " "name": "REST API - Case 1", "case_key": "Task-sp-1", "system_id": "task-sp-1", "uri": " 90 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

91 b) If case type, owner, project, status, priority, account, contact with sent system_id does not exist: "errors": [ "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Case type does not exist.", "Owner does not exist.", "Project does not exist.", "Status does not exist.", "Priority does not exist.", "Account does not exist.", "Contact does not exist.", "failed_index": 1 ] Errors - List of messages with error details Failed_index - Index of case with bad request. 91 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

92 12. PUT /cases/update_bulk HTTP Method Path Description PUT /cases/update_bulk Updates a list of cases based on received list of casebean objects. Case updater - user who is performing REST API call. Important note: Case Type and Project cannot be changed using this Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body Authorization, domain, Accept, Content-Type Content-Type List of CaseBean objects 200 OK Case successfully updated. 404 Not Found Case or any child entity with sent system_id not found. processed_entities - success. errors failure. JSON example: PUT/cases/update_bulk User performing REST call is jsmith. Request body: [ "system_id": "Task-sp-1", "case_type_system_id": "Task", "description": "This case is updated via REST API.", "name": "REST API - Case 1 UPDATED", "project_system_id": "sp", "owner_system_id": "jsmith", "assignees": [ "system_id": "jsmith", "system_id": "tsmith" 92 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

93 , ] "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "15" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] "system_id": "Task-sp-2", "case_type_system_id": "Task", "description": "This case is updated via REST API.", "name": "REST API - Case 2 UPDATED", "project_system_id": "nonexistent", "status_system_id": "nonexistent", "contact_system_id": "nonexistent", "account_system_id": "nonexistent", "priority_system_id": "nonexistent", "owner_system_id": "nonexistent", "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "duration", "value": "20", "system_id": "effort_left", "value": "15" "related_to_cases": [ "system_id": "Task-sp-1", "system_id": "Task-sp-2" ] 93 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

94 Response body: "errors": [ "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Status does not exist.", "Priority does not exist.", "Account does not exist.", "Contact does not exist.", "Owner does not exist." "failed_index": 2 "processed_entities": [ "name": "REST API - Case 1 UPDATED", "case_key": "Task-sp-1", "system_id": "task-sp-1", "description": "This case is updated via REST API.", "closed": false, "created_on": "08/31/ :48:51", "updated_on": "09/01/ :04:26", "case_type": "name": "Task", "unique_key": "task", "system_id": "task", "status": "name": "Closed", "system_id": "closed", "priority": "name": "Critical", "system_id": "Critical", "project": "name": "sp", "system_id": "sp", "is_default": false, "uri": " "creator": "login_name": "rest", "first_name": "rest", "last_name": "", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "rest", "uri": " "updater": "login_name": "rest", "first_name": "rest", "last_name": "", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "rest", "uri": " 94 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

95 "owner": "login_name": "jsmith", "first_name": "John", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "jsmith", "uri": " "assignees": [ "login_name": "jsmith", "first_name": "John", "user_type": "name": "Internal User", "system_id": "internal_user", "system_id": "jsmith", "uri": " "related_to_cases": [ "name": "REST API - Case 2 UPDATED", "case_key": "Task-sp-2", "system_id": "task-sp-2", "uri": " "name": "REST API - Case 1 UPDATED", "case_key": "Task-sp-1", "system_id": "task-sp-1", "uri": " "related_from_cases": [ "name": "REST API - Case 2 UPDATED", "case_key": "Task-sp-2", "system_id": "task-sp-2", "uri": " "name": "REST API - Case 1", "case_key": "Task-sp-21", "system_id": "task-sp-21", "uri": " "name": "REST API - Case 1", "case_key": "Task-sp-24", "system_id": "task-sp-24", "uri": " "name": "REST API - Case 2", "case_key": "Task-sp-3", "system_id": "task-sp-3", "uri": " "name": "REST API - Case 1 UPDATED", "case_key": "Task-sp-1", "system_id": "task-sp-1", "uri": " 95 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

96 "name": "REST API - Case 1", "case_key": "Task-sp-22", "system_id": "task-sp-22", "uri": " "name": "REST API - Case 1", "case_key": "Task-sp-23", "system_id": "task-sp-23", "uri": " "uri": " "case_url": " ] 96 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

97 13. GET /cases/list/system_id HTTP Method Path Description GET /cases/list/system_id Returns cases which belong to the list with specified system id. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/list/list_of_tasks?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK Case list found. 404 Not Found Case not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. JSON example: a) List with system_id list_of_tasks contains 2 cases: GET /cases/list/list_of_tasks?page=1&page_size=10 Response body: "cases": [ "assignees": [ "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": 97 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

98 name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-3", "case_type": "name": "Bug", "system_id": "bug", "unique_key": "bug", "closed": false, "created_on": "09/10/13 14:50:49", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Duration", "system_id": "durationw "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "5", "value_formatted": "5" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described" 98 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

99 , "system_id": "Task-sp-3", "updated_on": "09/10/13 16:54:34", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-5", "case_type": "name": "Bug", "system_id": "bug", "unique_key": "bug", "closed": false, "created_on": "09/10/13 15:55:32", "creator": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "1", "value_formatted": "1", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", 90 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

100 "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-5", "updated_on": "09/10/13 17:07:04", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "completed_in": 0, "page": 1, "page_size": 10, "total": 2 b) GET /cases/list/some_non_existing_list "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Case list does not exist." ] 91 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

101 14. GET /cases/smart_list/system_id HTTP Method Path Description GET /cases/smart_list/system_id Returns cases which belong to the smart list with specified system id. In other words, returns cases which satisfy search criteria saved by smart list. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/smart_list/toms_smart_list?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK Smart list found. 404 Not Found Smart list not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. JSON example: a) Smart list with system id toms_smart_list returns cases where John Smith and Tom Smith are assignees, Tom Smith is case owner and cases belong to Sales Project. List returns two cases. GET /cases/smart_list/toms_smart_list?page=1&page_size=10 Response body: "cases": [ "assignees": [ "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" 92 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

102 "case_key": "Task-sp-3", "case_type": "name": "Bug", "system_id": "bug", "unique_key": "bug", "closed": false, "created_on": "09/10/13 14:50:49", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "5", "value_formatted": "5" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-3", "updated_on": "09/10/13 16:54:34", 93 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

103 "updater": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-5", "case_type": "name": "Bug", "system_id": "bug", "unique_key": "bug", "closed": false, "created_on": "09/10/13 15:55:32", "creator": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "1", "value_formatted": "1", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "owner": "first_name": "Tom", 94 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

104 "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-5", "updated_on": "09/10/13 17:07:04", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "completed_in": 0, "page": 1, "page_size": 10, "total": 2 b) GET /cases/smart_list/some_non_existing_smart_list "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Smart list does not exist." ] 95 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

105 15. GET /cases/system_list/creator HTTP Method Path Description GET /cases/system_list/creator Returns a list of cases in which user performing the REST call is the creator. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/system_list/creator?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CaseBeans - success. JSON example: John Smith created one case. GET /cases/system_list/creator?page=1&page_size=10 Response body: "cases": [ "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-8", "case_type": "name": "Task", "system_id": "task", 96 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

106 "unique_key": "task", "closed": false, "created_on": "10/10/13 14:41:18", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Refresh List", "system_id": "refresh_list", "type_name": "Checkbox", "type_system_id": 8 "description": "", "name": "Test Case 1", "priority": "name": "Low", "system_id": "Trivial", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-8", "updated_on": "10/10/13 14:42:07", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "completed_in": 0, "page": 1, "page_size": 10, "total": 1 97 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

107 16. GET /cases/system_list/creator/user_system_id HTTP Method Path Description GET /cases/smart_list/creator/user_system_id Returns a list of cases in which user with specified system id is the creator. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/smart_list/creator/tsmith?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK User found. 404 Not Found User not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. JSON example: Tom Smith created one case. REST call is performed by John Smith and he needs a list of cases created by Tom Smith. GET /cases/system_list/creator/tsmith?page=1&page_size=10 Response body: "cases": [ "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" 98 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

108 "case_key": "Task-sp-5", "case_type": "name": "Bug", "system_id": "bug", "unique_key": "bug", "closed": false, "created_on": "09/10/13 15:55:32", "creator": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "1", "value_formatted": "1", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "20", "value_formatted": "20" "description": "This case is created via REST API.", "name": "REST API - Case 3 - UPDATED", "owner": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-5", "updated_on": "09/10/13 17:07:04", "updater": "first_name": "John", 99 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

109 "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " "completed_in": 0, "page": 1, "page_size": 10, "total": GET /cases/system_list/assignee HTTP Method Path Description GET /cases/system_list/assignee Returns a list of cases in which user performing the REST call is the assignee. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/system_list/assignee?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CaseBeans - success. Request example: GET /cases/system_list/assignee?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator. 100 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

110 18. GET /cases/system_list/assignee/user_system_id HTTP Method Path Description GET /cases/smart_list/assignee/user_system_id Returns a list of cases in which user with specified system id is the assignee. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/smart_list/assignee/tsmith?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK User found. 404 Not Found User not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. Request example: GET /cases/system_list/assignee/tsmith?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator/user_system_id. 101 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

111 19. GET /cases/system_list/owner HTTP Method Path Description GET /cases/system_list/owner Returns a list of cases in which user performing the REST call is the owner. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/system_list/owner?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CaseBeans - success. Request example: GET /cases/system_list/owner?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator. 20. GET /cases/system_list/owner/user_system_id HTTP Method Path Description GET /cases/smart_list/owner/user_system_id Returns a list of cases in which user with specified system id is the owner. Available search attributes: page (Number) page_size (Number) These search attributes are set as query parameters: /cases/smart_list/owner/tsmith?page=1&page_size=10 Required headers Authorization, domain, Accept 102 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

112 Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body Content-Type N/A 200 OK User found. 404 Not Found User not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. Request example: GET /cases/system_list/owner/tsmith?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator/user_system_id. 21. GET /cases/system_list/team_member HTTP Method Path Description GET /cases/system_list/team_member Returns a list of cases in which user performing the REST call is the team member. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/system_list/team_member?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CaseBeans - success. Request example: GET /cases/system_list/team_member?page=1&page_size= CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

113 Response body has the same format as in GET /cases/system_list/creator. 22. GET /cases/system_list/team_member/user_system_id HTTP Method Path Description GET /cases/smart_list/team_member/user_system_id Returns a list of cases in which user with specified system id is the team member. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/smart_list/team_member/tsmith?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK User found. 404 Not Found User not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. Request example: GET /cases/system_list/team_member/tsmith?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator/user_system_id. 23. GET /cases/system_list/referral HTTP Method Path Description GET /cases/system_list/referral Returns a list of cases in which user performing the REST call is the referral. Available search attributes: 104 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

114 page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/system_list/referral?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CaseBeans - success. 105 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

115 Request example: GET /cases/system_list/referral?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator. 24. GET /cases/system_list/referral/user_system_id HTTP Method Path Description GET /cases/smart_list/referral/user_system_id Returns a list of cases in which user with specified system id is the referral. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/smart_list/referral/tsmith?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK User found. 404 Not Found User not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. Request example: GET /cases/system_list/referral/tsmith?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator/user_system_id. 106 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

116 25. GET /cases/system_list/follower HTTP Method Path Description GET /cases/system_list/follower Returns a list of cases in which user performing the REST call is the follower. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/system_list/follower?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CaseBeans - success. Request example: GET /cases/system_list/follower?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator. 107 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

117 26. GET /cases/system_list/follower/user_system_id HTTP Method Path Description GET /cases/smart_list/follower/user_system_id Returns a list of cases in which user with specified system id is the follower. Available search attributes: page (Number) page_size (Number) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /cases/smart_list/follower/tsmith?page=1&page_size=10 Authorization, domain, Accept Content-Type N/A 200 OK User found. 404 Not Found User not found. ResultBean with a list of CaseBeans - success. ErrorBean - failure. Request example: GET /cases/system_list/follower/tsmith?page=1&page_size=10 Response body has the same format as in GET /cases/system_list/creator/user_system_id. 108 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

118 27. GET /cases/system_id/related_cases HTTP Method Path Description Required headers Returned headers Request Input Accepts Expected request body Response Output Return MIME Type HTTP Status Code Body GET /cases/system_id/related_cases Returns a list of related cases for case with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case not found. A list of CaseBeans - success. ErrorBean - failure. JSON example: Case Task-sp-3 has two related cases. GET /cases/task-sp-3/related_cases Response body: [ "case_key": "Task-sp-1", "name": "REST API - Case 1", "system_id": "Task-sp-1", "uri": " "case_key": "Task-sp-2", "name": "REST API - Case 2", "system_id": "Task-sp-2", "uri": " ] 109 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

119 28. GET /cases/system_id/related_cases/inverse HTTP Method Path Description Required headers Returned headers Request Input Accepts Expected request body Response Output Return MIME Type HTTP Status Code Body GET /cases/system_id/related_cases/inverse Returns a list of all cases from which case with specified system id is related. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case not found. A list of CaseBeans - success. ErrorBean - failure. JSON example: Case Task-sp-3 is related from two cases: Task-sp-4 and Task-sp-5. In other words, cases Task-sp-4 and case Task-sp-5 have realted case Task-sp-3. GET /cases/task-sp-3/related_cases/inverse Response body: [ "case_key": "Task-sp-4", "name": "Task 4", "system_id": "Task-sp-4", "uri": " "case_key": "Task-sp-5", "name": "Task 5", "system_id": "Task-sp-5", "uri": " ] 110 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

120 29. PUT /cases/system_id/related_cases/related_system_id HTTP Method Path Description Required headers Returned headers Request Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /cases/system_id/related_cases/related_system_id Creates a relation between two existing cases. To case with system id "system_id" it sets related case with system id "related_system_id". Authorization, domain, Accept Content-Type N/A 200 OK Cases successfully related. 400 Bad Request Relation already exists. 404 Not Found Cases not found. ErrorBean - failure. Request example: PUT /cases/task-sp-3/related_cases/task-sp DELETE /cases/system_id/related_cases/related_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /cases/system_id/related_cases/related_system_id Deletes the relation between case with system id "system_id" and its related case with system id "related_system_id". Authorization, domain, Accept N/A 200 OK Relation between cases successfully deleted. 400 Bad Request Cases are not related. 404 Not Found Cases not found. ErrorBean - failure. Request example: DELETE /cases/task-sp-3/related_cases/task-sp CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

121 Note: To find more about reading and setting Custom Field values, read Section 7 and Section 8 in Chapter GET /cases/system_id/custom_fields/custom_field_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified case. Authorization, domain, Accept Content-Type N/A 200 OK Custom Field found. 404 Not Found Case or Custom Field not found. CustomFieldBean - success. ErrorBean - failure. JSON example: GET /cases/task-sp-1/custom_fields/duration Response body: "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "10", "value_formatted": "10" 112 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

122 32. POST /cases/system_id/custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /cases/system_id/custom_fields Sets custom field value in specified case based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 201 Created Custom Field value set successfully. 400 Bad Request Custom Field value is not in the right format. 404 Not Found Case or Custom Field not found CaseBean - success. ErrorBean - failure. JSON example: POST /cases/task-sp-1/custom_fields Request body: "system_id": "due_date", "value": "12/26/15" Response body: "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " 113 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

123 "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-1", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 14:35:09", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Due Date", "system_id": "due_date", "type_name": "Date", "type_system_id": 3, "value": "12/26/15", "value_formatted": "26/12/15", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "3", "value_formatted": "3", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "10", "value_formatted": "10" "description": "This case is created via REST API.", "name": "REST API - Case 1", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": 114 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

124 "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-1", "updated_on": "10/10/13 16:17:09", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 33. PUT /cases/system_id/custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body PUT /cases/system_id/custom_fields Updates custom field value in specified case based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 200 OK Custom Field value set successfully. 400 Bad Request Custom Field value is not in the right format. 404 Not Found Case or Custom Field not found CaseBean - success. ErrorBean - failure. JSON example: PUT /cases/task-sp-1/custom_fields 115 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

125 Request body: "system_id": "due_date", "value": "01/15/16" Response body: "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-1", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "09/10/13 14:35:09", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "custom_fields": [ "name": "Due Date", "system_id": "due_date", "type_name": "Date", "type_system_id": 3, "value": "01/15/16", "value_formatted": "15/01/16", 116 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

126 "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "3", "value_formatted": "3", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "10", "value_formatted": "10" "description": "This case is created via REST API.", "name": "REST API - Case 1", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-1", "updated_on": "10/10/13 16:21:10", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 117 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

127 34. DELETE /cases/system_id/custom_fields/custom_field_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /cases/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field in specified case. Authorization, domain, Accept N/A 200 OK Custom field value successfully deleted. 404 Not Found Case or Custom Field not found. ErrorBean - failure. Request example: DELETE /cases/task-sp-1/custom_fields/due_date 35. GET /cases/system_id/attachments HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/attachments Returns a list of attachments from specified case which user who is performing a REST call has permission to see. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case not found. List of AttachmentBean objects - success. ErrorBean - failure. 118 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

128 JSON example: There are four attachments in case Task-sp-1: 1. name: a1-public-jsmith.txt visibility: public uploaded by: Jonh Smith uploaders company: My Company Inc. 2. name: a2-public-jane.txt visibility: public uploaded by: Jane Smith uploaders company: Other Company Inc. 3. name: a3-internal-jsmith.txt visibility: internal uploaded by: Jonh Smith uploaders company: My Company Inc. 4. name: a4-internal-jane.txt visibility: internal uploaded by: Jane Smith uploaders company: Other Company Inc. John Smith can see attachments: 1 (public), 2 (public) and 3 (internal from his company). Jane Smith can see attachments: 1 (public), 2 (public) and 4 (internal from her company). a) John is performing REST call: GET /cases/task-sp-1/attachments Response body: [ "download_link": " "internal": false, "name": "a1-public-jsmith.txt", "system_id": "29156", "uploader": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "download_link": " "internal": false, "name": "a2-public-jane.txt", "system_id": "29158", "uploader": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "company": "name": "My Company Inc.", 119 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

129 "system_id": "my_company_inc", "uri": " "download_link": " "internal": true, "name": "a3-internal-jsmith.txt", "system_id": "29157", "uploader": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" ] b) Jane is performing REST call: GET /cases/task-sp-1/attachments Response body: [ "download_link": " "internal": false, "name": "a2-public-jane.txt", "system_id": "29158", "uploader": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "download_link": " "internal": false, "name": "a1-public-jsmith.txt", "system_id": "29156", "uploader": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "company": "name": "Other Company Inc.", 120 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

130 "system_id": "other_company_inc", "uri": " "download_link": " "internal": true, "name": "a4-internal-jane.txt", "system_id": "29151", "uploader": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner" ] 36. GET /cases/system_id/attachments/attachment_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/attachments/attachment_system_id Returns (downloads) attached file with specified attachment system id from case with specified system id. Authorization, domain, Accept Content-Type application/octet-stream N/A application/octet-stream 200 OK Case found. 400 Bad Request Case does not contain specified attachment. 403 Forbidden Attachment is not visible for requester. 404 Not Found Case or Attachment not found. List of AttachmentBean objects - success. ErrorBean - failure. JSON example: a) Jonh is performing REST call and he want to download attachment a1-public-jsmith.txt with system_id GET cases/task-sp-1/attachments/ CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

131 Response body: This is a public attachment uploaded by Jonh Smith from My Company Inc. Response headers: Content-Disposition: attachment; filename="a1-public-jsmith.txt" Content-Type: application/octet-stream b) Jonh is performing REST call and he want to download attachment a4-internal-jane.txt with system_id GET /cases/task-sp-1/attachments/29155 Response body: "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to download this attachment." ] c) Jane is performing REST call and she wants to download attachment a1-public-jane.txt with system_id GET cases/task-sp-1/attachments/29158 Response body: This is a public attachment uploaded by Jane Smith from Other Company Inc. Response headers: Content-Disposition: attachment; filename="a2-public-jane.txt" Content-Type: application/octet-stream d) Jane is performing REST call and she wants to download attachment a3-internal-jsmith.txt with system_id GET /cases/task-sp-1/attachments/ CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

132 Response body: "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to download this attachment." ] 37. POST /cases/system_id/attachments HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /cases/system_id/attachments Uploads attachment to specified case. Request must have the following header: Content-Type: multipart/form-data; boundary= Authorization, domain, Accept, Content-Type Content-Type, Location 1. Attachment visibility (true/false) sent as form field with name internal. 2. File with size lesoctets than 20MB uploaded as form field with name uploaded_file. 201 OK File successfully uploaded. 400 Bad Request File not sent; file larger than 20MB 404 Not Found Case not found. AttachmentBean - success. ErrorBean - failure. Example HTML form: <html> <head> </head> <body> <form action=" enctype="multipart/form-data" method="post"> File: <input type="file" name="uploaded_file"> Visibility: <input type="radio" value="false" name="internal">public <input type="radio" value="true" name="internal">internal <input type="submit" value="attach File" /> </form> </body> </html> 123 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

133 a) Jonh Smith is uploading public attachment: POST /cases/task-sp-1/attachments Response body: "download_link": " "internal": false, "name": "public_attachment_123_jsmith.txt", "system_id": "29170", "uploader": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" b) John Smith is uploading internal attachment POST /cases/task-sp-1/attachments Response body: "company": "name": "My Company Inc.", "system_id": "my_company_inc", "uri": " "download_link": " "internal": true, "name": "internal_attachment_123_jsmith.txt", "system_id": "29171", "uploader": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " 124 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

134 "user_type": "name": "Partner", "system_id": "partner" 38. DELETE /cases/system_id/attachments/attachment_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /cases/system_id/attachments/attachment_system_id Deletes the attachment with specified attachment system id from specified case. Authorization, domain, Accept N/A 200 OK Attachment successfully deleted. 400 Bad Request Case does not contain specified attachment. 403 Forbidden Requester does not have permission to delete the attachment. 404 Not Found Case or attachment not found. ErrorBean - failure. JSON example: a) John wants to delete public attachment a2-public-jane.txt with system_id DELETE /cases/task-sp-1/attachments/29158 b) John wants to delete internal attachment a4-internal-jane.txt with system_id DELETE /cases/task-sp-1/attachments/29151 "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to delete this attachment." ] 125 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

135 39. GET /cases/system_id/comments HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/comments Returns a list of comments from specified case which user who is performing a REST call has permission to see. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case not found. List of CommentBean objects - success. ErrorBean - failure. JSON example: There are five comments in case Task-sp-2: 1. Public comment by John Smith comment: Public - John visibility: public author: John Smith author s company: My Company Inc. system_id: Internal comment by Jonh Smith. comment: Internal - John visibility: internal author: John Smith author s company: My Company Inc. system_id: Public comment by Jane Smith comment: Public - Jane visibility: public author: Jane Smith author s company: Other Company Inc. system_id: Internal comment by Jane Smith comment: Internal - Jane visibility: internal author: Jane Smith author s company: Other Company Inc. system_id: Public comment by John - Reply to Jane's public comment. comment: Public - John - Reply to Jane's public comment. visibility: public 126 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

136 author: John Smith author s company: My Company Inc. system_id: parent_system_id: John Smith can see comments: 1 (public), 2 (internal from his company) and 3 (public) and 5 (public). Jane Smith can see comments: 1 (public), 3 (public) and 4 (internal from her company) and 5 (public). a) John is performing REST call: GET /cases/task-sp-2/comments Response body: [ "author": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John - Reply to Jane's public comment.", "created_on": "11/02/14 11:48:12", "internal": false, "parent_system_id": "158871", "system_id": "158875", "updated_on": "13/02/14 16:19:37", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "author": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - Jane", "created_on": "12/02/14 09:16:51", "internal": false, 127 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

137 "system_id": "158871", "author": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Internal - John", "created_on": "11/02/14 12:26:03", "company": "name": "My Company Inc.", "system_id": "my_company_inc", "uri": " "internal": true, "system_id": "158869", "author": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John", "created_on": "11/02/14 11:48:12", "internal": false, "system_id": "158868" ] b) Jane is performing REST call: GET /cases/task-sp-1/comments Response body: [ "author": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John - Reply to Jane's public comment.", "created_on": "11/02/14 11:48:12", "internal": false, 128 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

138 "parent_system_id": "158871", "system_id": "158875", "updated_on": "13/02/14 16:19:37", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "author": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Internal - Jane", "created_on": "11/02/14 12:31:14", "company": "name": "Other Company Inc.", "system_id": "other_company_inc", "uri": " "internal": true, "system_id": "158872", "author": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - Jane", "created_on": "12/02/14 09:16:51", "internal": false, "system_id": "158871", "author": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John", "created_on": "11/02/14 11:48:12", "internal": false, 129 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

139 ] "system_id": "158868" 40. GET /cases/system_id/comments/comment_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/comments/comment_system_id Returns a comment with specified comment system id from specified case. Authorization, domain, Accept Content-Type N/A 200 OK Case and comment found. 400 Bad Request Case does not contain requested comment. 403 Forbidden - User does not have permission to read specified comment. 404 Not Found Case or comment not found. CommentBean - success. ErrorBean - failure. JSON example: a) Jonh is requesting his public comment. GET /cases/task-sp-1/comments/ Response body: "author": "first_name": "John", "last_name": "Smith", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John", "created_on": "11/02/14 11:48:12", "internal": false, "system_id": "158868" b) John is requesting Jane s internal comment. 130 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

140 GET /cases/task-sp-1/comments/ Reponse body: "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to read this comment." ] 41. POST /cases/system_id/comments HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /cases/system_id/comments 1. Creates a comment based on received CommentBean in case with specified system id. 2. Creates a reply to comment with system id parent_system_id if parent_system_id is sent via CommentBean. In both cases, if author_system_id is left out, user performing REST API call will be set as comment author. Authorization, domain, Accept, Content-Type Content-Type, Location CommentBean 201 OK Comment successfully added. 403 Forbidden User does not have permission to reply to specified comment with system id parent_system_id. 404 Not Found Case not found. CommentBean - success. ErrorBean - failure. JSON example: a) Public comment by John Smith POST /cases/task-sp-2/comments 131 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

141 Request body: "comment": "Public - John", "internal": "false", "author_system_id": "jsmith" Response body: "author": "first_name": "John", "last_name": "Smith", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John", "created_on": "11/02/14 11:48:12", "internal": false, "system_id": "158868" b) Internal comment by Jonh Smith. (John is performing REST API call and author_system_id is not sent.) POST /cases/task-sp-2/comments Request body: "comment": "Internal - John", "internal": "true" Response body: "author": "first_name": "John", "last_name": "Smith", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Internal - John", 132 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

142 "created_on": "11/02/14 12:26:03", "company": "name": "My Company Inc.", "system_id": "my_company_inc", "uri": " "internal": true, "system_id": "158869" c) Public comment by Jane Smith POST /cases/task-sp-2/comments Request body: "comment": "Public - Jane", "internal": "false" Reponse body: "author": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - Jane", "created_on": "12/02/14 09:16:51", "internal": false, "system_id": "158871" d) Internal comment by Jane Smith. POST /cases/task-sp-2/comments Request body: "comment": "Internal - Jane", "internal": "true" Reponse body: 133 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

143 "author": "first_name": "Jane", "login_name": "jane", "system_id": "jane", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Internal - Jane", "created_on": "11/02/14 12:31:14", "company": "name": "Other Company Inc.", "system_id": "other_company_inc", "uri": " "internal": true, "system_id": "158872" e) Jonh is replying to public comment by Jane with system_id POST /cases/task-sp-2/comments Request body: "comment": "Public - John - Reply to Jane's public comment.", "internal": "false", "parent_system_id": "158871" Reponse body: "author": "first_name": "John", "last_name": "Smith", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John - Reply to Jane's public comment.", "created_on": "11/02/14 11:48:12", "internal": false, "parent_system_id": "158871", "system_id": "158875" f) John is replying to internal comment by Jane with system_id POST /cases/task-sp-2/comments 134 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

144 Request body: "comment": "Internal - John - Reply to Jane's internal comment.", "internal": "false", "parent_system_id": "158872" Response body: "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to reply to this comment." ] 42. PUT /cases/system_id/comments/comment_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /cases/system_id/comments/comment_system_id Updates a comment based on received CommentBean in case with specified system id. Note: Comment visibility cannot be changed. Authorization, domain, Accept, Content-Type Content-Type CommentBean 200 OK Comment successfully updated. 403 Forbidden User does not have permission to edit specified comment. 400 Bad Request Case does not contain specified comment. 404 Not Found Case or Comment not found. CommentBean - success. ErrorBean - failure. JSON example: a) John wants to update his public comment with system id PUT /cases/task-sp-2/comments/ CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

145 Request body: "comment": "Public - John - UPDATED" Response body: "author": "first_name": "John", "last_name": "Smith", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "comment": "Public - John - UPDATED", "created_on": "11/02/14 11:48:12", "internal": false, "system_id": "158868", "updated_on": "13/02/14 16:19:37", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" b) John wants to update Jane s internal comment with system id PUT /cases/task-sp-2/comments/ Request body: "comment": "Internal - Jane - UPDATED" Response body: "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to update this comment." ] 136 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

146 43. DELETE /cases/system_id/comments/comment_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /cases/system_id/comments/comment_system_id Deletes a comment with specified comment system id in case with specified system id. Authorization, domain, Accept N/A 200 OK Comment successfully deleted. 400 Bad Request Case does not contain specified comment. 403 Forbidden Requester does not have permission to delete the comment. 404 Not Found Case or comment not found. ErrorBean - failure. JSON example: a) John wants to delete public his public comment with system_id DELETE /cases/task-sp-1/comments/ b) John wants to delete Jane s internal comment with system_id DELETE /cases/task-sp-1/comments/ "error_code": "PERMISSION_DENIED", "error_messages": [ "You do not have permission to delete this comment." ] 137 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

147 44. GET /cases/system_id/actions HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/actions Returns all actions which user who is performing REST call can execute in specified case. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case not found. List of ActionBean objects - success. ErrorBean - failure. JSON example: Jonh is performing a REST call requesting a list of actions he can execute. GET /cases/task-sp-2/actions Response body: [ "name": "Add Comment", "system_id": "3680", "type": "Add Comment", "name": "Assign", "system_id": "1886", "type": "Assign", "name": "Change Status to Awaiting Clarification", "system_id": "922", "type": "Assign", "name": "Task Complete", "system_id": "1299", "type": "Assign", "name": "Attach File", "system_id": "388", "type": "Attach File", 138 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

148 "name": "Change Workflow", "system_id": "1513", "type": "Change Workflow", "name": "Change Project", "system_id": "1629", "type": "Change Project", "name": "Close", "system_id": "390", "type": "Close", "name": "Delete Attachment", "system_id": "4840", "type": "Delete Attachment", "name": "Delete Case", "system_id": "1648", "type": "Delete Case", "name": "Delete Comment", "system_id": "5089", "type": "Delete Comment", "name": "Edit Case", "system_id": "1142", "type": "Edit Case", "name": "Print Document", "system_id": "3827", "type": "Print Document", "name": "Send Message", "system_id": "1414", "type": "Send Message", "name": "Share Case", "system_id": "3621", "type": "Share Case", "name": "View Case", "system_id": "1916", "type": "View Case" ] 139 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

149 45. GET /cases/system_id/actions/user_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /cases/system_id/actions/user_system_id Returns all actions which specified user can execute in specified case. Authorization, domain, Accept Content-Type N/A 200 OK Case found. 404 Not Found Case or user not found. List of ActionBean objects - success. ErrorBean - failure. JSON example: Jonh is performing a REST call requesting a list of actions Tom Smith can execute. GET /cases/task-sp-2/actions/tsmith Response body: [ "name": "Add Comment", "system_id": "3680", "type": "Add Comment", "name": "Assign", "system_id": "1886", "type": "Assign", "name": "Change Status to Awaiting Clarification", "system_id": "922", "type": "Assign", "name": "Task Complete", "system_id": "1299", "type": "Assign", "name": "Attach File", "system_id": "388", "type": "Attach File", "name": "Delete Attachment", "system_id": "4840", 140 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

150 "type": "Delete Attachment", "name": "Delete Comment", "system_id": "5089", "type": "Delete Comment", "name": "Edit Case", "system_id": "1142", "type": "Edit Case", "name": "Print Document", "system_id": "3827", "type": "Print Document", "name": "Send Message", "system_id": "1414", "type": "Send Message", "name": "Share Case", "system_id": "3621", "type": "Share Case", "name": "View Case", "system_id": "1916", "type": "View Case" ] 141 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

151 46. PUT /cases/system_id/actions/action_system_id HTTP Method Path Description PUT /cases/system_id/actions/action_system_id Executes specified action in specified case. Case is updated based on received ActionParamsBean. Supported actions: 1. Assign 2. Add Comment 3. Change Status 4. Close Case 5. Edit Case 6. Delete Case 7. Reopen Case 8. Copy Case 9. Change Case Type 10. Change Project 11. Approve 12. Reject 13. Scripting Action Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body (Attach file action has its own method.) Authorization, domain, Accept, Content-Type Content-Type ActionParamsBean 200 OK Action successfully executed (except delete case action). 204 No Content Delete case action executed successfully. 400 Bad Request Required custom fields are not sent. 403 Forbidden User does not have permission to to execute action. 404 Not Found Case or Action not found; child entity with system_id sent via ActionParamsBean does not exist. CaseBean success (except delete). empty When delete case action is exeuted successfully. ErrorBean - failure. 142 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

152 JSON example: Note: All REST API calls for executing actions will be made by John Smith (jsmith). Case updater after executing actions will be Jonh Smith. Examples show what ActionParamsBean fields are used for each action. 1) Assign PUT /cases/task-sp-2/actions/my_assign_action Request body: "comment": "Execute assign action via REST API", "comment_is_internal": true, "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "effort_left", "value": "2", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", 143 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

153 "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "uri": "created_on": "10/09/ :36:44", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "2", "value_formatted": "2", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "This case is created via RESTful web services.", "name": "Task 2 - Created via REST", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", 144 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

154 "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "status_changed_on": "10/15/ :35:19", "system_id": "Task-sp-2", "updated_on": "10/15/ :59:53", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 2) Add Comment a) Public comment PUT /cases/task-sp-2/actions/my_add_comment Request body: "comment": "Execute add comment action via REST - public comment", "comment_is_internal": false, "custom_fields": [ "system_id": "effort_left", "value": "1", "system_id": "duration", "value": "15" ] 145 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

155 b) Internal comment PUT /cases/task-sp-2/actions/my_add_comment Request body: "comment": "Execute add comment action via REST - internal comment", "comment_is_internal": true, "custom_fields": [ "system_id": "effort_left", "value": "1", "system_id": "duration", "value": "15" ] 3) Change Status Note: Case goes into action s end status. PUT /cases/task-sp-2/actions/change_status_to_awaiting_clarification Request body: "custom_fields": [ "system_id": "effort_left", "value": "14", "system_id": "duration", "value": "15" ] 4) Close Case Note: Case assignee it the first assignee from assignees list in receiverd ActionParamsBean. PUT /cases/task-sp-2/actions/my_close_case_action 146 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

156 Request body: "comment": "Execute close case action via REST - public comment", "comment_is_internal": false, "assignees": [ "system_id": "tsmith" "custom_fields": [ "system_id": "effort_left", "value": "0", "system_id": "duration", "value": "15" ] 5) Edit Case PUT /cases/task-sp-2/actions/my_edit_case Request body: "name": "Task 2 updated via Edit action", "description": "Updating description via Edit action", "priority_system_id": "Critical", "account_system_id": "some_company_account", "contact_system_id": "jsmith_someaddress_com", "owner_system_id": "jsmith", "referral_system_id": "tsmith", "custom_fields": [ "system_id": "effort_left", "value": "2", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ 147 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

157 "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "jsmith_someaddress_com", "uri": " "created_on": "09/10/13 14:36:44", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "2", "value_formatted": "2", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "Task 2 updated via Edit action", 148 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

158 "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-2", "updated_on": "14/10/13 14:07:15", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 149 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

159 6) Delete Case Note: Request body must contain empty JSON. PUT /cases/task-sp-2/actions/my_delete_action Request body: Response: Response body: empty Status: 204 No Content 7) Reopen Case Note: Case assignee it the first assignee from assignees list in receiverd ActionParamsBean. PUT /cases/task-sp-2/actions/my_close_case_action Request body: "comment": "Execute reopen case action via REST - internal comment", "comment_is_internal": true, "assignees": [ "system_id": "tsmith" "custom_fields": [ "system_id": "effort_left", "value": "2", "system_id": "duration", "value": "15" ] 150 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

160 8) Copy Case Note: Reponse contains new case (new copy). Custom Fields are updated in both cases (original and copy). PUT /cases/task-sp-2/actions/my_copy_case Request body: "custom_fields": [ "system_id": "effort_left", "value": "5", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-10", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "jsmith@someaddress.com", "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "account77-jsmith@someaddress.com", "uri": " "created_on": "15/10/13 14:27:54", "creator": 151 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

161 "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "5", "value_formatted": "5", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "Task 2 updated via Edit action", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-sp-10", "updated_on": "15/10/13 14:27:54", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 152 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

162 9) Change Case Type PUT /cases/task-sp-10/actions/my_change_case_type_action Request body: "case_type_system_id": "Bug", "custom_fields": [ "system_id": "effort_left", "value": "10", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Bug-sp-1", "case_type": "name": "Bug", "system_id": "bug", "unique_key": "bug", "closed": false, "contact": " ": "jsmith@someaddress.com", "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "account77-jsmith@someaddress.com", "uri": " "created_on": "15/10/13 14:27:54", "creator": "first_name": "John", "login_name": "jsmith", 153 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

163 "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "10", "value_formatted": "10", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "Task 2 updated via Edit action", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Bug-sp-1", "updated_on": "15/10/13 14:42:29", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 154 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

164 10) Change Project PUT /cases/task-sp-9/actions/my_change_project_action Request body: "project_system_id": "ap", "custom_fields": [ "system_id": "effort_left", "value": "1", "system_id": "duration", "value": "15" ] Response body: "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-ap-1", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "created_on": "10/10/13 16:02:37", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " 155 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

165 "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15", "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "1", "value_formatted": "1" "description": "This case is created via REST API.", "name": "REST API - Case 4", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "Medium", "system_id": "Non-Critical", "project": "description": "", "is_default": false, "name": "Another Project", "system_id": "ap", "uri": " "status": "name": "Described", "system_id": "described", "system_id": "Task-ap-1", "updated_on": "15/10/13 15:06:14", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 156 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

166 11) Approve Case Task-sp-2 is in status Awaiting Clarification. Approve action sends case to Task Complete status. PUT /cases/task-sp-2/actions/my_approve_action Request body: "custom_fields": [ "system_id": "effort_left", "value": "0", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "jsmith@someaddress.com", "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "account77-jsmith@someaddress.com", "uri": " "created_on": "09/10/13 14:36:44", "creator": 157 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

167 "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "0", "value_formatted": "0", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "Task 2 updated via Edit action", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Task Complete", "system_id": "task_complete", "status_changed_on": "15/10/13 15:33:15", "system_id": "Task-sp-2", 158 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

168 "updated_on": "15/10/13 15:33:15", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 12) Reject Case Task-sp-2 is in status Awaiting Clarification. Reject action sends case to Described status. PUT /cases/task-sp-2/actions/my_reject_action Request body: "custom_fields": [ "system_id": "effort_left", "value": "5", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", 159 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

169 "unique_key": "task", "closed": false, "contact": " ": "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "uri": "created_on": "09/10/13 14:36:44", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "5", "value_formatted": "5", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "Task 2 updated via Edit action", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", 160 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

170 "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "status_changed_on": "15/10/13 15:35:19", "system_id": "Task-sp-2", "updated_on": "15/10/13 15:35:19", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 13) Scripting Action Scripting action with system id my_scripting_action has workflow script attached to itself. The sctipt is written in Groovy and changes case name to specific text. Script code: currentcase.setname("new name set by executing scripting action via REST"); PUT /cases/task-sp-2/actions/my_scripting_action Request body "custom_fields": [ "system_id": "effort_left", "value": "4", "system_id": "duration", "value": "15" ] 161 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

171 Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "jsmith@someaddress.com", "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "account77-jsmith@someaddress.com", "uri": " "created_on": "09/10/13 14:36:44", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "4", "value_formatted": "4", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" 162 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

172 "description": "Updating description via Edit action", "name": "new name set by executing scripting action via REST", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "status_changed_on": "15/10/13 15:35:19", "system_id": "Task-sp-2", "updated_on": "15/10/13 15:42:06", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 163 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

173 47. PUT /cases/system_id/actions/action_system_id/user_system_id HTTP Method Path Description PUT /cases/system_id/actions/action_system_id/user_system_id Executes specified action in specified case as specified user. (Attach file action has its own method.) Case is updated based on received ActionParamsBean. Supported actions: 1. Assign 2. Add Comment 3. Change Status 4. Close Case 5. Edit Case 6. Delete Case 7. Reopen Case 8. Copy Case 9. Change Case Type 10. Change Project 11. Approve 12. Reject 13. Scripting Action Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body (Attach file action has its own method.) Authorization, domain, Accept, Content-Type Content-Type ActionParamsBean 200 OK Action successfully executed (except delete case action). 204 No Content Delete case action executed successfully. 400 Bad Request Required custom fields are not sent. 403 Forbidden User does not have permission to to execute action. 404 Not Found Case, Action or User not found; child entity with system_id sent via ActionParamsBean does not exist. CaseBean success (except delete). empty When delete case action is exeuted successfully. ErrorBean - failure. 164 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

174 JSON example: Note: All REST API calls for executing actions will be made by John Smith (jsmith). Case updater after executing actions will be user with system_id user_system_id. Assign Action example: PUT /cases/task-sp-2/actions/my_assign_action/tsmith Request body: "comment": "Execute assign action via REST API", "comment_is_internal": true, "assignees": [ "system_id": "jsmith", "system_id": "tsmith" "custom_fields": [ "system_id": "effort_left", "value": "6", "system_id": "duration", "value": "15" ] Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", 165 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

175 "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "uri": "created_on": "10/09/ :36:44", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "6", "value_formatted": "6", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "This case is created via REST API.", "name": "Task 2 created via REST API", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", 166 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

176 "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "status_changed_on": "10/15/ :35:19", "system_id": "Task-sp-2", "updated_on": "10/15/ :32:34", "updater": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 167 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

177 48. POST /cases/system_id/actions/action_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body POST /cases/system_id/actions/action_system_id Executes specified Attach File action in specified case. Request must have the following header: Content-Type: multipart/form-data; boundary= Authorization, domain, Accept, Content-Type Content-Type 1. File with size less than 20MB uploaded as form field with name uploaded_file. 2. Attachment visibility sent as form field with name internal. Values true/false. 3. Comment sent as form field with name comment. 200 OK Action successfully executed. 403 Forbidden User does not have permission to to execute action. 400 Bad Request File not sent; file larger than 20MB; 404 Not Found Case or Action not found. CaseBean success. ErrorBean - failure. Example HTML form: <html> <head> </head> <body> <form action=" enctype="multipart/form-data" method="post"> Visibility: <input type="radio" value="false" name="internal">public <input type="radio" value="true" name="internal">internal <br /> Comment: <input type="text" name="comment"> <br /> <INPUT type="submit" value="upload"> <INPUT type="reset"> </form> </body> </html> 168 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

178 Request example: John Smith is uploading attachment using Attach File Action. PUT /cases/task-sp-2/actions/my_assign_action Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, "contact": " ": "jsmith@someaddress.com", "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "account77-jsmith@someaddress.com", "uri": " "created_on": "10/09/ :36:44", 169 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

179 "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "6", "value_formatted": "6", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "new name set by executing scripting action via REST", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "status_changed_on": "10/15/ :35:19", 170 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

180 "system_id": "Task-sp-2", "updated_on": "10/16/ :40:46", "updater": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "uri": " 49. POST /cases/system_id/actions/action_system_id/user_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body POST /cases/system_id/actions/action_system_id/user_system_id Executes specified Attach File action in specified case as specified user. Request must have the following header: Content-Type: multipart/form-data; boundary= Authorization, domain, Accept, Content-Type Content-Type 1. File with size less than 20MB uploaded as form field with name uploaded_file. 2. Attachment visibility sent as form field with name internal. Values true/false. 3. Comment sent as form field with name comment. 200 OK Action successfully executed. 403 Forbidden User does not have permission to to execute action. 400 Bad Request File not sent; file larger than 20MB; 404 Not Found Case, Action or user not found. CaseBean success. ErrorBean - failure. Example HTML form: <html> <head> </head> <body> <form action=" enctype="multipart/form-data" method="post"> Visibility: <input type="radio" value="false" name="internal">public <input type="radio" value="true" name="internal">internal 171 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

181 <br /> Comment: <input type="text" name="comment"> <br /> <INPUT type="submit" value="upload"> <INPUT type="reset"> </form> </body> </html> Request example: John Smith is executing REST API call and uploading attachment using Attach File Action. Tom Smith is supposed to be set as action executor. PUT /cases/task-sp-2/actions/my_assign_action/tsmith Response body: "account": "name": "Some Company Account", "system_id": "some_company_account", "uri": " "assignees": [ "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner" "case_key": "Task-sp-2", "case_type": "name": "Task", "system_id": "task", "unique_key": "task", "closed": false, 172 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

182 "contact": " ": "first_name": "John", "last_name": "Smith", "middle_name": "", "system_id": "uri": "created_on": "10/09/ :36:44", "creator": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "custom_fields": [ "name": "Effort Left", "system_id": "effort_left", "type_name": "Number", "type_system_id": 2, "value": "6", "value_formatted": "6", "name": "Duration", "system_id": "duration", "type_name": "Number", "type_system_id": 2, "value": "15", "value_formatted": "15" "description": "Updating description via Edit action", "name": "new name set by executing scripting action via REST", "owner": "first_name": "John", "login_name": "jsmith", "system_id": "jsmith", "uri": " "user_type": "name": "Partner", "system_id": "partner", "priority": "name": "High", "system_id": "Critical", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "referral": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": 173 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

183 "name": "Sales and Marketing", "system_id": "sales_and_marketing", "status": "name": "Described", "system_id": "described", "status_changed_on": "10/15/ :35:19", "system_id": "Task-sp-2", "updated_on": "10/16/ :40:46", "updater": "first_name": "Tom", "login_name": "tsmith", "system_id": "tsmith", "uri": " "user_type": "name": "Sales and Marketing", "system_id": "sales_and_marketing", "uri": " 174 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

184 3. Case Type Resource: Case Types Main path: /case_types 1. GET /case_types/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /case_types/system_id Returns the case type with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Case Type found. 404 Not Found Case Type not found. CaseTypeBean - success. ErrorBean - failure. JSON example: a) GET /case_types/task Response body: "name": "Task", "system_id": "task", "unique_key": "task" 175 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

185 2. GET /case_types HTTP Method Path Description GET /case_types Search case types based on set query parameters. Returns a list of case types which satisfy search criteria. Available search attributes: page (Number) page_size (Number) name (String) system_id (String) mask (String) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /case_types?name=task&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with list of CaseTypeBeans. JSON example: Response body: GET /case_types?name=task&page=1&page_size=5 "case_types": [ "name": "Task", "system_id": "task", "unique_key": "task" "completed_in": 35, "page": 1, "page_size": 10, "total": CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

186 3. GET /case_types/system_id/statuses HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /case_types/system_id/statuses Returns statuses associated with specified case type. Authorization, domain, Accept Content-Type N/A 200 OK Case Type found. 404 Not Found Case Type not found. List of StatusBeans - success. ErrorBean - failure. JSON example: GET /case_types/task/statuses Response body: [ "name": "Described", "system_id": "described", "name": "In Preparation", "system_id": "in_preparation", "name": "Awaiting Clarification", "system_id": "awaiting_clarification", "name": "Task Complete", "system_id": "task_complete", "name": "Closed", "system_id": "closed" ] 177 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

187 4. GET /case_types/system_id/statuses/status_system_id/actions HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /case_types/system_id/statuses/status_system_id/actions Returns actions in specified status for specified case type. Authorization, domain, Accept Content-Type N/A 200 OK Case Type found. 404 Not Found Case Type or Status not found. List of ActionBeans - success. ErrorBean - failure. JSON example: GET /case_types/task/statuses/awaiting_clarification/action Response body: [ "end_status": "name": "Awaiting Clarification", "system_id": "awaiting_clarification", "name": "Add Comment", "start_status": "name": "Awaiting Clarification", "system_id": "awaiting_clarification", "system_id": "add_comment", "type": "Add Comment", "end_status": "name": "Task Complete", "system_id": "task_complete", "name": "Task Completed", "start_status": "name": "Awaiting Clarification", "system_id": "awaiting_clarification", "system_id": "task_complete", "type": "Assign" ] 178 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

188 4. Company Resource: Company Main path: /companies 1. GET /companies/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /companies/system_id Returns the company with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Company found. 404 Not Found Company not found. CompanyBean - success. ErrorBean - failure. JSON example: a) GET /companies/my_company_inc Response body: "address_1": "Some Street 123", "address_2": "", "city": "San Francisco", "country": "USA", "name": "My Company Inc.", "project": "description": "This is a project for grouping cases regarding sales.", "is_default": false, "name": "Sales project", "system_id": "sp", "uri": " "state": "California", "system_id": "my_company_inc", "uri": " "zip": "12345" 179 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

189 b) GET /companies/some_non_existing_company "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Company does not exist." ] 2. POST /companies HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /companies Creates a company based on received CompanyBean. Authorization, domain, Accept, Content-Type Content-Type, Location CompanyBean 201 Created Company successfully created. 400 Bad Request Required fields are missing or other constraint error. CompanyBean - success. ErrorBean - failure. JSON example: a) POST /companies Request body: "address_1": "Some Street 123", "address_2": "", "city": "San Francisco", "country": "USA", "name": "My Company Inc.", "project_system_id": "sp", "state": "California", "system_id": "my_company_inc", "zip": "12345" 180 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

190 b) If company name which is required is not sent: "error_code": "CONSTRAINT_VIOLATIONS", "error_messages": [ "Company name is required." ] 3. PUT /companies HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /companies Updates the company based on received CompanyBean. Authorization, domain, Accept, Content-Type Content-Type CompanyBean 200 OK Company successfully updated. 400 Bad Request Required fields are missing or other constraint error. 404 Not Found Company not found. CompanyBean - success. ErrorBean - failure. JSON example: Note: CompanyBean s system_id field must be set. PUT /companies Request body: "address_1": "Some Street 456", "address_2": "Oak Street 789", "city": "San Francisco", "country": "USA", "name": "My Company Inc.", "project_system_id": "sp", "state": "California", "system_id": "my_company_inc", "zip": "12345" 181 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

191 Response body: "address_1": "Some Street 456", "address_2": "Oak Street 789", "city": "San Francisco", "country": "USA", "name": "My Company Inc.", "project": "description": "", "is_default": false, "name": "Sales Project", "system_id": "sp", "uri": " "state": "California", "system_id": "my_company_inc", "uri": " "zip": "12345" 4. DELETE /companies/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /companies/system_id Deletes the company with specified system id. Authorization, domain, Accept N/A 200 OK Company successfully deleted. 304 Not Modified If company could not be deleted. 404 Not Found Company not found. ErrorBean - failure. Request example: DELETE /companies/my_company_inc 182 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

192 5. GET /companies HTTP Method Path Description GET /companies Search companies based on set query parameters. Returns a list of companies which satisfy search criteria. Available search attributes: page (Number) page_size (Number) name (String) system_id (String) mask (String) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /companies?name=inc&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with list of CompanyBeans. JSON example: GET /companies?name=inc&page=1&page_size=5 "companies": [ "address_1": "Some Street 123", "address_2": "", "city": "San Francisco", "country": "USA", "name": "My Company Inc.", "project": "description": "This is a project for grouping cases regarding sales.", "is_default": false, "name": "Sales project", "system_id": "sp", "uri": " "state": "California", "system_id": "my_company_inc", "uri": " "zip": "12345", 183 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

193 "address_1": "Fake Street 567", "address_2": "", "city": "New York", "country": "USA", "name": "Other company Inc.", "state": "New York", "system_id": "other_company_inc", "uri": " "zip": "45678", "completed_in": 68, "page": 1, "page_size": 5, "total": CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

194 5. Contact Resource: Contact Main path: /contacts 1. GET /contacts/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /contacts/system_id Returns the contact with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Contact found. 404 Not Found Contact not found. ContactBean - success. ErrorBean - failure. JSON example: a) GET /contacts/jsmith_someaddress_com Response body: "account": "name": "Account B", "system_id": "account_b", "uri": " "active": true, "address": "address2": "Second Street 456", "address3": "Third Street 789", "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "cell_phone": " ", "custom_fields": [ "name": "Contact Role", 185 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

195 "system_id": "contact_role", "type_name": "Checkbox", "type_system_id": 8, "value": "Consultant", "value_formatted": "Consultant" "department": "", " ": "fax": " ", "first_name": "John", "home_phone": " ", "id": 1894, "job_title": "Developer", "middle_name": "", "name": "John Smith", "phone": " ", "system_id": "jsmith_someaddress_com", "uri": " b) GET /contacts/some_non_existing_contact "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Contact does not exist." ] 2. POST /contacts HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /contacts Creates a contact based on received ContactBean. Authorization, domain, Accept, Content-Type Content-Type, Location ContactBean 201 Created Contact successfully created. 400 Bad Request Required fields are missing or other constraint error. ContactBean - success. ErrorBean - failure. 186 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

196 JSON example: a) POST /contacts Request body: "account_system_id": "account_b", "active": true, "cell_phone": " ", "custom_fields": [ "systemid": "contact_role", "value": "consultant" "department": "", " ": "jsmith@someaddress.com", "first_name": "John", "home_phone": " ", "job_title": "Developer", "system_id": "jsmith@someaddress.com", "phone": " " Reponse body: "account": "name": "Account B", "system_id": "account_b", "uri": " "active": true, "cell_phone": " ", "department": "", " ": "jsmith@someaddress.com", "first_name": "John", "home_phone": " ", "job_title": "Developer", "name": "John Smith", "phone": " ", "system_id": "jsmith_someaddress_com", "uri": " b) If contact name which is required is not sent: "error_code": "CONSTRAINT_VIOLATIONS", "error_messages": [ "Contact name is required." ] 187 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

197 3. PUT /contacts HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /contacts Updates the contact based on received ContactBean. Authorization, domain, Accept, Content-Type Content-Type ContactBean 200 OK Contact successfully updated. 400 Bad Request Required fields are missing or other constraint error. 404 Not Found Contact not found. ContactBean - success. ErrorBean - failure. JSON example: Note: ContactBean s system_id field must be set. PUT /contacts Request body: "account_system_id": "account_b", "active": true, "cell_phone": " ", "custom_fields": [ "systemid": "contact_role", "value": "consultant" "department": "", " ": "jsmith@someaddress.com", "first_name": "John", "home_phone": " ", "job_title": "Developer", "system_id": "jsmith_someaddress_com", "phone": " " 188 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

198 Response body: "account": "name": "Account B", "system_id": "account_b", "uri": " "active": true, "cell_phone": " ", "department": "", " ": "first_name": "John", "home_phone": " ", "job_title": "Developer", "name": "John Smith", "phone": " ", "system_id": "jsmith_someaddress_com", "uri": " 4. DELETE /contacts/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /contacts/system_id Deletes the contact with specified system id. Authorization, domain, Accept N/A 200 OK Contact successfully deleted. 304 Not Modified If contact could not be deleted. 404 Not Found Contact not found. ErrorBean - failure. Request example: DELETE /contacts/jsmith_someaddress_com 189 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

199 5. GET /contacts HTTP Method Path Description GET /contacts Search contacts based on set query parameters. Returns a list of contacts which satisfy search criteria. Available search attributes: page (Number) page_size (Number) system_id (String) name (String) first_name (String) last_name (String) (String) account (String) (account s name) mask (String) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /contacts?first_name=john&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of ContactBeans. JSON example: GET /contacts?first_name=john&last_name=smith&account=account b&page=1&page_size=5 Response body: "completed_in": 134, "contacts": [ "account": "name": "Account B", "system_id": "account_b", "uri": " "active": true, "address": "address2": "Second Street 456", "address3": "Third Street 789", 190 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

200 "city": "San Francisco", "country": "name": "USA", "system_id": "usa", "state": "name": "California", "system_id": "CA", "street": "First Street 123", "zip": "12345", "cell_phone": " ", "custom_fields": [ "name": "Cell Phone", "system_id": "cell_phone", "type_name": "Text", "type_system_id": 1, "value": " ", "value_formatted": " " "department": "", " ": "jsmith@someaddress.com", "fax": " ", "first_name": "John", "home_phone": " ", "job_title": "Developer", "middle_name": "", "name": "John Smith", "phone": " ", "system_id": "jsmith_someaddress_com", "uri": " "page": 1, "page_size": 5, "total": 1 Note: To find more about reading and setting Custom Field values, read Section 7 and Section 8 in Chapter GET /contacts/system_id/custom_fields/custom_field_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body GET /contacts/system_id/custom_fields/custom_field_system_id Returns specified custom field with its value which is set for specified contact. Authorization, domain, Accept Content-Type N/A 191 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

201 Response - Output Return MIME Type HTTP Status Code Body 200 OK Custom Field found. 404 Not Found Contact or Custom Field not found. CustomFieldBean - success. ErrorBean - failure. JSON example: GET /contacts/jsmith_someaddress_com/custom_fields/contact_role Response body: "name": "Contact Role", "system_id": "contact_role", "type_name": "Checkbox", "type_system_id": 8, "value": "Consultant", "value_formatted": "Consultant" 7. POST /contacts/system_id/custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /contacts/system_id/custom_fields Sets custom field value to specified contact based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 201 Created CustomField value set successfully. 400 Bad Request Custom Field value is not in the right format. 404 Not Found Contact or Custom Field not found ContactBean - success. ErrorBean - failure. JSON example: POST /contacts/jsmith_someaddress_com/custom_fields 192 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

202 Request body: "system_id": "contact_role", "value": "consultant" 8. PUT /contacts/system_id/custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body PUT /contacts/system_id/custom_fields Updates custom field value in specified contact based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 200 OK CustomField value set successfully. 400 Bad Request Custom Field value is not in the right format. 404 Not Found Contact or Custom Field not found ContactBean - success. ErrorBean - failure. JSON example: PUT /contact/jsmith_someaddress_com/custom_fields Request body: "system_id": "contact_role", "value": "business_analyst" 193 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

203 9. DELETE /contacts/system_id/custom_fields/custom_field_system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /contacts/system_id/custom_fields/custom_field_system_id Deletes the value of specified custom field for specified contact. Authorization, domain, Accept N/A 200 OK Custom field value successfully deleted. 404 Not Found Contact or Custom Field not found. ErrorBean - failure. Request example: DELETE /contacts/jsmith_someaddress_com/custom_fields/contact_role 194 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

204 6. Custom Field Resource: Custom Field Main path: /custom_fields 1. GET /custom_fields/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /custom_fields/system_id Returns the custom field with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Custom Field found. 404 Not Found Custom Field not found. CustomFieldBean - success. ErrorBean - failure. JSON example: a) GET /custom_fields/product_category Response body: "label": "Product Category", "name": "Product Category", "predefined_values": [ "disabled": false, "label": "First Category", "position": 0, "preselected": false, "system_id": "first", "disabled": false, "label": "Second Category", "position": 1, "preselected": false, "system_id": "second", "disabled": false, "label": "Third Category", "position": 2, "preselected": false, "system_id": "third" 195 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

205 "system_id": "product_category", "type_name": "Checkbox", "type_system_id": 8, "uri": " b) GET /custom_fields/some_non_existing_custom_field "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Custom field does not exist." ] 2. POST /custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /custom_fields Creates a custom field based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomFieldBean 201 Created Custom Field successfully created. 400 Bad Request Required fields are missing or other constraint error. CustomFieldBean - success. ErrorBean - failure. JSON example: a) POST /custom_fields Request body: "label": "Product Category", "name": "Product Category", "system_id": "product_category", "type_system_id": 8, "predefined_values": [ "disabled": false, "label": "First Category", "position": 0, "preselected": false, "system_id": "first", 196 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

206 "disabled": false, "label": "Second Category", "position": 1, "preselected": false, "system_id": "second", "disabled": false, "label": "Third Category", "position": 2, "preselected": false, "system_id": "third" ] Response body: "label": "Product Category", "name": "Product Category", "predefined_values": [ "disabled": false, "label": "First Category", "position": 0, "preselected": false, "system_id": "first", "disabled": false, "label": "Second Category", "position": 1, "preselected": false, "system_id": "second", "disabled": false, "label": "Third Category", "position": 2, "preselected": false, "system_id": "third" "system_id": "product_category", "type_name": "Checkbox", "type_system_id": 8, "uri": " b) If custom field s fields which are required are not sent: "error_code": "CONSTRAINT_VIOLATIONS", "error_messages": [ "CustomField label is required.", "CustomField field type is required.", "CustomField system id is required.", "CustomField name is required." ] 197 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

207 3. PUT /custom_fields HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /custom_fields Updates the custom field based on received CustomFieldBean. Authorization, domain, Accept, Content-Type Content-Type CustomFieldBean 200 OK Custom Field successfully updated. 400 Bad Request Required fields are missing or other constraint error. 404 Not Found Custom Field not found. CustomFieldBean - success. ErrorBean - failure. JSON example: CustomFieldBean s system_id field must be set. Predefined value s system_id must be set. PUT /custom_fields Request body: "label": "Product Category", "name": "Product Category", "system_id": "product_category", "predefined_values": [ "disabled": false, "label": "First Category", "position": 0, "preselected": true, "system_id": "first", "disabled": true, "label": "Second Category", "position": 1, "preselected": false, "system_id": "second", "disabled": false, "label": "Third Category", "position": 2, "preselected": false, "system_id": "third" ] 198 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

208 Response body: "label": "Product Category", "name": "Product Category", "predefined_values": [ "disabled": false, "label": "First Category", "position": 0, "preselected": true, "system_id": "first", "disabled": true, "label": "Second Category", "position": 1, "preselected": false, "system_id": "second", "disabled": false, "label": "Third Category", "position": 2, "preselected": false, "system_id": "third" "system_id": "product_category", "type_name": "Checkbox", "type_system_id": 8, "uri": " 4. DELETE /custom_fields/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /custom_fields/system_id Deletes the custom field with specified system id. Authorization, domain, Accept N/A 200 OK Custom Field successfully deleted. 304 Not Modified If Custom Field could not be deleted. 404 Not Found Custom Field not found. ErrorBean - failure. Request example: DELETE /custom_fields/product_category 199 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

209 5. GET /custom_fields HTTP Method Path Description GET /custom_fields Search custom fields based on set query parameters. Returns a list of custom fields which satisfy search criteria. Available search attributes: page (Number) page_size (Number) system_id (String) name (String) mask (String) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /custom_fields?name=product&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with a list of CustomFieldBeans. JSON example: GET /custom_fields?name=product&page=1&page_size=5 Response body: "completed_in": 20, "custom_fields": [ "label": "Product Category", "name": "Product Category", "predefined_values": [ "disabled": false, "label": "First Category", "position": 0, "preselected": false, "system_id": "first", "disabled": false, "label": "Second Category", "position": 1, "preselected": false, "system_id": "second" 200 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

210 , "disabled": false, "label": "Third Category", "position": 2, "preselected": false, "system_id": "third" "system_id": "product_category", "type_name": "Checkbox", "type_system_id": 8, "uri": " "page": 1, "page_size": 5, "total": CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

211 7. Custom Table Resource: Custom Table Main path: /custom_tables 1. GET /custom_tables/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body GET /custom_tables/system_id Returns the custom table with specified system id. Authorization, domain, Accept Content-Type N/A 200 OK Custom Table found. 404 Not Found Custom Table not found. CustomTableBean- success. ErrorBean - failure. JSON example: a) GET /custom_tables/territory Response body: "columns": [ "OID", "NAME", "NUMBER_OF_STORES" "name": "Territory", "system_id": "territory", "uri": " b) GET /custom_tables/some_non_existing_custom_table "error_code": "RESOURCE_NOT_FOUND", "error_messages": [ "Custom Table does not exist." ] 202 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

212 2. POST /custom_tables HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Returned MIME Type HTTP Status Code Body POST /custom_tables Creates a custom table based on received CustomTableBean. Authorization, domain, Accept, Content-Type Content-Type, Location CustomTableBean 201 Created Custom Table successfully created. 400 Bad Request Required fields are missing or other constraint error. CustomTableBean - success. ErrorBean - failure. JSON example: a) POST /custom_tables Request body: "name": "Territory", "system_id": "territory", "columns": [ "name", "number_of_stores" ] Response body: "columns": [ "OID", "NAME", "NUMBER_OF_STORES" "name": "Territory", "system_id": "territory", "uri": " 203 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

213 b) If custom table name which is required is not sent: "error_code": "CONSTRAINT_VIOLATIONS", "error_messages": [ "CustomTable name is required." ] 3. DELETE /custom_tables/system_id HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /custom_tables/system_id Deletes the custom table with specified system id. Authorization, domain, Accept Status code N/A 200 OK Custom Table successfully deleted. 400 Bad Request If Custom Table could not be deleted. 404 Not Found Custom Table not found. ErrorBean - failure. Request example: DELETE /custom_tables/territory 204 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

214 4. GET /custom_tables HTTP Method Path Description GET /custom_tables Search custom tables based on set query parameters. Returns a list of custom tables which satisfy search criteria. Available search attributes: page (Number) page_size (Number) name (String) system_id (String) mask (String) Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body These search attributes are set as query parameters: /custom_tables?name=territory&page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK ResultBean with list of CustomTableBeans. JSON example: GET /custom_tables?name=territory&page=1&page_size=5 "completed_in": 98, "custom_tables": [ "columns": [ "OID", "NAME", "NUMBER_OF_STORES" "name": "Territory", "system_id": "territory", "uri": " "page": 1, "page_size": 5, "total": CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

215 5. POST /custom_tables/system_id/column/column_name HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body POST /custom_tables/system_id/column/column_name Adds a column with specified name into specified custom table. Authorization, domain, Accept, Content-Type Content-Type 200 OK Column successfully added. 400 Bad Request Column not added. 404 Not Found Custom Table not found. CustomTableBean - success. ErrorBean - failure. JSON example: POST /custom_tables/territory/column/location Response body: "columns": [ "OID", "NAME", "NUMBER_OF_STORES", "LOCATION" "name": "Territory", "system_id": "territory", "uri": " 206 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

216 6. GET /custom_tables/system_id/rows HTTP Method Path Description GET /custom_tables/system_id/rows Returns rows from specified custom table. Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Available search attributes: page (Number) page_size (Number) These search attributes are set as query parameters: /custom_tables/territory/rows? page=1&page_size=5 Authorization, domain, Accept Content-Type N/A 200 OK Custom Table found. 400 Bad Request - Getting rows failed - Error in operations with custom table. 404 Not Found Custom Table not found. Body ResultBean with CustomTableBean object which contains rows - success. ErrorBean - failure. JSON example: a) GET /custom_tables/territory/rows Response body: "completed_in": 249, "custom_table": "rows": [ "cells": [ "name": "OID", "value": "1", "name": "NAME", "value": "USA", "name": "NUMBER_OF_STORES", "value": "60" 207 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

217 , "name": "LOCATION", "value": "USA" "oid": "1", "cells": [ "name": "OID", "value": "2", "name": "NAME", "value": "Europe 1", "name": "NUMBER_OF_STORES", "value": "20", "name": "LOCATION", "value": "Western Europe" "oid": "2" ], "page": 1, "page_size": 5, "total": 2 7. GET /custom_tables/system_id/rows/oid HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code GET /custom_tables/system_id/rows/oid Returns row with specified oid (object id) from specified custom table. Authorization, domain, Accept Content-Type N/A 200 OK Row found. 400 Bad Request Getting row failed - Error in operations with custom table. 404 Not Found Custom Table or Row not found. Body ResultBean with CustomTableBean object which contains rows - success. ErrorBean - failure. 208 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

218 JSON example: a) GET /custom_tables/territory/rows/2 Response body: "rows": [ "cells": [ "name": "OID", "value": "2", "name": "NAME", "value": "Europe 1", "name": "NUMBER_OF_STORES", "value": "20", "name": "LOCATION", "value": "Western Europe" "oid": "2" ] 8. POST /custom_tables/system_id/rows HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body POST /custom_tables/system_id/rows Adds one row in specified custom table based on received row in CustomTableBean. Authorization, domain, Accept, Content-Type Content-Type CustomTableBean with one row. 201 OK Row successfully added. 400 Bad Request Creating row failed - Error in operations with custom table. 404 Not Found Custom Table not found. CustomFieldBean with added row. Other rows are left out. ErrorBean - failure. 209 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

219 JSON example: POST /custom_tables/territory/rows Request body: "rows": [ "cells": [ "name": "name", "value": "Africa", "name": "NUMBER_OF_STORES", "value": "25", "name": "LOCATION", "value": "Africa" ] ] Response body: "rows": [ "cells": [ "name": "OID", "value": "3", "name": "NAME", "value": "Africa", "name": "NUMBER_OF_STORES", "value": "25", "name": "LOCATION", "value": "South Africa" "oid": "3" ] 210 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

220 9. PUT /custom_tables/system_id/rows HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /custom_tables/system_id/rows Updates the row in specified custom table based on received row in CustomTableBean. Authorization, domain, Accept, Content-Type Content-Type CustomTableBean with one row. 200 OK Row successfully updated. 400 Bad Request Updating row failed - Error in operations with custom table. 404 Not Found Custom Table or row not found. CustomFieldBean with updated row. Other rows are left out. ErrorBean - failure. JSON example: PUT /custom_tables/territory/rows Request body: "rows": [ "cells": [ "name": "OID", "value": "3", "name": "NAME", "value": "Africa", "name": "NUMBER_OF_STORES", "value": "25", "name": "LOCATION", "value": "South Africa" ] ] 211 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

221 Response body: "rows": [ "cells": [ "name": "OID", "value": "3", "name": "NAME", "value": "Africa", "name": "NUMBER_OF_STORES", "value": "25", "name": "LOCATION", "value": "South Africa" "oid": "3" ] 10. DELETE /custom_tables/system_id/rows/oid HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body DELETE /custom_tables/system_id/rows/oid Deletes the row with specified oid in specified custom table. Authorization, domain, Accept N/A 200 OK Row successfully deleted. 400 Bad Request Deleting row failed - Error in operations with custom table. 404 Not Found Custom Table or row not found. ErrorBean - failure. Request example: DELETE /custom_tables/territory/rows/3 212 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

222 11. PUT /custom_tables/query/select HTTP Method Path Description PUT /custom_tables/query/select Executes select query sent via QueryBean and returns rows from custom table. Number of returned results can be limited using page (Number) and page_size (Number) search attributes. These search attributes are set as query parameters: /custom_tables/query/select?page=1&page_size=5 Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body Illegal query words: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME, INSERT, UPDATE, DELETE, MERGE, GRANT, REVOKE, OFFSET, LIMIT. Authorization, domain, Accept, Content-Type Content-Type QueryBean 200 OK Select query successfully executed. 400 Bad Request Select query not executed. QueryResultBean - success. ErrorBean - failure. Example table: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 2 Europe 42 Western Europe 3 USA 26 West coast 4 Asia 9 Asia JSON example: a) PUT /custom_tables/query/select?page=1&page_size=5 Request body: "query": "select oid,name,number_of_stores from territory where number_of_stores > 25 and number_of_stores < 40" 213 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

223 Response body: "completed_in": 2144, "custom_table": "rows": [ "cells": [ "name": "OID", "value": "3", "name": "NAME", "value": "USA", "name": "NUMBER_OF_STORES", "value": "26" "oid": "3" ], "page": 1, "page_size": 10, "total": POST /custom_tables/query/insert HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body POST /custom_tables/query/insert Inserts data into custom table based on sent query in QueryBean. Illegal query words: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME, UPDATE, DELETE, MERGE, GRANT, REVOKE, OFFSET, LIMIT. Authorization, domain, Accept, Content-Type Content-Type QueryBean 200 OK Insert query successfully executed. 400 Bad Request Insert query not executed. QueryResultBean with row OID - success. ErrorBean - failure. 214 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

224 Example table: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 2 Europe 42 Western Europe 3 USA 26 West coast 4 Asia 9 Asia JSON example: a) POST /custom_tables/query/insert Request body: "query": "insert into territory (name, number_of_stores, location) values ('Europe 2', '15', 'South Europe')" Response body: "completed_in": 52, "oid": 5 Table after inserting row: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 2 Europe 42 Western Europe 3 USA 26 West coast 4 Asia 9 Asia 5 Europe 2 15 South Europe 215 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

225 13. PUT /custom_tables/query/update HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /custom_tables/query/update Updates data in custom table based on sent query in QueryBean. Illegal query words: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME, INSERT, DELETE, MERGE, GRANT, REVOKE, OFFSET, LIMIT. Authorization, domain, Accept, Content-Type Content-Type QueryBean 200 OK Update query successfully executed. 400 Bad Request Update query not executed. QueryResultBean - success. ErrorBean - failure. Example table: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 2 Europe 42 Western Europe 3 USA 26 West coast 4 Asia 9 Asia 5 Europe 2 15 South Europe JSON example: a) PUT /custom_tables/query/update Request body: "query": "update territory set name = 'Europe 1' where name = 'Europe'" Response body: "affected_rows_count": 1, "completed_in": CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

226 Table after updating row: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 2 Europe 1 42 Western Europe 3 USA 26 West coast 4 Asia 9 Asia 5 Europe 2 15 South Europe 14. PUT /custom_tables/query/delete HTTP Method Path Description Required headers Returned headers Request - Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body PUT /custom_tables/query/delete Updates data in custom table based on sent query in QueryBean. Illegal query words: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME, INSERT, UPDATE, MERGE, GRANT, REVOKE, OFFSET, LIMIT. Authorization, domain, Accept, Content-Type Content-Type QueryBean 200 OK Delete query successfully executed. 400 Bad Request Delete query not executed. QueryResultBean - success. ErrorBean - failure. Example table: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 2 Europe 1 42 Western Europe 3 USA 26 West coast 4 Asia 9 Asia 5 Europe 2 15 South Europe JSON example: a) PUT /custom_tables/query/delete 217 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

227 Request body: "query": "delete from territory where name like '%Europe%'" Response body: "affected_rows_count": 2, "completed_in": 56 Table after deleting row: OID NAME NUMBER_OF_STORES LOCATION 1 Africa 25 Africa 3 USA 26 West coast 4 Asia 9 Asia 15. POST /custom_tables/import/new_table HTTP Method Path Description Required headers Returned headers Request Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body POST /custom_tables/import/new_table Creates a new custom table with rows from uploaded csv file. Request must have the following header: Content-Type: multipart/form-data; boundary= Authorization, domain, Accept, Content-Type Content-Type 1. Table name sent as form field with name table_name. 2. csv file with size less than 20MB uploaded as form field with name uploaded_file. 201 OK New table successfully imported. 400 Bad Request File or table name not sent; file larger than 20MB; table already exists; file is not csv file import failed. CustomTableBean with import report (without rows) - success ErrorBean - failure. 218 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

228 Example csv file content: name,number_of_stores,location Europe, 10, Southern Europe USA, 25, West Coast Africa, 5, West Africa Example HTML form: <html> <head> </head> <body> <form action=" enctype="multipart/form-data" method="post"> Table Name: <input type="text" name="table_name" /> File: <input type="file" name="uploaded_file"> <input type="submit" value="import Table" /> </form> </body> </html> POST /custom_tables/import/new_table Response body: "columns": [ "OID", "NAME", "NUMBER_OF_STORES", "LOCATION" "import_report": "Finished importing custom table territory. Imported (3) rows.", "name": "territory", "system_id": "territory", "uri": " 219 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

229 Created table: OID NAME NUMBER_OF_STORES LOCATION 1 Europe 10 Southern Europe 2 USA 25 West Coast 3 Africa 5 West Africa 16. POST /custom_tables/system_id/import/new_rows HTTP Method Path Description POST /custom_tables/system_id/import/new_rows Inserts new rows in specified custom table from uploaded csv file and updates existing rows. Rows which are left out from the file are not updated. Existing rows must have OID value: 1, Europe 1, 12, Southern Europe New rows have empty OID value followed by comma separator:,europe 2, 15, East Europe Required headers Returned headers Request Input Accepts Expected request body Response - Output Return MIME Type HTTP Status Code Body Request must have the following header: Content-Type: multipart/form-data; boundary= Authorization, domain, Accept, Content-Type Content-Type 1. Table name sent as form field with name table_name. 2. csv file with size less than 20MB uploaded as form field with name uploaded_file. 200 OK New rows successfully inserted. 400 Bad Request File or table name not sent; file larger than 20MB; table already exists; file is not csv file import failed. 404 Not Found Custom table not found. CustomTableBean with import report (without rows) - success ErrorBean - failure. 220 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

230 Example csv file content: oid,name,number_of_stores,location 1, Europe 1, 12, Southern Europe 3, Africa, 5, West Africa,Europe 2, 15, East Europe,Australia, 12, Australia and New Zealand Example HTML form: <html> <head> </head> <body> <form action=" enctype="multipart/form-data" method="post"> File: <input type="file" name="uploaded_file"> <input type="submit" value="import Table" /> </form> </body> </html> POST /custom_tables/system_id/import/new_rows Response body: "columns": [ "OID", "NAME", "NUMBER_OF_STORES", "LOCATION" "import_report": "Finished updating custom table territory. Updated (5) rows.", "name": "territory", "system_id": "territory", "uri": " 221 CallidusCloud WorkFlow 2013 Callidus Software Inc. All Rights Reserved.

Administration Essentials for New Admins (Managing Data) Exercise Guide

Administration Essentials for New Admins (Managing Data) Exercise Guide Administration Essentials for New Admins (Managing Data) Exercise Guide Table of Contents 6-1: Prepare the Import File... 1 6-2: Import Leads Using Wizard... 3 6-3: Export Using Data Loader... 4 6-4:

More information

Server - The Tigo platform and urls associated with the api Client - Third party user with api access to the Tigo platform and/or Tigo api.

Server - The Tigo platform and urls associated with the api Client - Third party user with api access to the Tigo platform and/or Tigo api. Tigo REST API V3 Introduction This api is used to work with the Tigo Energy platform to automate the retrieval and creation of elements. It will attempt to adhere to standard REST calls found in most REST

More information

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018 Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful

More information

How Do I Manage Active Directory

How Do I Manage Active Directory How Do I Manage Active Directory Your Red Box Recorder supports Windows Active Directory integration and Single Sign-On. This Quick Question topic is provided for system administrators and covers the setup

More information

Cloud Elements CRM Hub Provisioning and Usage Guide

Cloud Elements CRM Hub Provisioning and Usage Guide Cloud Elements CRM Hub Provisioning and Usage Guide API Version 2.0 Page!1 Introduction The CRM Hub provides a uniform API that allows applications to use various endpoints such as Salesforce, Zoho, SugarCRM,

More information

1 28/06/ :17. Authenticating Users General Information Manipulating Data. REST Requests

1 28/06/ :17. Authenticating Users General Information Manipulating Data. REST Requests 1 28/06/2012 13:17 Using standard HTTP requests, this API allows you to retrieve information about the datastore classes in your project, manipulate data, log into your web application, and much more.

More information

Set Up and Maintain Sales Tools

Set Up and Maintain Sales Tools Set Up and Maintain Sales Tools Salesforce, Spring 16 @salesforcedocs Last updated: February 18, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Luxor CRM 2.0. Getting Started Guide

Luxor CRM 2.0. Getting Started Guide Luxor CRM 2.0 Getting Started Guide This Guide is Copyright 2009 Luxor Corporation. All Rights Reserved. Luxor CRM 2.0 is a registered trademark of the Luxor Corporation. Microsoft Outlook and Microsoft

More information

BeetleEye Application User Documentation

BeetleEye Application User Documentation BeetleEye Application User Documentation BeetleEye User Documentation 1 Table of Contents Welcome to the BeetleEye Application... 6 Overview... 6 Navigation... 6 Access BeetleEye... 6 Update account information...

More information

Customer Relationship Management Software

Customer Relationship Management Software Customer Relationship Management Software User Manual Admin Version 1.3 2 Second CRM Getting Started 2013 Table of Content BASIC ADMINISTRATION... 4 MAINTAIN USERS... 4 USERS CONFIGURATION... 5 Create

More information

CRM Service Wrapper User Guide

CRM Service Wrapper User Guide Summary This document details the usage of the CRM Service Wrapper by xrm. The service wrapper allows you to communicate with a Microsoft Dynamics CRM application (called CRM for convenience in this document)

More information

Product Release Notes

Product Release Notes Product Release Notes Release 31 February 2016 VERSION 20160226 Table of Contents Document Versioning 3 Overview 4 Known Issues 4 Analytics 4 Internet Explorer 11 Error When Downloading Reports with Names

More information

Unit 3: Local Fields

Unit 3: Local Fields Unit 3: Local Fields Text Fields Questions Covered What are fields and how do we define them? How can we change the kinds of data we are collecting? What are the different data types available and how

More information

Albridge Integration User Guide

Albridge Integration User Guide Albridge Integration User Guide Copyright 1998-2006, E-Z Data, Inc. All Rights Reserved. No part of this documentation may be copied, reproduced, or translated in any form without the prior written consent

More information

Migration Guide Service Manager

Migration Guide Service Manager Migration Guide 2017.3.1 Service Manager powered by HEAT Copyright Notice This document contains the confidential information and/or proprietary property of Ivanti, Inc. and its affiliates (referred to

More information

Getting Started with the Aloha Community Template for Salesforce Identity

Getting Started with the Aloha Community Template for Salesforce Identity Getting Started with the Aloha Community Template for Salesforce Identity Salesforce, Winter 18 @salesforcedocs Last updated: November 30, 2017 Copyright 2000 2017 salesforce.com, inc. All rights reserved.

More information

Chatter Answers Implementation Guide

Chatter Answers Implementation Guide Chatter Answers Implementation Guide Salesforce, Spring 16 @salesforcedocs Last updated: April 27, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Project Manager User Manual

Project Manager User Manual Project Manager User Manual Overview Welcome to your new Project Manager application. The Project Managaer is implemented as a web site that interfaces to an SQL database where all of the project and time

More information

Service Manager. powered by HEAT. Migration Guide for Ivanti Service Manager

Service Manager. powered by HEAT. Migration Guide for Ivanti Service Manager Service Manager powered by HEAT Migration Guide for Ivanti Service Manager June 16, 2017 Copyright Notice This document contains the confidential information and/or proprietary property of Ivanti, Inc.

More information

Customer Relationship Management Software Version 1.0. Administrator Guide Guide Version ITarian 1255 Broad Street Clifton, NJ 07013

Customer Relationship Management Software Version 1.0. Administrator Guide Guide Version ITarian 1255 Broad Street Clifton, NJ 07013 Customer Relationship Management Software Version 1.0 Administrator Guide Guide Version 1.0.111218 ITarian 1255 Broad Street Clifton, NJ 07013 Table of Contents 1. Introduction to CRM...5 1.1.Open the

More information

Forms iq Designer Training

Forms iq Designer Training Forms iq Designer Training Copyright 2008 Feith Systems and Software, Inc. All Rights Reserved. No part of this publication may be reproduced, transmitted, stored in a retrieval system, or translated into

More information

User Guide. Issued July DocAve Backup for Salesforce User Guide

User Guide. Issued July DocAve Backup for Salesforce User Guide DocAve Backup for Salesforce User Guide Issued July 2017 1 Table of Contents What s New in this Guide...4 About DocAve Backup for Salesforce...5 Supported Browsers...6 Submitting Documentation Feedback

More information

Version 3.8. Accela Construct. Administrator Guide

Version 3.8. Accela Construct. Administrator Guide Version 3.8 Accela Construct Administrator Guide Accela Construct Administrator Guide 2017 Accela, Inc. All rights reserved. Accela, the Accela logo, the Accela logo with Government Software notation,

More information

Visual Workflow Implementation Guide

Visual Workflow Implementation Guide Version 30.0: Spring 14 Visual Workflow Implementation Guide Note: Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may

More information

release notes effective version 10.3 ( )

release notes effective version 10.3 ( ) Introduction We are pleased to announce that Issuetrak 10.3 is available today! 10.3 focuses on improved security, introducing a new methodology for storing passwords. This document provides a brief outline

More information

S-Drive User Guide v1.27

S-Drive User Guide v1.27 S-Drive User Guide v1.27 Important Note This user guide contains detailed information about S-Drive usage. Refer to the S-Drive Installation Guide and S-Drive Advanced Configuration Guide for more information

More information

Administration Guide. 10 Nov TM and copyright Imagicle spa

Administration Guide. 10 Nov TM and copyright Imagicle spa Administration Guide 10 Nov 2018 TM and copyright 2010-2018 Imagicle spa Table of Contents Administration Guide...1/14 Product Description...1/14 Imagicle Contacts...4/14 Product Configuration...5/14 Synchronizing

More information

XIA Automation Server

XIA Automation Server Administrator's Guide Version: 3.1 Copyright 2017, CENTREL Solutions Table of contents About... 6 Installation... 7 Installation Requirements (Server)... 8 Prerequisites (Windows 2016 / 2012)... 9 Prerequisites

More information

ADMINISTRATION ESSENTIALS FOR EXPERIENCED ADMINS (AUTOMATION) Exercise Guide

ADMINISTRATION ESSENTIALS FOR EXPERIENCED ADMINS (AUTOMATION) Exercise Guide ADMINISTRATION ESSENTIALS FOR EXPERIENCED ADMINS (AUTOMATION) Exercise Guide Table of Contents 8-1: Create an Email Footer... 1 8-2: Create a Folder and Letterhead... 2 8-3: Create an Email Template...

More information

Tryton Administration Manual Documentation

Tryton Administration Manual Documentation Tryton Administration Manual Documentation Release 2.0 Anthony Schrijer, Brian Dunnette May 16, 2015 Contents 1 Introduction 3 1.1 Contributors............................................... 3 2 Presumptions

More information

Chatter Answers Implementation Guide

Chatter Answers Implementation Guide Chatter Answers Implementation Guide Salesforce, Summer 18 @salesforcedocs Last updated: July 26, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

Tresorit Active Directory Connector V2.0. User s Guide

Tresorit Active Directory Connector V2.0. User s Guide Tresorit Active Directory Connector V2.0 User s Guide Copyright by Tresorit 2018 Contents About Tresorit Active Directory Connector... 4 Features... 4 Synchronization logic... 5 About managed users and

More information

Working with Groups, Roles, and Users. Selectica, Inc. Selectica Contract Performance Management System

Working with Groups, Roles, and Users. Selectica, Inc. Selectica Contract Performance Management System Selectica, Inc. Selectica Contract Performance Management System Copyright 2008 Selectica, Inc. 1740 Technology Drive, Suite 450 San Jose, CA 95110 http://www.selectica.com World rights reserved. You cannot

More information

ADMINISTRATOR'S MANUAL

ADMINISTRATOR'S MANUAL ADMINISTRATOR'S MANUAL The Integrated Cross-Selling and Prospecting Application ATraC Services, LLC Version 2.3.4 June 2014 View online at http://atracservices.com/protrac Contact ProTraC Support 855-Get-ATraC

More information

HappyFox API Technical Reference

HappyFox API Technical Reference HappyFox API Technical Reference API Version 1.0 Document Version 0.1 2011, Tenmiles Corporation Copyright Information Under the copyright laws, this manual may not be copied, in whole or in part. Your

More information

ESSR European Space Software Repository

ESSR European Space Software Repository ESSR European Space Software Repository Software User Manual T/ +4 031 424814 F/ +4 0314242816 E/ hello@innobyte.com W/ www.innobyte.com A/ Bl. Regiei, nr.6b, etaj 4-5, Sector 6, București, 060204, România

More information

Edition 3.2. Tripolis Solutions Dialogue Manual version 3.2 2

Edition 3.2. Tripolis Solutions Dialogue Manual version 3.2 2 Edition 3.2 Tripolis Solutions Dialogue Manual version 3.2 2 Table of Content DIALOGUE SETUP... 7 Introduction... 8 Process flow... 9 USER SETTINGS... 10 Language, Name and Email address settings... 10

More information

Marketo Data Shield Setup Guide

Marketo Data Shield Setup Guide Marketo Data Shield Setup Guide Marketo Data Shield Setup Guide Page 1 of 20 Marketo Integration Diagram 1 2 3 Webhooks Company Names Data Shield Admin Panel New Record 4 Case? Periods? Convert to proper

More information

ADMINISTRATOR'S MANUAL

ADMINISTRATOR'S MANUAL ADMINISTRATOR'S MANUAL The Integrated Cross-Selling and Prospecting Application ATraC Services, LLC Version 2.3 October 2013 View online at http://atracservices.com/protrac Contact ProTraC Support 855-Get-ATraC

More information

User Guide Ahmad Bilal [Type the company name] 1/1/2009

User Guide Ahmad Bilal [Type the company name] 1/1/2009 User Guide Ahmad Bilal [Type the company name] 1/1/2009 Contents 1 LOGGING IN... 1 1.1 REMEMBER ME... 1 1.2 FORGOT PASSWORD... 2 2 HOME PAGE... 3 2.1 CABINETS... 4 2.2 SEARCH HISTORY... 5 2.2.1 Recent

More information

Salesforce Integration User Guide. Cvent, Inc 1765 Greensboro Station Place McLean, VA

Salesforce Integration User Guide. Cvent, Inc 1765 Greensboro Station Place McLean, VA Salesforce Integration User Guide 2017 Cvent, Inc 1765 Greensboro Station Place McLean, VA 22102 www.cvent.com Contents Salesforce Integration User Guide... 3 Setting Up Your Account... 4 Helpful Hints...

More information

Fyndiq Prestashop Module

Fyndiq Prestashop Module Fyndiq Prestashop Module User guide. Version 2.0 Introduction 2 Fyndiq Merchant Support 2 Prerequisites 2 Seller account 3 Create the account 4 Your company 4 Contact information 4 Your webshop on Fyndiq

More information

Workspace Administrator Help File

Workspace Administrator Help File Workspace Administrator Help File Table of Contents HotDocs Workspace Help File... 1 Getting Started with Workspace... 3 What is HotDocs Workspace?... 3 Getting Started with Workspace... 3 To access Workspace...

More information

Trigger SMS API. API Documentation SPLIO - SPRING Contact and Campaign Trigger SMS API - EN v4.0.docx

Trigger SMS API. API Documentation SPLIO - SPRING Contact and Campaign Trigger SMS API - EN v4.0.docx API Documentation 2017-09-08 Summary Introduction... 3 Access... 3 Base URL... 3 Europe hosting... 3 Asia hosting... 3 Authentication... 3 Request format... 4 Response format... 4 Error Codes & Responses...

More information

RESTful API Specification

RESTful API Specification RESTful API Specification Contents Creating Group Conference Getting Group Conference Editing Group Conference Deleting Group Conference Getting List of Group Conference Getting User Address Book Adding

More information

Sparqube Lookup Column

Sparqube Lookup Column Sparqube Lookup Column Contents Overview... 2 Features... 3 Setup... 4 Requirements... 4 Installation... 4 Licensing... 4 Configuration... 9 Lookup column types... 9 Adding Sparqube Lookup Classic to SharePoint

More information

Your leads. Your way. Lead delivery options for BuyerZone clients and partners.

Your leads. Your way. Lead delivery options for BuyerZone clients and partners. Your leads. Your way. Lead delivery options for BuyerZone clients and partners. Lead delivery from BuyerZone We know how important quality and timely leads are for your business. That s why we offer a

More information

SIAM R3.0 USER GUIDE

SIAM R3.0 USER GUIDE SIAM R3.0 USER GUIDE Document Reference: 8295 September 2016 Revision: 3 Version Date Author Changes Number 1 Mar 2015 John Lindsay 2 Jun Sam Unsuspending a SIM card description updated. 2016 Smith 3 Sep

More information

Edge Web User Guide V 4.5

Edge Web User Guide V 4.5 Edge Web User Guide V 4.5 Table of Contents 1. Introduction... 4 2. System Requirements... 4 3. REST API... 5 3.1. Working with Notes... 5 3.2. Working with Notebooks... 6 3.3. Working with Note Resources...

More information

ADD/EDIT VENDOR. 1. To add a new vendor to the system from within the Accounts Payable module, navigate to: Accounts Payable Vendors.

ADD/EDIT VENDOR. 1. To add a new vendor to the system from within the Accounts Payable module, navigate to: Accounts Payable Vendors. ADD/EDIT VENDOR 1. To add a new vendor to the system from within the Accounts Payable module, navigate to: Accounts Payable Vendors. Vendors can also be added from within the Purchasing module. Regardless

More information

KWizCom Custom Actions

KWizCom Custom Actions KWizCom Corporation KWizCom Custom Actions Admin Guide Copyright 2005-2015 KWizCom Corporation. All rights reserved. KWizCom Custom Actions Admin Guide Company Headquarters 95 Mural Street, Suite 600 Richmond

More information

Comodo Customer Relationship Management Software Version 1.0

Comodo Customer Relationship Management Software Version 1.0 Comodo Customer Relationship Management Software Version 1.0 Administrator Guide Guide Version 1.0.082417 Comodo Security Solutions 1255 Broad Street Clifton, NJ 07013 Table of Contents 1. Introduction

More information

CoreBlox Integration Kit. Version 2.2. User Guide

CoreBlox Integration Kit. Version 2.2. User Guide CoreBlox Integration Kit Version 2.2 User Guide 2015 Ping Identity Corporation. All rights reserved. PingFederate CoreBlox Integration Kit User Guide Version 2.2 November, 2015 Ping Identity Corporation

More information

ADMINISTRATOR'S MANUAL

ADMINISTRATOR'S MANUAL ADMINISTRATOR'S MANUAL The Integrated Cross-Selling and Prospecting Application ATraC Services, LLC Version 2.1 July 2013 View online at http://atracservices.com/protrac Contact ProTraC Support 855-Get-ATraC

More information

SQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server

SQL Server. Management Studio. Chapter 3. In This Chapter. Management Studio. c Introduction to SQL Server Chapter 3 SQL Server Management Studio In This Chapter c Introduction to SQL Server Management Studio c Using SQL Server Management Studio with the Database Engine c Authoring Activities Using SQL Server

More information

User s Guide Version 4.0 August 2010

User s Guide Version 4.0 August 2010 User s Guide Version 4.0 August 2010 Biscom, Inc. 321 Billerica Rd. Chelmsford, MA 01824 tel 978-250-1800 fax 978-250-4449 Copyright 2010 Biscom, Inc. All rights reserved worldwide. Reproduction or translation

More information

Version Event Protect Platform RESTfull API call

Version Event Protect Platform RESTfull API call Event Protect Platform RESTfull API call Introduction Via available online service and through specified API, developers can connect to Event Protect platform and submit individual sales transaction. Service

More information

User Guide. Kronodoc Kronodoc Oy. Intelligent methods for process improvement and project execution

User Guide. Kronodoc Kronodoc Oy. Intelligent methods for process improvement and project execution User Guide Kronodoc 3.0 Intelligent methods for process improvement and project execution 2003 Kronodoc Oy 2 Table of Contents 1 User Guide 5 2 Information Structure in Kronodoc 6 3 Entering and Exiting

More information

Crystal Reports 7. Overview. Contents. Parameter Fields

Crystal Reports 7. Overview. Contents. Parameter Fields Overview Contents This document provides information about parameter fields in Crystal Reports (CR) version 7.x. Definition of terms, architecture, usage and features are discussed. This document should

More information

One Identity Manager 8.0. IT Shop Administration Guide

One Identity Manager 8.0. IT Shop Administration Guide One Identity Manager 8.0 IT Shop Administration Guide Copyright 2017 One Identity LLC. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in

More information

IBM. Bulk Load Utilities Guide. IBM Emptoris Contract Management SaaS

IBM. Bulk Load Utilities Guide. IBM Emptoris Contract Management SaaS IBM Emptoris Contract Management IBM Bulk Load Utilities Guide 10.1.2 SaaS IBM Emptoris Contract Management IBM Bulk Load Utilities Guide 10.1.2 SaaS ii IBM Emptoris Contract Management: Bulk Load Utilities

More information

Managing System Administration Settings

Managing System Administration Settings This chapter contains the following sections: Setting up the Outgoing Mail Server, page 2 Working with Email Templates, page 2 Configuring System Parameters (Optional), page 5 Updating the License, page

More information

Logging In to MultiTrans 2 The Main Screen 3 My Flow 4. Tasks 11

Logging In to MultiTrans 2 The Main Screen 3 My Flow 4. Tasks 11 Logging In to MultiTrans 2 The Main Screen 3 My Flow 4 The General Tab 4 The Profile Tab 5 The Availability Tab 6 Invoice Configuration 10 Terms and Conditions 10 Tasks 11 Task List 11 Overview 11 Reviewing

More information

2013 RELEASE / S RELEASE COMPARISON GUIDE CONFIGURATION NAVIGATION APPLICATION AREA IN BULLHORN 2013 IN BULLHORN S

2013 RELEASE / S RELEASE COMPARISON GUIDE CONFIGURATION NAVIGATION APPLICATION AREA IN BULLHORN 2013 IN BULLHORN S 2013 RELEASE / S RELEASE COMPARISON GUIDE CONFIGURATION Browser Support Computer Support NAVIGATION Internet Explorer PC Menus Row of entity menus across the top of the page Chrome, Firefox, Safari (Mac),

More information

Building reports using the Web Intelligence HTML Report Panel

Building reports using the Web Intelligence HTML Report Panel Building reports using the Web Intelligence HTML Report Panel Building reports using the Web Intelligence HTML Report Panel Copyright 2008 Business Objects. All rights reserved. Business Objects owns the

More information

Jira Connector Option - v18

Jira Connector Option - v18 Jira Connector Option - v18 Copyright 2019 ONEPOINT Projects GmbH. All rights reserved. ONEPOINT Projects, Enterprise Edition, Version 18 ONEPOINT Informationslosungen and the ONEPOINT Logo are registered

More information

Quick Data Configuration

Quick Data Configuration Enviance 9.1 17-1 Data Forms 17-2 Quick Data Main App Setup 17-2 Permissions 17-3 Form Configuration File 17-4 Copy Configuration 17-5 Configuration File Settings and Options 17-5 Header 17-5 Form Settings

More information

User Manual. MDWorkflow. Web Application from Midrange Dynamics

User Manual. MDWorkflow. Web Application from Midrange Dynamics User Manual MDWorkflow Web Application from Midrange Dynamics (Version 7.0) Tel. +41 (41) 710 27 77, Fax +41 (41) 710 95 87, www.midrangedynamics.com 1 / 31 MDWorkflow - Table of Contents 1 INTRODUCTION...

More information

SCHOOL COLLABORATION SITES Reference Guide

SCHOOL COLLABORATION SITES Reference Guide SCHOOL COLLABORATION SITES Reference Guide Information Technology Services SCHOOL COLLABORATION SITES Reference Guide Information Technology Services 13135 SW 26 ST Miami, FL 33176 Phone 305.995.3770 Fax

More information

In this chapter we have described DM Configuration both in Policy Builder and Control Center.

In this chapter we have described DM Configuration both in Policy Builder and Control Center. In Policy Builder, page 1 In Control Center, page 15 Using REST APIs, page 37 In Policy Builder In this chapter we have described both in Policy Builder and Control Center. Note Any DM configuration changes

More information

Version Event Protect Platform RESTfull API call

Version Event Protect Platform RESTfull API call Event Protect Platform RESTfull API call Introduction Via available online service and through specified API, developers can connect to Event Protect platform and submit individual sales transaction. Service

More information

Case Management Implementation Guide

Case Management Implementation Guide Case Management Implementation Guide Salesforce, Winter 18 @salesforcedocs Last updated: November 30, 2017 Copyright 2000 2017 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

By: Access 2007 Table

By:   Access 2007 Table Access 2007 Table Create and Format Tables in Access 2007 I. What is Table? A table is constructed with a field or many fields and it is used for storing data or information. The data can be student information,

More information

SchoolDesk University

SchoolDesk University SchoolDesk University Forms, Surveys, and Polls Module 101 Guided Walk-through for the basic fields, terminology, and location of tools. What is the NEW SD7 Forms Module? The NEW SchoolDesk Forms Module,

More information

START GUIDE CDMNext V.3.0

START GUIDE CDMNext V.3.0 1 START GUIDE CDMNext V.3.0 2018 CEIC Data. All rights reserved. 2 TABLE OF CONTENTS 1. PRODUCT OVERVIEW... 3 2. Starting CDMNEXT... 3 2.1 Login... 3 2.2 Prerequisites... 4 2.3 Landing Page... 4 3. creating

More information

User Guide Help Topics

User Guide Help Topics User Guide Help Topics - NetResults Tracker Help NetResults Tracker Help User Guide Help Topics NetResults Tracker Introduction Product Overview Features Glossary User's Guide User Accounts Getting Started

More information

One of the fundamental kinds of websites that SharePoint 2010 allows

One of the fundamental kinds of websites that SharePoint 2010 allows Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

More information

Documenting APIs with Swagger. TC Camp. Peter Gruenbaum

Documenting APIs with Swagger. TC Camp. Peter Gruenbaum Documenting APIs with Swagger TC Camp Peter Gruenbaum Introduction } Covers } What is an API Definition? } YAML } Open API Specification } Writing Documentation } Generating Documentation } Alternatives

More information

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 1 Table of Contents 1. Introduction 2 1.1. Client Description 1.2. Product Vision 2. Requirements. 2 2.1. Functional

More information

User Guide. RACER Date 09/29/17

User Guide. RACER Date 09/29/17 User Guide RACER Date 09/29/17 1 Table of Contents Table of Contents... 2 RACER... 4 Home Page...5 RACER Requester... 6 Basic Information...6 Location Information...7 Change Information...8 Review and

More information

Important Information

Important Information May 2014 Important Information The following information applies to Proofpoint Essentials US1 data center only. User Interface Access https://usproofpointessentials.com MX Records mx1-usppe-hosted.com

More information

BIMcollab. Don t let any issue slip away. User and Administrator Manual

BIMcollab. Don t let any issue slip away. User and Administrator Manual BIMcollab Don t let any issue slip away User and Administrator Manual Welcome to BIMcollab With BIMcollab we offer you an extra layer to successful BIM project-management. We hope you enjoy using it as

More information

Content Modeling for Administrators

Content Modeling for Administrators Content Modeling for Administrators Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: September 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow,

More information

User Documentation. Administrator Manual.

User Documentation. Administrator Manual. User Documentation Administrator Manual Proposal Software 1140 US Highway 287, Suite 400-102 Broomfield, CO 80020 USA Tel: 203.604.6597 www.proposalsoftware.com Table of Contents Open the WebPro Viewer...

More information

Database Design and Administration for OnBase WorkView Solutions. Mike Martel Senior Project Manager

Database Design and Administration for OnBase WorkView Solutions. Mike Martel Senior Project Manager Database Design and Administration for OnBase WorkView Solutions Mike Martel Senior Project Manager 1. Solution Design vs. Database Design Agenda 2. Data Modeling/Design Concepts 3. ERD Diagramming Labs

More information

XRMS Open Source. User Manual v March 2006

XRMS Open Source. User Manual v March 2006 XRMS Open Source User Manual v 1.99 28 March 2006 Copyright Information Copyright 2005-2006 XRMS Development Team. Some rights reserved. Licensed under the GNU Free Documentation License [http://www.gnu.org//copyleft/fdl.html].

More information

USER GUIDES OWNCLOUD WEB USER GUIDE. INTRODUCTION: This guide provides details on how to use owncloud via the web.

USER GUIDES OWNCLOUD WEB USER GUIDE. INTRODUCTION: This guide provides details on how to use owncloud via the web. USER GUIDES OWNCLOUD WEB USER GUIDE INTRODUCTION: This guide provides details on how to use owncloud via the web. SYSTEM REQUIREMENTS: Most web browsers WHAT YOU MAY NEED & OTHER CONSIDERATIONS: An Internet

More information

The TELUS Business Connect Mobile solution. Admin guide

The TELUS Business Connect Mobile solution. Admin guide The TELUS Business Connect Mobile solution Admin guide Table of contents. Part Getting started 4 Introduction 5 Admin homepage 5 Main functions 5 Admin Portal 5 My Extension 6 Do Not Disturb 7 RingOut

More information

Cisco Partner Support Service (PSS) User Guide - User Registration. April 07,

Cisco Partner Support Service (PSS) User Guide - User Registration. April 07, Cisco Partner Support Service (PSS) User Guide - User Registration April 07, 2017 Corporate Headquarters Cisco Systems, Inc. 170 West Tasman Drive San Jose, CA 95134-1706 USA http://www.cisco.com 1-1 Table

More information

AvePoint Governance Automation 2. Release Notes

AvePoint Governance Automation 2. Release Notes AvePoint Governance Automation 2 Release Notes Service Pack 2, Cumulative Update 1 Release Date: June 2018 New Features and Improvements In the Create Office 365 Group/Team service > Governance Automation

More information

Managing System Administration Settings

Managing System Administration Settings This chapter contains the following sections: Setting Up the Outgoing Mail Server, page 1 Working with Email Templates, page 2 Configuring System Parameters (Optional), page 5 Updating the License, page

More information

We start by providing you with an overview of the key feature of the IBM BPM Process Portal.

We start by providing you with an overview of the key feature of the IBM BPM Process Portal. Lab 1 Process Portal 1.1 Overview This lab exercise will make you familiar with the key capabilities of the ready-to-use Process Portal included with IBM Business Process Manager (BPM). You will experience

More information

CLIENT DASHBOARD. With Cloud Communication Solution (C.C.S).

CLIENT DASHBOARD. With Cloud Communication Solution (C.C.S). CLIENT DASHBOARD. CLIENT DASHBOARD Content CCS Presentation... 3 SMS... 3 Channels... 3 Requirement... 3 1.1 To read before connect... 4 1.2 Glossary of symbols... 5 1.3 CONNECTION... 6 1.3.1 Choice of

More information

Administrator Manual. Last Updated: 15 March 2012 Manual Version:

Administrator Manual. Last Updated: 15 March 2012 Manual Version: Administrator Manual Last Updated: 15 March 2012 Manual Version: 1.6 http://www.happyfox.com Copyright Information Under the copyright laws, this manual may not be copied, in whole or in part. Your rights

More information

Tasks. User Guide 4.12

Tasks. User Guide 4.12 Tasks User Guide 4.12 ABOUT NORTHWOODS CONSULTING PARTNERS Northwoods Consulting Partners, Inc., founded in 1999, is a privately-held software development and services company headquartered in Dublin,

More information

Cardkey Systems, Inc. Cardkey PEGASYS 1000 and 2000 MIS Interface Program 8K\OYOUT',KHX[GX_

Cardkey Systems, Inc. Cardkey PEGASYS 1000 and 2000 MIS Interface Program 8K\OYOUT',KHX[GX_ Cardkey Systems, Inc. Cardkey PEGASYS 1000 and 2000 MIS Interface Program )GXJQK_3/9/TZKXLGIK /TYZGRRGZOUTGTJ)UTLOM[XGZOUT 8K\OYOUT',KHX[GX_ )GXJQK_9_YZKSY/TI :GVU)GT_UT8UGJ9OSO

More information

CPM Quick Start Guide V2.2.0

CPM Quick Start Guide V2.2.0 CPM Quick Start Guide V2.2.0 1 Content 1 Introduction... 3 1.1 Launching the instance... 3 1.2 CPM Server Instance Connectivity... 3 2 CPM Server Instance Configuration... 3 3 Creating a Simple Backup

More information

Google Docs Tipsheet. ABEL Summer Institute 2009

Google Docs Tipsheet. ABEL Summer Institute 2009 Google Docs Tipsheet ABEL Summer Institute 2009 Contents Logging in to Google Apps for CollaborativeSchools.net for the First Time... 2 Text Documents Creating a New Text Document in Google Docs... 5 Uploading

More information

Wholesale Lockbox User Guide

Wholesale Lockbox User Guide Wholesale Lockbox User Guide August 2017 Copyright 2017 City National Bank City National Bank Member FDIC For Client Use Only Table of Contents Introduction... 3 Getting Started... 4 System Requirements...

More information

HPE ALM Excel Add-in. Microsoft Excel Add-in Guide. Software Version: Go to HELP CENTER ONLINE

HPE ALM Excel Add-in. Microsoft Excel Add-in Guide. Software Version: Go to HELP CENTER ONLINE HPE ALM Excel Add-in Software Version: 12.55 Microsoft Excel Add-in Guide Go to HELP CENTER ONLINE http://alm-help.saas.hpe.com Document Release Date: August 2017 Software Release Date: August 2017 Legal

More information