### OData GET Request for vw_rpt_performance_review Source: https://csod.dev/reference/reporting This example demonstrates a GET request to the vw_rpt_performance_review API endpoint using OData query parameters. It shows how to apply filtering, sorting, and selection to retrieve specific data. The example uses placeholders for corpname and specific query parameters. ```http GET https://[corpname].csod.com/services/api/x/odata/api/views/vw_rpt_performance_review?$filter=task_name eq 'SampleTask'&$orderby=task_start_dt desc&$select=task_name,task_start_dt,user_id ``` -------------------------------- ### Get Schema Source: https://csod.dev/guides/bulk/quick-start Retrieve the schema specific to your load type and portal by sending a POST request with the acquired bearer token. ```APIDOC ## Get Schema ### Description This endpoint retrieves the schema for a specific load type and portal. It requires an `Authorization` header with a valid bearer token and a JSON request body containing the `type` and `settings`. ### Method POST ### Endpoint `/services/api/x/bulk-api/v1/schemas` ### Parameters #### Query Parameters None #### Headers - **Authorization** (string) - Required - Bearer token obtained from the access token endpoint. - **Content-Type** (string) - Required - `application/json` #### Request Body - **type** (string) - Required - The type of data to retrieve the schema for (e.g., `chr.employee`). - **settings** (object) - Optional - Settings for the schema retrieval. - **LoadPrimaryKey** (integer) - Optional - Defines the primary identifier for employee loads (0 for User ID, 1 for GUID). - **default_culture** (string) - Optional - Sets the default culture for the data (e.g., `en-US`). ### Request Example ```json { "type": "chr.employee", "settings": { "LoadPrimaryKey": 0, "default_culture": "en-US" } } ``` ### Response #### Success Response (200) The response contains the schema, including valid values for enumerated fields, required fields, and dependencies. Custom fields and OUs are also detailed. #### Response Example ```json { "schema_details": "..." } ``` ### Error Handling - **HTTP 400**: Indicates incorrect `clientId` or `clientSecret` when acquiring a token. - **HTTP 401**: Occurs if the access token has expired. Re-acquire a new token. ``` -------------------------------- ### Refund API Request Example (cURL) Source: https://csod.dev/guides/connectors/custom-payment-gateway Demonstrates how to make a POST request to the Refund API using cURL. It includes common refund parameters and highlights the structure of the query string with URL-encoded values. ```bash curl -X 'POST' \ 'https://www.example.com/api/refunds?unique_id=20250120102030123000&refund_amount=10.00&reason=&transaction_id=pi-123434345¤cy=USD&signature=2BDE03CCE75DBEBB51C5AEA7F8CEC030947D01882A7F697EE55FFACD1A19423F' ``` -------------------------------- ### Get Job Status Response - JSON Source: https://csod.dev/guides/bulk/quick-start Example JSON response for a Get Job Status request. It details the status of each import within a job, such as 'Completed', along with counts for total, successful, warning, and error records. ```json { "jobId": "c8352637-bb1a-4960-ab91-e4794bdd7bea", "imports": [ { "id": "4f917dd5-c8ee-4462-83e6-eeaf030da53a", "status": "Completed", "total_records": 5, "successful_records": 5, "successful_records_with_warnings": 0, "error_records": 0, "error_status": null } ] } ``` -------------------------------- ### GET /services/api/x/perf-ats-integration-api/v1/job-requisitions/$id={guid} Source: https://csod.dev/guides/career-explorer/quick-start-get-job-requisition Retrieves a job requisition using its internal GUID identifier. ```APIDOC ## GET /services/api/x/perf-ats-integration-api/v1/job-requisitions/$id={guid} ### Description Retrieves a job requisition using its internal GUID identifier, which is obtained from a successful creation operation. ### Method GET ### Endpoint /services/api/x/perf-ats-integration-api/v1/job-requisitions/$id={guid} ### Parameters #### Query Parameters - **id** (string) - Required - The internal GUID identifier of the job requisition. ### Request Example ``` GET /services/api/x/perf-ats-integration-api/v1/job-requisitions/$id=a1b2c3d4-e5f6-7890-1234-567890abcdef HTTP/1.1 Host: {your portal}.csod.com Authorization: Bearer {your oauth2 token} ``` ### Response #### Success Response (200) - **[Response Fields]** (object) - Details of the job requisition. #### Response Example ```json { "jobRequisitionId": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "externalId": "ats|some_ats|id|12345", "title": "Software Engineer", "status": "Open" } ``` ``` -------------------------------- ### Get Schema Request using cURL Source: https://csod.dev/guides/bulk/quick-start Example cURL command to retrieve the API schema for a specific load type and portal. This request requires an 'Authorization' header with a valid bearer token and a JSON body specifying the 'type' and 'settings'. The 'settings' object can be customized for fields like 'LoadPrimaryKey' and 'default_culture'. ```curl # Get Schema Request curl -X POST \ https://{corpname}.csod.com/services/api/x/bulk-api/v1/schemas \ -H 'Authorization: Bearer ZWRnZQ:49eb8e8bb33e3ab24856b8a1f6bd5e454c57957f03d25c9bf579dd2accb3e6ca' \ -H 'Content-Type: application/json' \ -d '{ "type":"chr.employee", "settings": { "LoadPrimaryKey":0, "default_culture":"en-US" } }' ``` -------------------------------- ### Sample Response for vw_rpt_curriculum Source: https://csod.dev/reference/reporting Illustrative JSON output for a successful retrieval of curriculum entities from the vw_rpt_curriculum view. This sample demonstrates the structure of the returned data, including a count and an array of curriculum objects with their respective fields. ```JSON { "@odata.count": 100, "value": [ { "curriculum__active": "true", "curriculum__course_code": "CSOD101", "curriculum__created_by_name": "Admin User", "curriculum__object_id": "a1b2c3d4-e5f6-7890-1234-567890abcdef", "curriculum__version": "1.0" } ] } ``` -------------------------------- ### Get Job Status Source: https://csod.dev/guides/bulk/quick-start Retrieves the current status of a bulk API job, including the status of each import within the job. ```APIDOC ## GET /services/api/x/bulk-api/v1/jobs/{job_id} ### Description Retrieves the current status of a bulk API job and its individual imports. ### Method GET ### Endpoint `https://{corpname}.csod.com/services/api/x/bulk-api/v1/jobs/{job_id}` ### Parameters #### Path Parameters - **job_id** (string) - Required - The unique identifier of the job. ### Request Example ```bash curl -X GET \ https://{corpname}.csod.com/services/api/x/bulk-api/v1/jobs/c8352637-bb1a-4960-ab91-e4794bdd7bea \ -H 'Authorization: Bearer ZWRnZQ:9a690ba0d994f9073c6961a37ae398e2c9a47c91dcc2d52d72d5f6a71dd18f52' ``` ### Response #### Success Response (200) - **jobId** (string) - The ID of the job. - **imports** (array) - A list of import objects within the job. - **id** (string) - The unique identifier of the import. - **status** (string) - The current status of the import (e.g., 'Completed'). - **total_records** (integer) - The total number of records in the import. - **successful_records** (integer) - The number of records loaded successfully. - **successful_records_with_warnings** (integer) - The number of records loaded with warnings. - **error_records** (integer) - The number of records that failed to load. - **error_status** (string or null) - Details about any errors encountered. #### Response Example ```json { "jobId": "c8352637-bb1a-4960-ab91-e4794bdd7bea", "imports": [ { "id": "4f917dd5-c8ee-4462-83e6-eeaf030da53a", "status": "Completed", "total_records": 5, "successful_records": 5, "successful_records_with_warnings": 0, "error_records": 0, "error_status": null } ] } ``` ``` -------------------------------- ### Create Import API Source: https://csod.dev/guides/bulk/quick-start Initiates a data load within a previously created job by submitting data to a specific import ID. ```APIDOC ## POST /services/api/x/bulk-api/v1/imports/{import_id} ### Description Creates an import (data load) within a specific job. This endpoint is used to submit the actual data for processing. ### Method POST ### Endpoint /services/api/x/bulk-api/v1/imports/{import_id} ### Parameters #### Path Parameters - **import_id** (string) - Required - The ID of the import to which data will be added, obtained from the create job response. #### Headers - **Authorization** (string) - Required - Bearer token acquired in step 1. - **Content-Type** (string) - Required - The format of the data payload (e.g., 'text/csv' or 'application/json'). - **Content-Encoding** (string) - Optional - 'gzip' if the payload is gzipped. #### Request Body - **[Data Payload]** (string/object) - Required - The data for the import, formatted according to the Content-Type header. This can be CSV or JSON. ### Request Example ```bash curl -X POST \ https://{corpname}.csod.com/services/api/x/bulk-api/v1/imports/{import_id} \ -H 'Authorization: Bearer ZWRnZQ:0c8254c9081b3c2402475a1784e9bb0a966add396ed324fa408b6f6524c0aa64' \ -H 'Content-Type: text/csv' \ -d 'CSV data...' ``` ### Response #### Success Response (200 OK or 202 Accepted) - The response will typically indicate success and may contain details about the import process. Specific fields may vary based on the API version and the nature of the data load. #### Response Example (Response examples for this endpoint are not explicitly provided in the source text, but would typically confirm the import initiation.) ``` -------------------------------- ### API Request Example for vw_rpt_user_status_local Source: https://csod.dev/reference/reporting This example demonstrates how to construct a GET request to the vw_rpt_user_status_local API endpoint. It includes common query parameters such as $top, $filter, and $select. The base URL will vary depending on the environment (Stage, Pilot, or Production). ```http GET https://[corpname].csod.com/services/api/x/odata/api/views/vw_rpt_user_status_local?$top=10&$filter=culture_id eq 1&$select=usl_status_id,usl_title ``` -------------------------------- ### POST /candidate-and-application Source: https://csod.dev/guides/candidate Creates a candidate and an application in Cornerstone. The application can be submitted as complete or incomplete. If the candidate already exists, the application is added to their profile. ```APIDOC ## POST /candidate-and-application ### Description Creates a candidate and an application in Cornerstone. The application can be submitted as complete or incomplete. If the candidate already exists, the application is added to their profile. ### Method POST ### Endpoint /candidate-and-application ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **firstName** (string) - Required - The first name of the candidate. - **lastName** (string) - Required - The last name of the candidate. - **jobRequisitionId** (string) - Required - The ID of the job requisition to apply for. - **email** (string) - Required - The email address of the candidate. - **phoneNumber** (string) - Optional - The phone number of the candidate. May be required based on portal configuration. ### Request Example ```json { "firstName": "John", "lastName": "Doe", "jobRequisitionId": "req12345", "email": "john.doe@example.com", "phoneNumber": "555-123-4567" } ``` ### Response #### Success Response (201 Created) - **candidateId** (string) - The unique identifier for the created candidate. - **applicationId** (string) - The unique identifier for the created application. #### Response Example ```json { "candidateId": "cand98765", "applicationId": "app11223" } ``` #### Error Responses - **429 Too Many Requests**: Indicates that the throttle limit has been exceeded. Implement retry logic with backoff. - **400 Bad Request**: Indicates invalid input data or missing required fields. - **404 Not Found**: Indicates that the job requisition ID was not found or is not in an open state. ``` -------------------------------- ### Access Token Successful Response Source: https://csod.dev/guides/bulk/quick-start This is an example of a successful response when acquiring an access token. It includes the token, expiration, scope, and type. ```APIDOC ## Access Token Successful Response ### Description This endpoint returns an access token, its expiration time, the granted scopes, and the token type. ### Method POST ### Endpoint /path/to/get/token ### Parameters #### Query Parameters - **clientId** (string) - Required - Your client ID. - **clientSecret** (string) - Required - Your client secret. ### Request Example ``` POST /path/to/get/token?clientId=YOUR_CLIENT_ID&clientSecret=YOUR_CLIENT_SECRET ``` ### Response #### Success Response (200) - **access_token** (string) - The obtained access token. - **expires_in** (integer) - The token's validity period in seconds. - **scope** (string) - The granted permissions for the token. - **token_type** (string) - The type of token, typically 'Bearer'. #### Response Example ```json { "access_token": "ZWRnZQ:sh97VjZWQJ9pvYVqKiapZYDeLjM8pvFrnku8i6ckuTx8QXaSnIkI4rV7MF21LD2A2A5vKXQqSydq7kGIGV2bQA==", "expires_in": 3600, "scope": "bulkapijob:read bulkapiimport:read bulkapischema:read bulkapijob:create bulkapiimport:load", "token_type": "Bearer" } ``` ``` -------------------------------- ### Get Job Requisition by Internal ID using HTTP Source: https://csod.dev/guides/career-explorer/quick-start-get-job-requisition Retrieve a job requisition using its internal GUID. This is the unique identifier obtained after a successful creation operation. An OAuth2 token is required for authentication. ```http GET /services/api/x/perf-ats-integration-api/v1/job-requisitions/$id={guid} HTTP/1.1 Host: {your portal}.csod.com Authorization: Bearer {your oauth2 token} ``` -------------------------------- ### Making API Calls with Access Token Source: https://csod.dev/guides/getting-started/authentication Demonstrates how to use the acquired access token to make authenticated calls to Cornerstone APIs. ```APIDOC ## Making API Calls with Access Token ### Description Once you have obtained an `access_token`, you can use it to make authenticated requests to Cornerstone's protected API resources. The `access_token` must be included in the `Authorization` header of your HTTP request. ### Method Any valid HTTP method (GET, POST, PUT, DELETE, etc.) depending on the target API endpoint. ### Endpoint [Target Cornerstone API endpoint] ### Headers - **Authorization** (string) - Required - The access token prefixed with `Bearer `. - Example: `Authorization: Bearer ZWRnZQ:sh97VjZWQJ9pvYVqKiapZYDeLjM8pvFrnku8i6ckuTx8QXaSnIkI4rV7MF21LD2A2A5vKXQqSydq7kGIGV2bQA==` ### Request Example (Illustrative - Employee API) ``` GET https://[corpname].csod.com/services/api/employee/v1/employees Authorization: Bearer ZWRnZQ:sh97VjZWQJ9pvYVqKiapZYDeLjM8pvFrnku8i6ckuTx8QXaSnIkI4rV7MF21LD2A2A5vKXQqSydq7kGIGV2bQA== ``` ``` -------------------------------- ### GET /websites/csod_dev/schema Source: https://csod.dev/guides/bulk/quick-start Retrieves the schema definition for employee and user data. This schema outlines the available fields, their types, constraints, and required status. ```APIDOC ## GET /websites/csod_dev/schema ### Description Retrieves the schema definition for employee and user data. This schema outlines the available fields, their types, constraints, and required status. ### Method GET ### Endpoint /websites/csod_dev/schema ### Parameters #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **schema** (object) - The schema definition for user and employee data. - **properties** (object) - An object containing definitions for each field in the schema. - **EmployeeIdentificationData_UserId** (string) - User ID: Unique identifier for the user. Min length 1, max length 100, not case sensitive. - **PersonData_NameData_FirstName** (string) - First Name: First Name. Min length 1, max length 200. - **PersonData_NameData_LastName** (string) - Last Name: Last Name. Min length 1, max length 200. - **Gender** (string) - Gender: User's gender. Enum: ["female", "male", "not known", "not specified"], not case sensitive. - **Division** (string) - Division: Division name. Min length 1, max length 100. - **DynamicOUs_524291** (string) - Employee Type: Employee type. Min length 1, max length 100. - **DynamicUserRelations_32768** (string) - Compensation Specialist: Compensation specialist identifier. Max length 100, not case sensitive. - **CF_ShortTextBox#23** (string) - Retirement Account Type: Retirement account type. Max length 100, default: "". - **CF_MultiCheckbox#46** (string or array) - Product Interest: Product interest. Can be a string or an array of integers (33, 34, 35) or strings ("Product A", "Product B", "Product C"), default: "". - **required** (array) - List of fields that are mandatory: ["EmployeeIdentificationData_UserId", "PersonData_NameData_FirstName", "PersonData_NameData_LastName", "Division"]. - **dependencies** (object) - Defines field dependencies: {"_ActivationDt": ["_DeactivationDt"], "_DeactivationDt": ["_ActivationDt"]}. - **definitions** (object) - Contains detailed definitions for complex types like custom fields. - **identity** (array) - Identifies the primary key fields: ["EmployeeIdentificationData_UserId"]. - **id** (string) - Schema identifier: "csod:chr.employee". - **type** (string) - Schema type: "object". #### Response Example ```json { "schema": { "properties": { "EmployeeIdentificationData_UserId": { "minLength": 1, "maxLength": 100, "trim": "leftRight", "caseSensitive": false, "title": "User ID", "description": "Unique identifier for the user", "type": "string" }, "PersonData_NameData_FirstName": { "minLength": 1, "maxLength": 200, "trim": "leftRight", "title": "First Name", "description": "First Name", "type": "string" }, "PersonData_NameData_LastName": { "minLength": 1, "maxLength": 200, "trim": "leftRight", "title": "Last Name", "description": "Last Name", "type": "string" }, "Gender": { "enum": [ "female", "male", "not known", "not specified" ], "trim": "leftRight", "caseSensitive": false, "title": "Gender", "description": "User's gender", "type": "string" }, "Division": { "minLength": 1, "maxLength": 100, "trim": "leftRight", "title": "Division", "type": "string" }, "DynamicOUs_524291": { "minLength": 1, "maxLength": 100, "trim": "leftRight", "title": "Employee Type", "type": "string" }, "DynamicUserRelations_32768": { "maxLength": 100, "trim": "leftRight", "caseSensitive": false, "title": "Compensation Specialist", "type": "string" }, "CF_ShortTextBox#23": { "maxLength": 100, "title": "Retirement Account Type", "type": "string", "default": "" }, "CF_MultiCheckbox#46": { "title": "Product Interest", "anyOf": [ { "$ref": "#/definitions/CF_MultiCheckbox#46" }, { "enum": [ "" ], "type": "string" } ], "default": "" } }, "required": [ "EmployeeIdentificationData_UserId", "PersonData_NameData_FirstName", "PersonData_NameData_LastName", "Division" ], "dependencies": { "_ActivationDt": [ "_DeactivationDt" ], "_DeactivationDt": [ "_ActivationDt" ] }, "definitions": { "CF_MultiCheckbox#46": { "id": "CF_MultiCheckbox#46", "anyOf": [ { "minLength": 1, "trim": "leftRight", "type": "string" }, { "uniqueItems": true, "items": [ { "anyOf": [ { "enum": [ 33, 34, 35 ], "type": "integer" }, { "enum": [ "Product A", "Product B", "Product C" ], "trim": "leftRight", "caseSensitive": false, "type": "string" } ] } ], "type": "array" } ] } }, "identity": [ "EmployeeIdentificationData_UserId" ], "id": "csod:chr.employee", "type": "object" } } ``` ``` -------------------------------- ### Create Job Requisition POST Request Source: https://csod.dev/guides/career-explorer/quick-start-create-job-requisition This snippet demonstrates the HTTP POST request to create a job requisition. It includes the endpoint, host, authorization header, and a sample JSON payload. Ensure your OAuth2 token is valid and replace placeholders with your portal's information. ```http POST /v1/job-requisitions HTTP 1.1 Host: {your portal}.csod.com Authorization: Bearer {your oauth2 token} { "externalId": "ats|csod|id|12345", "details": { "en-US": { "title": "software engineer", "description": "description", "jobDetailsUrl": "https://csod.com/jobs/1" } }, "location": { "name": "Auckland, New Zealand", "countryCode": "NZ", "city": "Auckland", "isPrimary": true }, "status": "open", "createdTime": "2021-04-29T09:12:33.001Z", "lastUpdatedTime": "2021-04-29T09:12:33.001Z", "expiryTime": "2021-12-29T09:12:33.001Z", "openings": 3, "defaultCulture": "en-US" } ``` -------------------------------- ### GET /services/api/x/bulk-api/v1/jobs/{job_id} Source: https://csod.dev/guides/bulk/quick-start Retrieves the status and details of a specific job using its job ID. This is useful after receiving a job completion notification or callback. ```APIDOC ## GET /services/api/x/bulk-api/v1/jobs/{job_id} ### Description This endpoint allows you to fetch the detailed status and results of a completed job. Use this after receiving a job completion notification or if you need to poll for status updates. ### Method GET ### Endpoint `https://{corpname}.csod.com/services/api/x/bulk-api/v1/jobs/{job_id}` ### Parameters #### Path Parameters - **job_id** (string) - Required - The unique identifier of the job to retrieve status for. #### Query Parameters None #### Request Body None ### Request Example ```bash curl -X GET \ https://{corpname}.csod.com/services/api/x/bulk-api/v1/jobs/c8352637-bb1a-4960-ab91-e4794bdd7bea \ -H 'Authorization: Bearer [token]' ``` ### Response #### Success Response (200 OK) - **job_id** (string) - The unique identifier of the job. - **job_status** (string) - The current status of the job (e.g., 'Completed', 'Processing', 'Failed'). - **results** (object) - Contains details about the import process, including errors and warnings. #### Response Example ```json { "job_id": "c8352637-bb1a-4960-ab91-e4794bdd7bea", "job_status": "Completed", "results": { "successful_records": 100, "failed_records": 5, "warning_records": 10, "error_details_url": "/services/api/x/bulk-api/v1/imports/4f917dd5-c8ee-4462-83e6-eeaf030da53a/errors" } } ``` ``` -------------------------------- ### Assign Training (POST) Source: https://csod.dev/guides/learning/transcript/examples Assigns, approves, and registers a training for a user. Requires the user's external ID and the learning object ID. Uses a POST request to the assign endpoint. ```JSON POST /services/api/v1/transcripts/assign { "externalId": "paul.abbot", "learningObjectId": "7ad38cb9-04e1-47be-8334-09a4484f82ad", "assignment": "registered" } ``` -------------------------------- ### Get User Data Sample (JSON) Source: https://csod.dev/reference/reporting This JSON snippet represents a sample response for retrieving detailed user information. It includes various user attributes such as user center, division, grade, and location details. The structure is designed for comprehensive user profiling. ```json { "@odata.count": 0, "value": [ { "user_center": 0, "user_center_appr_fullname": "string", "user_center_appr_id": 0, "user_center_appr_ref": "string", "user_center_id": 0, "user_center_owner_fullname": "string", "user_center_parent_title": 0, "user_center_ref": "string", "user_div": 0, "user_div_id": 0, "user_div_owner_fullname": "string", "user_div_parent": 0, "user_div_parent_ref": "string", "user_div_ref": "string", "user_grade": 0, "user_grade_id": 0, "user_grade_owner_fullname": "string", "user_grade_parent_title": 0, "user_grade_ref": "string", "user_location": 0, "user_location_id": 0, "user_location_owner_fullname": "string", "user_location_parent_title": 0, "user_location_ref": "string", "user_ou_302": 0, "user_ou_302_id": 0, "user_ou_302_owner_fullname": "string", "user_ou_302_parent_title": 0, "user_ou_302_ref": "string", "user_ou_524288": 0, "user_ou_524288_id": 0, "user_ou_524288_owner_fullname": "string", "user_ou_524288_parent_title": 0, "user_ou_524288_ref": "string", "user_ou_524289": 0, "user_ou_524289_id": 0, "user_ou_524289_owner_fullname": "string", "user_ou_524289_parent_title": 0, "user_ou_524289_ref": "string", "user_ou_id16": 0, "user_ou_id2": 0, "user_ou_id302": 0, "user_ou_id32": 0, "user_ou_id4": 0, "user_ou_id524288": 0, "user_ou_id524289": 0, "user_ou_id8": 0, "user_ou_info_user_id": 0, "user_pos": 0, "user_pos_id": 0, "user_pos_owner_fullname": "string", "user_pos_parent_title": 0, "user_pos_ref": "string" } ] } ``` -------------------------------- ### JSON Employee Data Example Source: https://csod.dev/guides/bulk/quick-start An example of employee data structured in JSON format for the Bulk API. This format uses a general key-value pair notation, where each object in the array represents an employee record. Ensure correct property names are used for all fields. ```json [ { "EmployeeIdentificationData_UserId": "johnsmith01", "PersonData_NameData_FirstName": "John", "PersonData_NameData_LastName": "Smith", "EmployeeIdentificationData_Username": "johnsmith01", "DirectManager": "904321062", "PersonData_ContactData_EmailAddressData_Primary_EmailAddress": "johnsmith01@acme.com", "WorkerStatusData_LastHireDate": "2019-12-01", "Division": "SUPERVISORY_ORGANIZATION-3-9286", "Position": "Account Manager", "Location": "Los Angeles", "DynamicOUs_524291": "Full Time", "DynamicUserRelations_16384": "918634631", "CF_MultiCheckbox": "Manager;Administrator" }, { "EmployeeIdentificationData_UserId": "janedoe02", "PersonData_NameData_FirstName": "Jane", "PersonData_NameData_LastName": "Doe", "EmployeeIdentificationData_Username": "janedoe02", "DirectManager": "904321062", "PersonData_ContactData_EmailAddressData_Primary_EmailAddress": "janedoe02@acme.com", "WorkerStatusData_LastHireDate": "2019-10-01", "Division": "SUPERVISORY_ORGANIZATION-3-9286", "Position": "Accountant", "Location": "San Jose", "DynamicOUs_524291": "Full Time", "DynamicUserRelations_16384": "918634631", "CF_MultiCheckbox": "Administrator" } ] ``` -------------------------------- ### POST /x/candidate/v1/application Source: https://csod.dev/reference/recruiting Creates a new application for a candidate. This endpoint allows for submitting candidate information, preferences, and associated documents like resumes and cover letters. ```APIDOC ## POST /x/candidate/v1/application ### Description Creates a new application for a candidate. This endpoint allows for submitting candidate information, preferences, and associated documents like resumes and cover letters. ### Method POST ### Endpoint https://[corpname].csod.com/services/api/x/candidate/v1/application ### Parameters #### Request Body - **jobRequisitionId** (string) - Required - The ID of the job requisition. - **candidate** (object) - Required - Candidate's personal information. - **email** (string) - Required - Candidate's email address. - **firstName** (string) - Required - Candidate's first name. - **lastName** (string) - Required - Candidate's last name. - **language** (string) - Optional - Candidate's preferred language (e.g., "en-US"). - **contactDetails** (object) - Optional - Candidate's contact details. - **address1** (string) - Optional - Address line 1. - **address2** (string) - Optional - Address line 2. - **city** (string) - Optional - City. - **state** (string) - Optional - State/Province. - **country** (string) - Optional - Country. - **PhoneNumber** (string) - Optional - Phone number. - **postalCode** (string) - Optional - Postal code. - **candidatePreferences** (object) - Optional - Candidate's preferences. - **futureOpportunityOptIn** (boolean) - Optional - Whether the candidate opts in for future opportunities. - **source** (object) - Optional - Information about the submission source. - **submissionSource** (string) - Optional - The source of the submission. - **submissionSourceName** (string) - Optional - The name of the submission source. - **questions** (array) - Optional - List of questions and answers. - **type** (string) - Required - Type of question (e.g., "Disclaimer"). - **id** (string) - Required - ID of the question. - **response** (string) - Required - Candidate's response to the question. - **resume** (object) - Optional - Resume information. - **file** (object) - Optional - Resume file content. - **fileName** (string) - Optional - Name of the resume file. - **coverLetter** (object) - Optional - Cover letter information. - **text** (string) - Optional - Cover letter text. - **file** (object) - Optional - Cover letter file content. - **fileName** (string) - Optional - Name of the cover letter file. - **additionalAttachments** (array) - Optional - List of additional attachments. - **id** (string) - Required - ID of the attachment. - **file** (object) - Optional - Attachment file content. - **fileName** (string) - Optional - Name of the attachment file. - **applicationPreferences** (object) - Optional - Application preferences. - **sendEmail** (boolean) - Optional - Whether to send an email notification. ### Request Example ```json { "jobRequisitionId": "string", "candidate": { "email": "string", "firstName": "string", "lastName": "string", "language": "en-US", "contactDetails": { "address1": "string", "address2": "string", "city": "string", "state": "string", "country": "st", "PhoneNumber": "string", "postalCode": "string" } }, "candidatePreferences": { "futureOpportunityOptIn": true }, "source": { "submissionSource": "string", "submissionSourceName": "string" }, "questions": [ { "type": "Disclaimer", "id": "string", "response": "string" } ], "resume": { "file": {}, "fileName": "string" }, "coverLetter": { "text": "string", "file": {}, "fileName": "string" }, "additionalAttachments": [ { "id": "string", "file": {}, "fileName": "string" } ], "applicationPreferences": { "sendEmail": true } } ``` ### Response #### Success Response (200) - **candidateId** (string) - The unique identifier for the candidate. - **applicationId** (string) - The unique identifier for the application. #### Response Example ```json { "candidateId": "string", "applicationId": "string" } ``` ``` -------------------------------- ### Get Access Token Source: https://csod.dev/guides/bulk/quick-start Acquire an OAuth 2.0 access token by sending a POST request to the /services/api/oauth2/token endpoint. This token is required for all subsequent Bulk API calls. ```APIDOC ## POST /services/api/oauth2/token ### Description Obtain an OAuth 2.0 access token required for authenticating with the Cornerstone Bulk API. This token is obtained by providing your application's credentials. ### Method POST ### Endpoint `/services/api/oauth2/token` ### Parameters #### Request Body - **clientId** (string) - Required - The client ID of your registered OAuth 2.0 application. - **clientSecret** (string) - Required - The client secret of your registered OAuth 2.0 application. - **grantType** (string) - Required - Must be `client_credentials`. - **scope** (string) - Required - The scope(s) for which the access token is requested. Consult the 'List of Scopes and Security Permissions' documentation for valid scopes. ### Request Example ```json { "clientId": "your_client_id", "clientSecret": "your_client_secret", "grantType": "client_credentials", "scope": "bulkapijob:read bulkapiimport:read bulkapischema:read bulkapijob:create bulkapiimport:load" } ``` ### Response #### Success Response (200) - **access_token** (string) - The obtained access token. - **token_type** (string) - The type of token, typically `bearer`. - **expires_in** (integer) - The duration in seconds for which the token is valid. - **scope** (string) - The scopes granted for this token. #### Response Example ```json { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "token_type": "bearer", "expires_in": 3600, "scope": "bulkapijob:read bulkapiimport:read bulkapischema:read bulkapijob:create bulkapiimport:load" } ``` ``` -------------------------------- ### Get Import Warnings Report Request - cURL Source: https://csod.dev/guides/bulk/quick-start Retrieves only the records from an import that had warnings. This endpoint helps isolate records that were processed but with certain issues. Requires the import_id and Authorization header. ```shell GET /services/api/x/bulk-api/v1/imports/{import_id}/report/warnings ``` -------------------------------- ### OData Query for vw_rpt_performance_review_question Source: https://csod.dev/reference/reporting This example demonstrates how to construct an OData query to retrieve entities from the `vw_rpt_performance_review_question` endpoint. It includes common query parameters like `$top`, `$skip`, `$search`, `$filter`, `$count`, `$orderby`, and `$select` for precise data retrieval. The `$orderby` and `$select` parameters accept an array of strings. ```http GET /services/api/x/odata/api/views/vw_rpt_performance_review_question?$top=10&$filter=prq_question_type_id eq 1&$orderby=prq_question_item_id desc&$select=prq_question_item_id,prq_question_text_id ``` -------------------------------- ### CSV Employee Data Example Source: https://csod.dev/guides/bulk/quick-start An example of employee data formatted in CSV, adhering to RFC 4180 standards. This format requires specific handling of line breaks, commas, and double quotes within field values. The header row must use property names, not display titles. ```csv EmployeeIdentificationData_UserId,PersonData_NameData_FirstName,PersonData_NameData_LastName,EmployeeIdentificationData_Username,DirectManager,PersonData_ContactData_EmailAddressData_Primary_EmailAddress,WorkerStatusData_LastHireDate,Division,Position,Location,DynamicOUs_524291,DynamicUserRelations_16384,CF_MultiCheckbox#47 johnsmith01,John,Smith,johnsmith01,904321062,johnsmith01@acme.com,2019-12-01,SUPERVISORY_ORGANIZATION-3-9244,Account Manager,Los Angeles,Full Time,918634631,Manager;Administrator janedoe02,Jane,Doe,janedoe02,904321062,janedoe02@acme.com,2019-10-01,SUPERVISORY_ORGANIZATION-3-9244,Accountant, San Jose,Intern,918634631, rajkumar01,Raj,Kumar,rajkumar01,903300421,rajkumar01@acme.com,2019-12-01,SUPERVISORY_ORGANIZATION-3-9244,CS-Customer Service#37486,OR,Part Time,918634631,Administrator jamesanderson,James,anderson,jamesanderson,937393194,jamesanderson@acme.com,2019-11-25,SUPERVISORY_ORGANIZATION-3-9244,Computer Support Specialist,Brisbane,Full Time,918634631,IT 904321062,Aime,Jones,aimejones,948752281,aimejones@acme.com,2018-01-29,SUP_000012151,Corporate Services Manager,Shanghai,Full Time,987798693,Manager;Administrator ``` -------------------------------- ### GET All Job Requisitions Sample Request Source: https://csod.dev/reference/career-explorer This sample demonstrates how to retrieve a collection of job requisitions using the GET method. It shows the endpoint and mentions possible query parameters like 'From', 'To', 'City', 'CountryCode', 'IdsOnly', 'PageToken', 'PageSize', and 'debug'. ```http GET /v1/job-requisitions ``` -------------------------------- ### Sample JSON Response for vw_rpt_training_ilt_facility Source: https://csod.dev/reference/reporting This snippet shows a sample JSON response for a successful GET request to the vw_rpt_training_ilt_facility endpoint. It includes the total count of items and an array of facility objects, each with various properties detailing the facility's attributes. ```json { "@odata.count": 0, "value": [ { "facility_active": true, "facility_address1": "string", "facility_address2": "string", "facility_approval_required": true, "facility_city": "string", "facility_contact": "string", "facility_country": "str", "facility_email": "string", "facility_fax": "string", "facility_id": 0, "facility_occupancy": 0, "facility_on_site": true, "facility_owner": "string", "facility_parent_ref": "string", "facility_phone": "string", "facility_ref": "string", "facility_state": "string", "facility_timezone_code": "string", "facility_title": "string", "facility_type_id": 0, "facility_zip": "string", "ou_custom_field_00173": 0, "ou_custom_field_00174": 0, "ou_custom_field_00332": true, "ou_custom_field_00691": 0, "ou_custom_field_01020": 0, "oucf_id": 0 } ] } ``` -------------------------------- ### Get Details for a Single OU - JSON Response Example Source: https://csod.dev/guides/core-hr/employee-ou/quick-start-get-ou This JSON object represents the detailed information for a single Organizational Unit (OU). It includes standard fields like 'typeId', 'name', 'description', and 'parentId', as well as dynamic 'customFields'. This output is the most comprehensive representation of an OU's data. ```JSON { "typeId": 2, "active": true, "name": "Customer Service Division", "externalId": "d00131", "ownerId": 101, "description": "The customer service division", "parentId": 1, "reconcilable": true, "customFields": [ { "id": 579, "value": "268" }, { "id": 575, "value": "100000" } ] } ``` -------------------------------- ### Get Import Errors Report Request - cURL Source: https://csod.dev/guides/bulk/quick-start Retrieves only the records from an import that failed or encountered errors. This is a specialized version of the import results endpoint, useful for quick error diagnosis. Requires the import_id and Authorization header. ```shell GET /services/api/x/bulk-api/v1/imports/{import_id}/report/errors ```