# The SmartRecruiters API Platform Documentation ## Guides - [Overview](https://developers.smartrecruiters.com/docs/common-elements.md) - [/departments](https://developers.smartrecruiters.com/docs/departments.md) - [/functions](https://developers.smartrecruiters.com/docs/functions.md) - [Endpoints](https://developers.smartrecruiters.com/docs/endpoints-1.md) - [/industries](https://developers.smartrecruiters.com/docs/industries.md) - [/levels](https://developers.smartrecruiters.com/docs/levels.md) - [/typesOfEmployment](https://developers.smartrecruiters.com/docs/typesofemployment.md) - [Company](https://developers.smartrecruiters.com/docs/company.md) - [CustomField](https://developers.smartrecruiters.com/docs/customfield.md) - [Department](https://developers.smartrecruiters.com/docs/department.md) - [Employee](https://developers.smartrecruiters.com/docs/employee-1.md) - [ExperienceLevel](https://developers.smartrecruiters.com/docs/experiencelevel.md) - [Function](https://developers.smartrecruiters.com/docs/function.md) - [Objects](https://developers.smartrecruiters.com/docs/objects-1.md) - [Industry](https://developers.smartrecruiters.com/docs/industry.md) - [ListResult](https://developers.smartrecruiters.com/docs/listresult.md) - [Location](https://developers.smartrecruiters.com/docs/location.md) - [TypeOfEmployment](https://developers.smartrecruiters.com/docs/typeofemployment.md) - [Get Application Screening Questions and Privacy Policies](https://developers.smartrecruiters.com/docs/get-application-screening-questions-and-privacy-policies.md) - [Get Candidate Application Status](https://developers.smartrecruiters.com/docs/get-candidate-application-status.md) - [Application API](https://developers.smartrecruiters.com/docs/application-api-1.md) - [Post an Application](https://developers.smartrecruiters.com/docs/post-an-application.md) - [Deprecation and Sunset Policies](https://developers.smartrecruiters.com/docs/deprecation-and-sunset-policies.md) - [Overview](https://developers.smartrecruiters.com/docs/customer-overview.md) - [Throttling Policies](https://developers.smartrecruiters.com/docs/throttling-policies.md) - [Help](https://developers.smartrecruiters.com/docs/help.md) - [Important Customer API Updates](https://developers.smartrecruiters.com/docs/important-customer-api-updates.md) - [Interview API](https://developers.smartrecruiters.com/docs/interview-api-1.md) - [Interview Templates API](https://developers.smartrecruiters.com/docs/interview-templates-api.md) - [Self Scheduling API](https://developers.smartrecruiters.com/docs/self-scheduling-api.md) - [Endpoints](https://developers.smartrecruiters.com/docs/endpoints.md) - [Posting API](https://developers.smartrecruiters.com/docs/posting-api.md) - [Objects](https://developers.smartrecruiters.com/docs/objects.md) - [Data generation endpoint](https://developers.smartrecruiters.com/docs/data-generation-endpoint-1.md) - [Data transfer endpoints](https://developers.smartrecruiters.com/docs/data-transfer-endpoints.md) - [Reporting API](https://developers.smartrecruiters.com/docs/reporting-api-1.md) - [Metadata endpoints](https://developers.smartrecruiters.com/docs/metadata-endpoints.md) - [Activating webhook subscriptions](https://developers.smartrecruiters.com/docs/activating-webhook-subscriptions.md) - [Creating webhook subscriptions](https://developers.smartrecruiters.com/docs/creating-webhook-subscriptions.md) - [Webhooks](https://developers.smartrecruiters.com/docs/webhooks.md) - [Managing webhook subscriptions](https://developers.smartrecruiters.com/docs/managing-webhook-subscriptions.md) - [Receiving webhook notifications](https://developers.smartrecruiters.com/docs/receiving-webhook-notifications.md) - [Troubleshooting](https://developers.smartrecruiters.com/docs/troubleshooting.md) - [Webhooks Demo App](https://developers.smartrecruiters.com/docs/webhooks-demo-app.md) - [Webhooks security](https://developers.smartrecruiters.com/docs/webhooks-security.md) - [API Reference](https://developers.smartrecruiters.com/docs/api-reference.md) - [Get Started](https://developers.smartrecruiters.com/docs/get-started.md): Build With SmartRecruiters - [The SmartRecruiters API Platform](https://developers.smartrecruiters.com/docs/the-smartrecruiters-platform.md): Build With SmartRecruiters - [Application API](https://developers.smartrecruiters.com/docs/application-api.md) - [Get Application Screening Questions and Privacy Policies](https://developers.smartrecruiters.com/docs/partners-get-application-screening-questions-and-privacy-policies.md) - [Get Candidate Application Status](https://developers.smartrecruiters.com/docs/partners-get-candidate-application-status.md) - [Post an Application](https://developers.smartrecruiters.com/docs/partners-post-an-application.md) - [Customer Experience](https://developers.smartrecruiters.com/docs/customer-experience.md) - [Assessment API (2021)](https://developers.smartrecruiters.com/docs/partners-assessment-api-2021.md) - [Integration Workflow](https://developers.smartrecruiters.com/docs/integration-workflow.md) - [Partner Endpoints Specification](https://developers.smartrecruiters.com/docs/partner-endpoints-specification.md) - [SmartRecruiters Endpoints Specification](https://developers.smartrecruiters.com/docs/smartrecruiters-endpoints-specification.md) - [Help](https://developers.smartrecruiters.com/docs/partners-help.md) - [Get existing contract details](https://developers.smartrecruiters.com/docs/get-existing-contract-details.md) - [Get job postings](https://developers.smartrecruiters.com/docs/get-job-postings.md) - [Job Board API](https://developers.smartrecruiters.com/docs/partners-job-board-api.md) - [Candidate](https://developers.smartrecruiters.com/docs/candidate.md) - [Config](https://developers.smartrecruiters.com/docs/config.md) - [ContactPerson](https://developers.smartrecruiters.com/docs/contactperson.md) - [Employee](https://developers.smartrecruiters.com/docs/employee.md) - [Error](https://developers.smartrecruiters.com/docs/error.md) - [Objects](https://developers.smartrecruiters.com/docs/partners-objects.md) - [InlineAssessmentCandidate](https://developers.smartrecruiters.com/docs/inlineassessmentcandidate.md) - [InlineAssessmentCompany](https://developers.smartrecruiters.com/docs/inlineassessmentcompany.md) - [InlineAssessmentJob](https://developers.smartrecruiters.com/docs/inlineassessmentjob.md) - [InlineAssessmentOrderRequest](https://developers.smartrecruiters.com/docs/inlineassessmentorderrequest.md) - [InlineAssessmentOrderResponse](https://developers.smartrecruiters.com/docs/inlineassessmentorderresponse.md) - [Job](https://developers.smartrecruiters.com/docs/job.md) - [Money](https://developers.smartrecruiters.com/docs/money.md) - [Offer](https://developers.smartrecruiters.com/docs/offer.md) - [TargetMarket](https://developers.smartrecruiters.com/docs/targetmarket.md) - [Terms](https://developers.smartrecruiters.com/docs/terms.md) - [Overview](https://developers.smartrecruiters.com/docs/partners-overview.md) - [Access Resources](https://developers.smartrecruiters.com/docs/partners-access-resources.md) - [Getting Started](https://developers.smartrecruiters.com/docs/partners-getting-started.md) - [Access Scopes](https://developers.smartrecruiters.com/docs/access-scopes.md) - [Permission Reference](https://developers.smartrecruiters.com/docs/permission-reference.md) - [API Key](https://developers.smartrecruiters.com/docs/authentication-api-key.md): Making API requests with API Key - [OAuth 2.0. Client Credentials grant](https://developers.smartrecruiters.com/docs/authentication-oauth-client-credential.md): Making API requests between machines - [Authentication](https://developers.smartrecruiters.com/docs/authentication.md): Authenticate and authorize access to the SmartRecruiters APIs - [OAuth 2.0 General Partner Integration](https://developers.smartrecruiters.com/docs/oauth-20-general-partner-integration.md): Making API requests on a customer's behalf - [Partner API Key](https://developers.smartrecruiters.com/docs/partner-api-key.md): Making API requests as a partner - [OAuth 2.0. Register an app](https://developers.smartrecruiters.com/docs/register-an-app.md) - [Breaking Changes](https://developers.smartrecruiters.com/docs/breaking-changes.md) - [Error Handling](https://developers.smartrecruiters.com/docs/error-handling.md): Error codes and resolutions - [Pagination](https://developers.smartrecruiters.com/docs/pagination.md): Paginating through resources - [Public IP addresses](https://developers.smartrecruiters.com/docs/public-ip-addresses.md) - [Rate Limiting](https://developers.smartrecruiters.com/docs/rate-limiting.md): Working with API limits - [Configuration](https://developers.smartrecruiters.com/docs/websso-configuration.md) - [Active Directory Federation Service (ADFS) Configuration](https://developers.smartrecruiters.com/docs/websso-ad-fs-configuration.md) - [Creating new SSO-enabled user](https://developers.smartrecruiters.com/docs/websso-creating-new-sso-enabled-user.md): Follow those steps when you want to create new SSO-enabled user - [Overview](https://developers.smartrecruiters.com/docs/websso-overview.md) - [Updating ssoIdentifier](https://developers.smartrecruiters.com/docs/websso-updating-ssoidentifier.md): Follow those steps when you want to change the ssoIdentifier of a SmartRecruiters user ## API Reference - [Create a New Candidate Application](https://developers.smartrecruiters.com/reference/createcandidate-1.md): Operation is done on behalf of a candidate – they can access and edit the data, including attachments - [Get candidate status](https://developers.smartrecruiters.com/reference/getapplicationstatus-1.md) - [Get application configuration for posting](https://developers.smartrecruiters.com/reference/getapplyconfigurationforposting-1.md): Returns application configuration for posting. Configuration contains screening questions, privacy policies and settings. Optionally, conditional questions can be included in the response. - [Approve the approval request by id](https://developers.smartrecruiters.com/reference/approvalsapprove-1.md) - [Add comment to given approval request](https://developers.smartrecruiters.com/reference/approvalscommentscreate-1.md) - [Get comments for given approval request](https://developers.smartrecruiters.com/reference/approvalscommentsget-1.md) - [Create approval request](https://developers.smartrecruiters.com/reference/approvalscreate-1.md): The new approval request will be created based on approval request with provided baseId. If base approval request is pending, it will be abandoned. The newly created request will contain new id, type, decision mode and steps, as well as PENDING statuses and decisions. - [Get pending approvals requests where you are an approver.](https://developers.smartrecruiters.com/reference/approvalsget-1.md): The max number of returned approval requests is 100. - [Get approval request by id](https://developers.smartrecruiters.com/reference/approvalsgetbyid-1.md) - [Reject the approval request by id](https://developers.smartrecruiters.com/reference/approvalsreject-1.md) - [Overview](https://developers.smartrecruiters.com/reference/apps-integrations-api.md) - [Enables integration](https://developers.smartrecruiters.com/reference/enableintegration-1.md) - [get partner configuration](https://developers.smartrecruiters.com/reference/getpartnerconfig.md) - [saves configuration for partner](https://developers.smartrecruiters.com/reference/savepartnerconfig.md): Endpoint for saving partner's configuration. - [enable the company integration](https://developers.smartrecruiters.com/reference/setupintegration.md): Set up integration. 1. Validates if token has client_credentials_write scope (created using master credentials) 2. Validates if company gave consent for integration with partner 3. Saves credentials send by the partner 4. Created credentials for current company 5. Sends created credentials back to partner - [add attachment to order](https://developers.smartrecruiters.com/reference/addattachmenttoorder.md): Add attachment to order. Adding attachment to inline assessment orders is not supported. - [updates package result](https://developers.smartrecruiters.com/reference/packageresultupdate.md): Updates results for package ordered. Follows RFC 7396 rules to describe set of modifications. - [Shows consent form on partner side](https://developers.smartrecruiters.com/reference/askforconsent.md): Endpoint to which SmartRecruiters will send request for consent. After that Partner will: 1. Create client credentials which may be used on SmartRecruiters side 2. Retrieve access_token using master client credentials 3. Send generated credentials using oauth token obtained In return SmartRecruiters would send client credentials for company setting up the integration. - [Removes integration on partner side](https://developers.smartrecruiters.com/reference/deleteintegration.md) - [Orders assessment package for candidate](https://developers.smartrecruiters.com/reference/ordersassessmentpackage.md) - [Orders inline assessment package for candidate](https://developers.smartrecruiters.com/reference/ordersinlineassessmentpackage.md) - [Retrieves a package by id](https://developers.smartrecruiters.com/reference/getpackagebyid.md) - [Retrieves a list of packages](https://developers.smartrecruiters.com/reference/listpackages.md) - [Exchange credentials for an access token](https://developers.smartrecruiters.com/reference/gettoken.md): SmartRecruiters will call this endpoint to exchange the credentials received from Partner for an access token. - [Retrieves all assessment orders for specified application](https://developers.smartrecruiters.com/reference/ordersgetlist-1.md) - [List audit events](https://developers.smartrecruiters.com/reference/auditget-1.md): The `ADMINISTRATOR` role is required to access the Audit API. Data collected via the Audit API will be retained at least 26 months. When `eventDateAfter` and `eventDateBefore` are not set, by default, the time range is set to the last 7 days. Below is the list of the events that are currently exposed in the API: * **USER_ACCOUNT_ACTIVATED** - user account has been activated, user can now login to the system * **USER_ACCOUNT_CREATED** - user account has been created, in order to log in to the system account has to be activated first * **USER_ACCOUNT_DEACTIVATED** - user account has been deactivated, logging possibility disabled for the user * **USER_ACCOUNT_UPDATED** - user account has been modified * **USER_AUTHENTICATION_INVALID_CREDENTIALS** - user authentication failed due to invalid credentials. Additional context represents the type of the authentication method: ```json context: { authenticationType: "PASSWORD" } ``` * **USER_AUTHENTICATION_SUCCESS** - user authentication succeeded Additional context represents the type of the authentication method: ```json context: { authenticationType: "PASSWORD", officeName: "string" //Optional } ``` * **USER_PASSWORD_CHANGED** - user password has been changed * **USER_PASSWORD_RESET** - user password has been reset * **USER_ROLE_CHANGED** - user role has been changed, Additional context represents previous and current role of the user: ```json context: { currentRole: "RESTRICTED", previousRole: "STANDARD" } ``` * **USER_API_KEY_RENEWED** - user api-key has been renewed * **USER_LOGOUT** - user has been logged out from the platform Additional context represents the source of the logout: ```json context: { source: 'string' } ``` * **CREDENTIALS_CREATED** - api-key or OAuth credentials has been renewed * **CREDENTIALS_CHANGED** - api-key or OAuth credentials has been modified * **CREDENTIALS_REVOKED** - api-key or OAuth credentials has been modified Additional context represents credential type: ```json context: { credentialType: "string" } ``` * **SEARCH** - user performed search For entityType CANDIDATE additional context represents candidate search event: ```json context: { keyword: [ "test" ], jobTitles: [ "Freelancer", "Software Engineer" ], jobNames: [ "Java Developer, San Francisco" ], companies: [ "SmartRecruiters" ], schools: [ "University of Science and Technology" ] ``` * **JOB_DELETED** - job was deleted Additional context represents the deleted job: ```json context: { jobName: "string", jobRefNumber: "string" } ``` * **HIRING_TEAM_MEMBER_ADDED** - a new member was added to the hiring team of the job Additional context represents the new member: ```json context: { userId: "string", roleId: "string", roleName: "string" } ``` * **HIRING_TEAM_MEMBER_REMOVED** - a member was removed from the hiring team of the job Additional context represents the removed member: ```json context: { userId: "string" } ``` * **HIRING_TEAM_ROLE_UPDATED** - role of one of the hiring team members was updated Additional context represents previous and current role of the updated member: ```json context: { userId: "string", previousRoleId: "string", previousRoleName: "string", currentRoleId: "string", currentRoleName: "string" } ``` * **APPROVAL_DELEGATION_FROM_USER_CREATED** - a user created an approval delegation * **APPROVAL_DELEGATION_FROM_USER_CANCELLED** - a user cancelled an approval delegation * **APPROVAL_DELEGATION_TO_USER_CREATED** - an approval delegation to a user (a delegate) has been created * **APPROVAL_DELEGATION_TO_USER_CANCELLED** - an approval delegation to a user (a delegate) has been created Additional context represents approval delegation event's details: ```json context: { originalApproverId: "string", delegateApproverId: "string", startDate: date, endDate: date } ``` * **JOB_APPROVAL_REQUESTED** - a job approval was requested Additional context represents approval modified event's details: ```json comment: { text: 'string', authorId: 'string', date: 'string', } context: { comments: [comment] } ``` * **JOB_APPROVAL_APPROVED** - a job approval was approved Additional context represents approval modified event's details: ```json comment: { text: 'string', authorId: 'string', date: 'string', } context: { comments: [comment] } ``` * **JOB_APPROVAL_REJECTED** - a job approval was rejected Additional context represents approval modified event's details: ```json comment: { text: 'string', authorId: 'string', date: 'string', } context: { comments: [comment] } ``` * **JOB_APPROVAL_ABANDONED** - a job approval was abandoned Additional context represents approval modified event's details: ```json comment: { text: 'string', authorId: 'string', date: 'string', } context: { comments: [comment] } ``` * **OFFER_APPROVAL_APPROVED** - an offer approval was approved * **OFFER_APPROVAL_REJECTED** - an offer approval was rejected * **OFFER_APPROVAL_ABANDONED** - an offer approval was abandoned Additional context represents approval event's details. `type` is one of the values: * sequential - consent of every approver is required, approval requests are sent one by one in a defined order. * parallel - all approvers can approve at the same time. `decisionMode` is one of the values: * all - consent of every approver is required * any - consent of a single approver is enough ```json decision: { decidedOn: integer, decision: 'string', decidedBy: 'string', userId: 'string' } context: { approvalRequestId: 'string' approvers: [decision] type: 'string', decisionMode: 'string' } ``` * **JOB_APPROVAL_STEP_APPROVED** - a job approval step was approved by author * **JOB_APPROVAL_STEP_REJECTED** - a job approval step was rejected by author Additional context represents approval step modified event's details: ```json context: { approver: 'string' comment: 'string' } ``` * **JOB_APPROVAL_STEP_SKIPPED** - an author skipped approver for a job approval step * **OFFER_APPROVAL_STEP_APPROVED** - an offer approval step was approved by author * **OFFER_APPROVAL_STEP_REJECTED** - an offer approval step was rejected by author * **OFFER_APPROVAL_STEP_SKIPPED** - an author skipped approver for an offer approval step Additional context represents approval step modified event's details: ```json context: { approvalRequestId: "string" approver: "string", reasonId: "string", comment: "string" } ``` * **JOB_APPROVAL_STEP_DELEGATED** - job approval step was delegated to new approver * **OFFER_APPROVAL_STEP_DELEGATED** - job approval step was delegated to new approver Additional context represents approval step delegated event's details: ```json context: { approvalRequestId: "string" originalApproverId: "string", delegateApproverId: "string" } ``` * **OFFER_ACCEPTED** - offer was accepted. Returns viaIntegration which is set to true if offer was accepted via third party integration like Docusign ```json context: { viaIntegration: "boolean" } ``` * **OFFER_DECLINED** - offer was declined. Returns viaIntegration which is set to true if offer was accepted via third party integration like Docusign ```json context: { viaIntegration: "boolean" } ``` * **CANDIDATE_PERSONAL_DATA_MODIFIED** - Candidate personal data were modified. Only Web Application actions are audited. Event doesn't cover Customer API. Personal data covers: * First Name * Last Name * E-mail * Phone * Location * Phone Number * Social Links (Skype Id, Indeed Id, Twitter account, LinkedIn profile, Facebook profile, Websites) * **CANDIDATE_PROFILE_MODIFIED** - Candidate profile data were modified. Only Web Application actions are audited. Event doesn't cover Customer API and Mobile application. * **CANDIDATE_DELETED** - Candidate was deleted. The authorType property can be used to distinguish deletion nature. Following values are possible: * USER - candidate was deleted by user * SYSTEM - candidate was deleted by compliance mechanism (due to retention period end or lack of consent) * CANDIDATE - candidate deleted oneself * **CANDIDATE_PROFILE_OPENED** - Candidate profile was opened by user. Only Web Application actions are audited. Event doesn't cover Customer API and Mobile application. * **CANDIDATE_EEO_FILLED** - Missing Candidate EEO informations were filled by user. * **CANDIDATE_PROFILE_UPDATED_DUE_TO_MERGE** - candidate profile updated due to merge. Additional context with id of duplicated candidate profile: ```json context: { mergedProfileId: "string" } ``` * **CANDIDATE_DELETED_DUE_TO_MERGE** - candidate profile deleted due to merge. Additional context with id of master candidate profile: ```json context: { masterProfileId: "string" } ``` * **CANDIDATE_TAGS_MODIFIED** - candidate tags have been modified. It means that tags have been added, replaced or deleted from the profile. The additional context contains the `tags` that are assigned to the candidate after the successful operation. ```json context: { tags: "string" } ``` * **APPLICATION_PROPERTIES_UPDATED** - application properties updated. Additional context with id of updated properties: ```json context: { updatedPropertiesIds: "string", updatedPropertiesKeys: "string" } ``` * **APPLICATION_SOURCE_MODIFIED** - community or job application source has been changed. The additional context contains the old and new source identifier after the successful operation. ```json context: { previousSource: "string", nextSource: "string" } ``` * **ONBOARDING_STATUS_UPDATED** - onboarding status updated. Please note that for this event, the application ID must be used as the entity_id parameter for the Audit API. The candidate ID will not work in this case. Additional context with ids of values: ```json context: { fromValueId: "string", toValueId: "string" } ``` * **JOB_APPLICATION_CREATED** - job application created. Currently, we are auditing only actions undertaken by an employee. Additional context with ids of values: ```json context: { currentStatus: "string" } ``` * **JOB_APPLICATION_STATE_MODIFIED** - job application state modified. Currently, we are auditing only actions undertaken by an employee or system user. Additional context with ids of values: ```json context: { currentStatus: "string", currentStep: "string", //optional, might not be returned if lack of configured step previousStatus: "string", previousStep: "string" //optional, might not be returned if lack of configured step } ``` * **LRSC_CONSENT_GIVEN** - Consent for data exchange within LinkedIn Recruiter System Connect integration was given. * **OAUTH_APPLICATION_ACCESS_GRANTED** - Access to OAuth application was granted to given user. Additional context represents grant's details: ```json context: { applicationId: "string", applicationName: "string", startDate: "date-time", endDate: "date-time" } ``` JOB_PROPERTY_* events audit changes from both Web Application on Job Field Settings page and Configuration API unless otherwise indicated. * **JOB_PROPERTY_CREATED** - a job property was created. * **JOB_PROPERTY_ACTIVATED** - a job property was activated. * **JOB_PROPERTY_DEACTIVATED** - a job property was deactivated. * **JOB_PROPERTY_UPDATED** - a job property was updated. Additional context represents current and previous job property: ```json property: { id: "string", label: "string", category: "string", active: boolean, visible: boolean, required: boolean } context: { currentProperty: property, previousProperty: property } ``` * **JOB_PROPERTY_UPDATED_VALUES** - _(deprecated)_ will continue to be emitted until March 2027. Use **JOB_PROPERTY_UPDATED_VALUES_PARTITIONED** instead. For big bulk updates, this event might not be emitted. In such cases, only **JOB_PROPERTY_UPDATED_VALUES_PARTITIONED** events will be available. Values in a job property were updated. Only actions from the Web Application (UI) were audited within this event. Additional context: ```json value: { id: "string", label: "string", archived: boolean } context: { currentValues: [value], previousValues: [value] } ``` * **JOB_PROPERTY_UPDATED_VALUES_PARTITIONED** - values in a job property were updated. This is the replacement for **JOB_PROPERTY_UPDATED_VALUES**. Only actions from the Web Application (UI) are audited. Every event includes `aggregationId` in context. For small updates, single event is emitted; for high-volume updates the system emits multiple events with partitioned value sets. When multiple events are emitted for one operation, use the same `aggregationId` to merge them into a single logical update. Additional context: ```json value: { id: "string", label: "string", archived: boolean } context: { aggregationId: "string", currentValues: [value], previousValues: [value] } ``` * **JOB_PROPERTY_UPDATED_VALUE** - a job property value was updated (changed label, (un)archived). Only actions from Configuration API are audited. These actions from UI are audited within JOB_PROPERTY_UPDATED_VALUES (until March 2027) and JOB_PROPERTY_UPDATED_VALUES_PARTITIONED events. Additional context represents updated current and previous value: ```json context: { currentValue: value, previousValue: value } ``` * **JOB_PROPERTY_ADDED_VALUE** - a value was added to a job property. Only actions from Configuration API are audited. These actions from UI are audited within JOB_PROPERTY_UPDATED_VALUES (until March 2027) and JOB_PROPERTY_UPDATED_VALUES_PARTITIONED events. Additional context represents added value: ```json context: { value: [value] } ``` * **JOB_PROPERTY_ARCHIVED_VALUE** - a job property value was archived. Only actions from Configuration API are audited. These actions from UI are audited within JOB_PROPERTY_UPDATED_VALUES (until March 2027) and JOB_PROPERTY_UPDATED_VALUES_PARTITIONED events. Additional context represents archived value id: ```json context: { valueId: "string" } ``` * **JOB_PROPERTY_DEPENDENT_PROPERTIES_UPDATED** - job property dependents were updated. Additional context represents updated dependent properties: ```json context: { currentDependents: ["string"], previousDependents: ["string"] } ``` * **JOB_PROPERTY_DEPENDENT_VALUES_UPDATED** - job property dependent values were updated. Additional context represents added or updated dependent values: ```json dependentValue: { "parent": { "id": "string", "label": "string" }, "values": [value], "valuesIds": ["string"] } context: { dependentId: "string", currentDependentValues: [dependentValue], previousDependentValues: [dependentValue] } ``` * **JOB_PROPERTY_DEPENDENT_VALUES_MODIFIED** - job property dependent values were modified Additional context represents modified dependent values: ```json context: { dependentId: "string", modifications: { "valuesSet": { "string": ["string"] }, "valuesAppended": { "string": ["string"] }, "valuesRemoved": { "string": ["string"] }, "parentValuesWithAllValuesSet": ["string"], "clearedOtherParentValues": boolean }, } ``` * **JOB_PROPERTIES_CHANGED** - job details has changed (job fields edited on job) ```json fieldValue: { "fieldId": "string", "value": "string" } context: { "previousProperties": [fieldValue], "currentProperties": [fieldValue] } ``` * **POSITION_UPDATED** - when position is updated * **POSITION_DELETED** - when position is deleted * **POSITION_CREATED** - when position is created * **POSITION_ASSIGNED** - when position is assigned * **CANCEL_NOT_FILLED_POSITION** - when not filled position is cancelled ```json position: { id: 'string', positionId: 'string', status: 'string', openDate: 'date', targetStartDate: 'date', type: 'string' } context: { previous: position, current: position } ``` * **JOB_AD_CREATED** - when job ad is created ```json location: { country: 'string' countryCode: 'string' regionCode: 'string' region: 'string' city: 'string' address: 'string' postalCode: 'string' longitude: 'string' latitude: 'string' manual: boolean } compensation: { currency: 'string', min: 'number', max: 'number', period: 'string' } jobAd: { id: 'string', title: 'string', visibility: 'string', creatorId: 'string', modifierId: 'string', createDate: 'string', location: location, sections: 'string', languageId: 'string', applyUrl: 'string' compensation: compensation } context: { jobAd: jobAd } ``` * **JOB_AD_UPDATED** - when job ad is updated ```json context: { previous: jobAd, current: jobAd } ``` * **JOB_AD_DELETED** - when job ad is deleted ```json context: { jobAdId: 'string', employeeId: 'string' } ``` * **ONBOARDING_PROCESS_DELETED** - when an Onboarding Process is deleted from SmartOnboard ```json context: { deletionReason: 'string' } ``` * **CUSTOMER_REPORT_DOWNLOADED** - when a report is downloaded Additional context with ids of values: ```json context: { reportFileId: 'string', reportId: 'string' } ``` * **COMPANY_HIRING_TEAM_ROLE_CREATED** - a new hiring team role was created Additional context represents the new hiring team role: ```json context: { id: 'string', name: 'string', active: boolean, defaultRole: boolean, jobAccessConfiguration: object, applicationAccessConfiguration: object } ``` * **COMPANY_HIRING_TEAM_ROLE_UPDATED** - a hiring team role was updated Additional context represents the hiring team role before and after the update: ```json context: { before: { id: 'string', name: 'string', active: boolean, defaultRole: boolean, jobAccessConfiguration: object, applicationAccessConfiguration: object }, after: { id: 'string', name: 'string', active: boolean, defaultRole: boolean, jobAccessConfiguration: object, applicationAccessConfiguration: object } } ``` * **COMPANY_HIRING_TEAM_ROLE_DELETED** - a hiring team role was deleted Additional context represents the deleted hiring team role: ```json context: { id: 'string', name: 'string', active: boolean, defaultRole: boolean, jobAccessConfiguration: object, applicationAccessConfiguration: object } ``` * **COMPANY_HIRING_TEAM_ROLE_ACTIVATION_CHANGED** - a hiring team role was activated or deactivated Additional context represents the activation status before and after the change: ```json context: { id: 'string', before: boolean, after: boolean } ``` * **EMPLOYEE_FLAG_SET** - employee flag was manually set for a candidate * **EMPLOYEE_FLAG_REMOVED** - employee flag was manually removed from a candidate * **EMPLOYEE_BADGE_ASSIGNED** - employee badge was assigned to a candidate * **EMPLOYEE_BADGE_REMOVED** - employee badge was removed from a candidate * **WEB_SSO_CONFIGURATION_UPDATED** - web sso configuration was updated Additional context represents web sso configuration settings: ```json context: { previousEnableWebSso: boolean, currentEnableWebSso: boolean, currentCertificateFingerprint: "string", previousCertificateFingerprint: "string", currentIdentityProviderUrl: "string", previousIdentityProviderUrl: "string", currentNameIDFormat: "string", previousNameIDFormat: "string", currentEnableStrictReplayAttackProtection: boolean, previousEnableStrictReplayAttackProtection: boolean } ``` - [Get candidate status](https://developers.smartrecruiters.com/reference/getstatus.md): Get candidates application status from the candidate perspective. Possible statuses are: `NEW`, `IN_REVIEW`, `INTERVIEW`, `OFFERED`, `HIRED`, `ARCHIVED`. For `ARCHIVED` there is also substatus returned: `REJECTED`, `WITHDRAWN_BY_APPLICANT`, `TRANSFERRED`, `DELETED_BY_COMPANY`. - [Overview](https://developers.smartrecruiters.com/reference/overview-1.md) - [Create a new candidate and assign to a Talent Pool](https://developers.smartrecruiters.com/reference/candidatesadd-1.md): Create a new candidate and assign to a Talent Pool. **Tracking candidate source** When adding a new candidate, it's very important you track its source appropriately. In order to associate a source with your app/integration, add below object to a candidate body object for this endpoint: ``` { "sourceDetails": { "sourceTypeId": "string", "sourceSubTypeId": "string", "sourceId": "string" } } ``` **sourceTypeId** - it's a Source Type - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceSubTypeId** - it's a Source Subtype, an optional parameter - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceId** - it's a Source Id - available values for a given sourceTypeId can be found using [get /configuration/sources/:sourceTypeId/values](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1) endpoint NOTE: Not defining the source will default to **API** source. NOTE II: In case you can't find an appropriate source to track against you can: * Create a custom source for each customer account separately on [this admin page](https://www.smartrecruiters.com/settings/configuration/custom-sources) (you need to be logged in as an admin to the customer account in order to view this page) * Request to [partners@smartrecruiters.com](mailto:partners@smartrecruiters.com) adding a standard source that will be available for all customers if your app/integration is productised (available to all SmartRecruiters customers) - [Create a new candidate and assign to a job](https://developers.smartrecruiters.com/reference/candidatesaddtojob-1.md): Create a new candidate and assign to a job. **Tracking candidate source** When adding a new candidate, it's very important you track its source appropriately. In order to associate a source with your app / integration, add the below object to a candidate body object for this endpoint: ``` { "sourceDetails": { "sourceTypeId": "string", "sourceSubTypeId": "string", "sourceId": "string" } } ``` **sourceTypeId** - it's a Source Type - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceSubTypeId** - it's a Source Subtype, an optional parameter - available values can be found using [get /configuration/sources](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1) endpoint **sourceId** - it's a Source Id - available values for a given sourceTypeId can be found using [get /configuration/sources/:sourceTypeId/values](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1) endpoint NOTE: Not defining the source will default to **API** source. NOTE II: In case you can't find an appropriate source to track against you can: * Create a custom source for each customer account separately on [this admin page](https://www.smartrecruiters.com/settings/configuration/custom-sources\) (you need to be logged in as an admin to the customer account in order to view this page) * Request to [partners@smartrecruiters.com](mailto:partners@smartrecruiters.com) adding a standard source that will be available for all customers if your app / integration is productised (available to all SmartRecruiters customers) - [Search candidates](https://developers.smartrecruiters.com/reference/candidatesall-1.md): Only candidates matching all specified criteria and having at least one job application are returned. - [Attach files to a candidate.](https://developers.smartrecruiters.com/reference/candidatesattachmentsadd-1.md): Attach files to a candidate. - [Attach file to candidate in context of given job.](https://developers.smartrecruiters.com/reference/candidatesattachmentsaddforjob-1.md): Attach file to candidate in context of given job. - [Delete attachment.](https://developers.smartrecruiters.com/reference/candidatesattachmentsdeleteforjob-1.md): Delete attachment. - [Get a candidate's attachment.](https://developers.smartrecruiters.com/reference/candidatesattachmentsget-1.md): Get a candidate's attachment. - [Get candidate's attachment.](https://developers.smartrecruiters.com/reference/candidatesattachmentsgetforjob-1.md): Get candidate's attachment. - [Get list candidate's attachments.](https://developers.smartrecruiters.com/reference/candidatesattachmentslist-1.md): Get list of candidate's attachments. - [Get list of candidate's attachments in context of given job.](https://developers.smartrecruiters.com/reference/candidatesattachmentslistforjob-1.md): Get list of candidate's attachments in context of given job. - [Candidate consent decisions](https://developers.smartrecruiters.com/reference/candidatesconsentdecisions-1.md): Depending on the consent approach which a customer chooses, the response will either contain one candidates' consent decision - known as "single consent" - or contain one candidates' consent broken out by the data scopes which the customer has subscribed to - such as SmartRecruit and SmartCRM. This is referred to as "separated consent". Provided there is at least one pending consent request (without a decision) for a candidate, the response contains a date and time of the most recent of such consent requests. Read more about GDPR tools on [SmartRecruiters Help Center](https://customers.smartrecruiters.com/kb/articles/2273-compliance-and-gdpr-tools-for-companies) - [Request consent from multiple candidates](https://developers.smartrecruiters.com/reference/candidatesconsentrequestbatch-1.md): Read more about GDPR tools on [SmartRecruiters Help Center](https://customers.smartrecruiters.com/kb/articles/2273-compliance-and-gdpr-tools-for-companies) - [Status of candidate consent](https://developers.smartrecruiters.com/reference/candidatesconsentstatus-1.md): Get candidate consent status - [Delete Candidate](https://developers.smartrecruiters.com/reference/candidatesdelete-1.md): Delete candidate - [Delete candidate's application to a job](https://developers.smartrecruiters.com/reference/candidatesdeleteapplication.md): Delete candidate's application to a job - [Get details of a candidate](https://developers.smartrecruiters.com/reference/candidatesget-1.md): Get details of a candidate - [Get details of a candidate's application to a job](https://developers.smartrecruiters.com/reference/candidatesgetapplication-1.md): Get details of a candidate's application to a job - [Get Onboarding Status for a candidate](https://developers.smartrecruiters.com/reference/candidatesonboardingget-1.md): Get Onboarding Status for a candidate. Please use `GET /candidates/{id}/jobs/{jobId}/onboardingStatus` instead. - [Get Onboarding Status for a candidate associated with given job](https://developers.smartrecruiters.com/reference/candidatesonboardinggetforjob-1.md): Get Onboarding Status for a candidate associated with given job. - [Set Onboarding Status for a candidate](https://developers.smartrecruiters.com/reference/candidatesonboardingupdate-1.md): Set Onboarding Status for a candidate. Please use `PUT /candidates/{id}/jobs/{jobId}/onboardingStatus` instead. - [Sets Onboarding Status for a candidate associated with given job](https://developers.smartrecruiters.com/reference/candidatesonboardingupdateforjob-1.md): Sets Onboarding Status for a candidate associated with given job. - [Get candidate property values for a candidate](https://developers.smartrecruiters.com/reference/candidatespropertiesget-1.md): Please use `GET /candidates/{id}/jobs/{jobId}/properties` instead. Returns ``` {} ``` when there is no value set for a candidate property. - [Get candidate property values for a candidate's job](https://developers.smartrecruiters.com/reference/candidatespropertiesgetforjob-1.md): Returns ``` {} ``` when there is no value set for a candidate property. - [Add/update candidate properties values](https://developers.smartrecruiters.com/reference/candidatespropertiesvaluesbatchupdateforjob-1.md): Set candidate properties values for the candidate's job Below you can find a list of value examples, dependent on different candidate property types. ### BOOLEAN ``` [{ "id": "propertyId", "value": true }] ``` Value has to be `true` or `false`. ### COUNTRY ``` [{ "id": "propertyId", "value": "us" }] ``` Value has to be lowercase string in ISO 3166-1 alpha-2 format. ### CURRENCY ``` [{ "id": "propertyId", "value": { "code": "GBP", "value": 23232 } }] ``` Code of value is a currency code in ISO 4217 format. ### DATE ``` [{ "id": "propertyId", "value": "2015-11-17T23:00:00.000Z" }] ``` ### NUMBER, PERCENT ``` [{ "id": "propertyId", "value": 42 }] ``` ### REGION ``` [{ "id": "propertyId", "value": "us-wa" }] ``` Value has to be lowercase string in ISO 3166-2 compatible format. ### SINGLE_SELECT ``` [{ "id": "propertyId", "value": "f6fe768f-b5e6-4794-9938-c2f42ab0a572" }] ``` Value has to be an id of candidate property value (provided by `GET /configuration/candidate-properties/{propertyId}/values`). ### TEXT ``` [{ "id": "propertyId", "value": "Example text" }] ``` ### USER ``` [{ "id": "propertyId", "value": "50fe861de4b00265edec6775" }] ``` Value has to be a valid user id ### Resetting a value To reset a value for any of the above types, please pass: ``` [{"id": "propertyId"}] ``` - [Add/update candidate property value](https://developers.smartrecruiters.com/reference/candidatespropertiesvaluesupdate-1.md): Please use `PUT /candidates/{id}/jobs/{jobId}/properties` instead. Set a candidate property value for the candidate. Below you can find a list of value examples, dependent on different candidate property types. * **BOOLEAN** ``` { "value": true } ``` Value has to be `true` or `false`. * **COUNTRY** ``` { "value": "us" } ``` Value has to be lowercase string in ISO 3166-1 alpha-2 format. * **CURRENCY** ``` { "value": { "code": "GBP", "value": 23232 } } ``` Code of value is a currency code in ISO 4217 format. * **DATE** ``` { "value": "2015-11-17T23:00:00.000Z" } ``` * **NUMBER, PERCENT** ``` { "value": 42 } ``` * **REGION** ``` { "value": "us-wa" } ``` Value has to be lowercase string in ISO 3166-2 compatible format. * **SINGLE_SELECT** ``` { "value": "f6fe768f-b5e6-4794-9938-c2f42ab0a572" } ``` Value has to be an id of candidate property value (provided by GET /configuration/candidate-properties/{propertyId}/values). * **TEXT** ``` { "value": "Example text" } ``` * **USER** ``` { "value": "50fe861de4b00265edec6775" } ``` Value has to be a valid user id To reset a value for any of the above types, please pass ``` {} ``` - [Add/update candidate property value](https://developers.smartrecruiters.com/reference/candidatespropertiesvaluesupdateforjob-1.md): Please use `PUT /candidates/{id}/jobs/{jobId}/properties` instead. Set a candidate property value for the candidate. Below you can find a list of value examples, dependent on different candidate property types. ### BOOLEAN ``` { "value": true } ``` Value has to be `true` or `false`. ### COUNTRY ``` { "value": "us" } ``` Value has to be lowercase string in ISO 3166-1 alpha-2 format. ### CURRENCY ``` { "value": { "code": "GBP", "value": 23232 } } ``` Code of value is a currency code in ISO 4217 format. ### DATE ``` { "value": "2015-11-17T23:00:00.000Z" } ``` ### NUMBER, PERCENT ``` { "value": 42 } ``` ### REGION ``` { "value": "us-wa" } ``` Value has to be lowercase string in ISO 3166-2 compatible format. ### SINGLE_SELECT ``` { "value": "f6fe768f-b5e6-4794-9938-c2f42ab0a572" } ``` Value has to be an id of candidate property value (provided by `GET /configuration/candidate-properties/{propertyId}/values`). ### TEXT ``` { "value": "Example text" } ``` ### USER ``` { "value": "50fe861de4b00265edec6775" } ``` Value has to be a valid user id ### Resetting a value To reset a value for any of the above types, please pass: ``` {} ``` - [Parse a resume, create a candidate and assign to a Talent Pool.](https://developers.smartrecruiters.com/reference/candidatesresumeadd-1.md): Parse a resume, create a candidate and assign to a Talent Pool. - [Parse a resume, create a candidate and assign to a job.](https://developers.smartrecruiters.com/reference/candidatesresumeaddtojob-1.md): Parse a resume, create a candidate and assign to a job. - [Parse a resume](https://developers.smartrecruiters.com/reference/candidatesresumeparse.md): Parse a resume - [Get candidate screening answers for a candidate's job](https://developers.smartrecruiters.com/reference/candidatesscreening-answersget-1.md): Returns candidate screening question answers for a candidate's job. Returns an empty array when there is no screening answers for given candidate's job. UUID in question category indicates custom question. Other value indicates predefined library question. In order to create human readable format of answers please use label properties. Ignore labels for answers with single field. Based on labels from included example you can get following text: ```text Do you have a current driver's license? - No Free text question - Long text answer for free text questions Checkbox question - Confirmed Legacy acknowledgment question - replaced by checkbox - Confirmed Gender, Race and Ethnicity [(definitions)](https://smartrecruiters.com/oneclick/static/html/en/eeoGeneral.html) - Gender: Male - Race/Ethnicity: Prefer not to answer Currency question - 1234 Multiple choice dropdown - third value, second value, first value Languages 1) - Language: English - Proficiency level: Advanced 2) - Language: Spanish - Proficiency level: Beginner 3) - Language: French - Proficiency level: Intermediate What are your preferred work shifts? 1) - Day: Weekdays - From: 08:00 AM - To: 04:00 PM 2) - Day: Weekdays - From: 10:00 AM - To: 02:00 PM Your Name - John ``` - [Update a candidate's source](https://developers.smartrecruiters.com/reference/candidatessourceupdate-1.md): Update a candidate's source - [Get candidate's status history](https://developers.smartrecruiters.com/reference/candidatesstatushistoryget-1.md): Get candidate's status history. Please use `GET /candidates/{id}/jobs/{jobId}/status/history` instead. - [Get candidate's status history for a candidate's job](https://developers.smartrecruiters.com/reference/candidatesstatushistorygetforjob-1.md): Get candidate's status history for a candidate's job - [Update a candidate's status](https://developers.smartrecruiters.com/reference/candidatesstatusupdate-1.md): Update a candidate's status - [Update a candidate's status on primary assignment](https://developers.smartrecruiters.com/reference/candidatesstatusupdateprimary-1.md): Update a candidate's status on primary assignment. Please use `PUT /candidates/{id}/jobs/{jobId}/status` instead. - [Add tags to a candidate](https://developers.smartrecruiters.com/reference/candidatestagsadd-1.md): Add new tags to a given candidate. It doesn't replace existing tags. - [Delete tags for a candidate](https://developers.smartrecruiters.com/reference/candidatestagsdelete-1.md): Delete tags for a given candidate. All tags associated with a candidate are removed. - [Get tags for a candidate](https://developers.smartrecruiters.com/reference/candidatestagsget-1.md) - [Update tags for a candidate](https://developers.smartrecruiters.com/reference/candidatestagsreplace-1.md): Update tags for a given candidate. It replaces all existing tags with the new array provided. - [Update candidate personal information](https://developers.smartrecruiters.com/reference/candidatesupdate-1.md): Update candidate details - [Create access group](https://developers.smartrecruiters.com/reference/configurationaccess-groupcreate.md): Creates new access group with given properties and criteria - [Delete access group](https://developers.smartrecruiters.com/reference/configurationaccess-groupdelete.md): Deletes access group by id - [Get access group](https://developers.smartrecruiters.com/reference/configurationaccess-groupget.md): Gets access group with given id - [List access groups](https://developers.smartrecruiters.com/reference/configurationaccess-grouplist.md): Lists access groups using pagination - [Update access group](https://developers.smartrecruiters.com/reference/configurationaccess-groupupdate.md): Updates access group by id - [Get a list of available candidate properties](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesall-1.md): Get all candidate properties and their configuration for a company - [Get candidate property by id](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesget-1.md): Get candidate property details and its configuration by id. - [Get Candidate Property values](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesvaluesall-1.md): Lists all available values for given candidate property id. This endpoint is available only for SINGLE_SELECT candidate property type. - [Create candidate property value](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesvaluescreate-1.md): Create SINGLE_SELECT candidate property value - [Remove candidate property value](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesvaluesdelete-1.md): Remove candidate property value label - [Get Candidate Property value by id](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesvaluesget-1.md): Get Candidate Property value by its id. - [Update candidate property value label](https://developers.smartrecruiters.com/reference/configurationcandidate-propertiesvaluesupdate-1.md): Update candidate property value label - [Get details of career site configuration](https://developers.smartrecruiters.com/reference/configurationcareersitesget.md): Get details of a single career site configuration by id - [List career sites configurations](https://developers.smartrecruiters.com/reference/configurationcareersiteslist.md): Lists career sites configurations using pagination - [Get company information](https://developers.smartrecruiters.com/reference/configurationcompanymy-1.md): Get all information about your company. - [Get departments](https://developers.smartrecruiters.com/reference/configurationdepartmentall-1.md) - [Creates department](https://developers.smartrecruiters.com/reference/configurationdepartmentcreate-1.md) - [Get department](https://developers.smartrecruiters.com/reference/configurationdepartmentget-1.md) - [Get list of hiring process](https://developers.smartrecruiters.com/reference/configurationhiring-processall-1.md) - [Get hiring process](https://developers.smartrecruiters.com/reference/configurationhiring-processget-1.md) - [Activate a job property](https://developers.smartrecruiters.com/reference/configurationjob-propertiesactivate-1.md): Activates a job property with given id. Id parameter is a job property id or key. - [Get a list of available job properties](https://developers.smartrecruiters.com/reference/configurationjob-propertiesall-1.md): Get a list of available job properties. - [Create a job property](https://developers.smartrecruiters.com/reference/configurationjob-propertiescreate-1.md): Creates a job property - [Deactivate a job property](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdeactivate-1.md): Deactivates a job property. Id parameter is a job property id or key. - [Get job property's dependents](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentsall-1.md): Get list of job property's dependents. Id parameter is a job property id or key. - [Create job property dependents](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentscreate-1.md): Create dependencies between job properties. Id parameter is a job property id or key. - [Remove job property's dependent](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentsremove-1.md): Remove dependency between job properties. Id and dependentId parameters are the job property id or key. - [Add job property's dependent value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentsvaluesadd-1.md): Add job property's dependent value for specific job property's value. Id and dependentId parameters are the job property id or key. - [Get dependent job property's values](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentsvaluesall-1.md): Get dependent job property's values with correlation to the parent field. Id and dependentId parameters are the job property id or key. - [Get job property's dependent values](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentsvaluesget-1.md): Get list of job property's dependent values for specific job property's value. Id and dependentId parameters are the job property id or key. - [Remove job property's dependent values relationship](https://developers.smartrecruiters.com/reference/configurationjob-propertiesdependentsvaluesremove-1.md): Remove relationship between dependent job properties values. Id and dependentId parameters are the job property id or key. - [Get job property by id](https://developers.smartrecruiters.com/reference/configurationjob-propertiesget-1.md): Get job property by id. Id parameter is a job property id or key. - [Add a job property's translations](https://developers.smartrecruiters.com/reference/configurationjob-propertiestranslationspatch-1.md): Submit a job property's translations to different languages - [Update a job property](https://developers.smartrecruiters.com/reference/configurationjob-propertiesupdate-1.md): Updates a job property. Id parameter is a job property id or key. - [Archive a job property value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluesarchive-1.md): Archive a job property value. Id parameter is a job property id or key. - [Create a job property value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluescreate-1.md): Creates a job property value. - [Archive a job property value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluesdeprecatedarchive-1.md): Archive a job property value. Id parameter is a job property id or key. Please use `PUT /configuration/job-properties/{id}/archive-values/{valueId}` instead. - [Unarchive a job property value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluesdeprecatedunarchive-1.md): Unarchive a job property value. Id parameter is a job property id or key. `DELETE /configuration/job-properties/{id}/archive-values/{valueId}` instead. - [Get available job property values](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluesget-1.md): Get available job property values. Id parameter is a job property id or key. - [Add a job property value's translations](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluestranslationspatch-1.md): Submit a job property value's translations to different languages - [Unarchive a job property value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluesunarchive-1.md): Unarchive a job property value. Id parameter is a job property id or key. - [Update a job property value](https://developers.smartrecruiters.com/reference/configurationjob-propertiesvaluesupdate-1.md): Update a job property value. Returns an updated job property value object. Id parameter is a job property id or key. - [Get a list of available offer properties](https://developers.smartrecruiters.com/reference/configurationoffer-propertiesall-1.md): Get a list of available offer properties. - [Get rejection reasons](https://developers.smartrecruiters.com/reference/configurationreasonsrejectionall-1.md): Get rejection reasons - [Get withdrawal reasons](https://developers.smartrecruiters.com/reference/configurationreasonswithdrawalall-1.md): Get withdrawal reasons - [List candidate source types with subtypes](https://developers.smartrecruiters.com/reference/configurationsourcetypes-1.md): Get a list of all available candidate source type with subtypes - [List candidate sources](https://developers.smartrecruiters.com/reference/configurationsourcevaluesall-1.md): Get a list of all available candidate sources by type. - [Get a candidate source](https://developers.smartrecruiters.com/reference/configurationsourcevaluessingle-1.md): Get a single candidate sources for a given type. - [Get a candidate source by identifier.](https://developers.smartrecruiters.com/reference/configurationsourcevaluessinglebyidentifier-1.md): Get a single candidate source for a given identifier (included deleted source). - [Create predefined location](https://developers.smartrecruiters.com/reference/configurationpredefined-locationscreateone.md): Creates new predefined location - [Remove multiple predefined locations](https://developers.smartrecruiters.com/reference/configurationpredefined-locationsdeletemany.md): Removes multiple predefined locations by ids - [Remove predefined location](https://developers.smartrecruiters.com/reference/configurationpredefined-locationsdeleteone.md): Removes predefined location by id - [Get list of predefined locations](https://developers.smartrecruiters.com/reference/configurationpredefined-locationsgetmany.md): Gets paginated list of predefined locations - [Get predefined location by id](https://developers.smartrecruiters.com/reference/configurationpredefined-locationsgetone.md): Gets predefined location by id - [Update predefined location](https://developers.smartrecruiters.com/reference/configurationpredefined-locationsupdateone.md): Updates predefined location by id - [Overview](https://developers.smartrecruiters.com/reference/event-management-api.md) - [Add applicants to event pool](https://developers.smartrecruiters.com/reference/addapplicantstoevent.md): Use this endpoint to add applicants event applicants pool. - [Add applicants from event pool to session](https://developers.smartrecruiters.com/reference/addapplicantstosession.md): Use this endpoint to add applicants to session. - [Add interviewers to event's session](https://developers.smartrecruiters.com/reference/addinterviewerstosession.md): Use this endpoint to add interviewers to session. - [Create event](https://developers.smartrecruiters.com/reference/createevent.md): Use this endpoint to create event. - [Delete event](https://developers.smartrecruiters.com/reference/deleteevent.md): Use this endpoint to delete event. - [Delete event's session](https://developers.smartrecruiters.com/reference/deletesession.md): Use this endpoint to delete session. - [Get all applicants (both event-applicants-pool and session-applicants) for specified event](https://developers.smartrecruiters.com/reference/getallapplicants.md): Use this endpoint to fetch all of the event's applicants. - [Get event's applicants](https://developers.smartrecruiters.com/reference/getapplicantsbyeventid.md): Use this endpoint to fetch event applicants. - [Get event's details](https://developers.smartrecruiters.com/reference/geteventdetails.md): Use this endpoint to fetch event details. - [Get job's events](https://developers.smartrecruiters.com/reference/getevents.md): Use this endpoint to fetch job events. - [Get application events](https://developers.smartrecruiters.com/reference/geteventsforapplication.md): Use this endpoint to fetch application events. - [Get candidate events](https://developers.smartrecruiters.com/reference/geteventsforcandidate.md): Use this endpoint to candidate events. - [Get event's session details](https://developers.smartrecruiters.com/reference/getsessiondetails.md): Use this endpoint to get session details. - [Move applicants from session to session](https://developers.smartrecruiters.com/reference/moveapplicantstosession.md): Use this endpoint to move applicants from one session to another. - [Remove interviewers from event's session](https://developers.smartrecruiters.com/reference/removeinterviewersfromsession.md): Use this endpoint to remove interviewers from session. - [Update event](https://developers.smartrecruiters.com/reference/updateevent.md): Use this endpoint to update event - [Get posting by id](https://developers.smartrecruiters.com/reference/findpostingusingjson-1.md): This endpoint allows getting a single job posting information.
You must pass authentication token through X-SmartToken HTTP header. - [Get a list of postings](https://developers.smartrecruiters.com/reference/postingsjsonstream-1.md):

Get job postings published to your job board.
You must pass authentication token through X-SmartToken HTTP header.

By default, this endpoint will return only postings created in the last 30 days with the status Pending. Use additional parameters to control which postings are returned.

- [Update posting information](https://developers.smartrecruiters.com/reference/updatepostingusingjson-1.md):

This endpoint allows updating a single job posting status and URL during a job posting lifecycle.
You must pass authentication token through X-SmartToken HTTP header.

Complete list of body parameters below:

Status - This is the posting status on your job board. It should be updated with one of the following values:LiveUrl - This is direct URL to the job you have published in your job board; will be surfaced to SmartRecruiters users
Comment - This is field in which you pass error details when one occurs while publishing a job; error details will be available to our Support Team

- [Create interview template.](https://developers.smartrecruiters.com/reference/createinterviewtemplate-1.md): Creates interview template. Deprecated: use POST /public-api/templates instead. - [Create a interview template.](https://developers.smartrecruiters.com/reference/createtemplate-1.md): Creates a new interview template. - [Remove interview template by id.](https://developers.smartrecruiters.com/reference/deleteinterviewtemplate-1.md): Deletes interview template by id. Deprecated: use DELETE /public-api/templates/{id} - [Removes interview template.](https://developers.smartrecruiters.com/reference/deletetemplate-1.md): Delete interview template. - [Get interview template by id.](https://developers.smartrecruiters.com/reference/getinterviewtemplatebyid-1.md): Gets interview template by id. Deprecated: use GET /public-api/templates/{id} instead. - [Find interview templates for job application id.](https://developers.smartrecruiters.com/reference/getjobapplicationinterviewtemplates-1.md): Finds interview template that suppose to be used for interview creation for job associated with provided job application id. The hiring stage and hiring step the job application is currently in are taken into account when searching for matching interview template. Returns invitations content as a part of the response. - [Find interview templates for the job](https://developers.smartrecruiters.com/reference/getjobinterviewtemplates-1.md): Finds job interview templates, grouped and ordered by hiring stage and hiring step. - [Get managed hiring process steps for the job.](https://developers.smartrecruiters.com/reference/getjobmanagedsteps-1.md): Gets managed hiring process steps for the job's hiring process. Managed steps are used to control whether for given hiring stage and step is is required to have an interview template assigned. - [Get interview template by id.](https://developers.smartrecruiters.com/reference/gettemplatebyid-1.md): Returns a interview template by id. - [Get interview templates for the current company.](https://developers.smartrecruiters.com/reference/gettemplates-1.md): Finds interview templates for the current company. - [Search for all interview templates.](https://developers.smartrecruiters.com/reference/searchinterviewtemplates-1.md): Searches for all interview templates. Supports paging and case-insensitive partial search by template name. - [Update interview template by id.](https://developers.smartrecruiters.com/reference/updateinterviewtemplate-1.md): Updates interview template by id. Deprecated: use PUT /public-api/templates/{id} instead. - [Update job interview template.](https://developers.smartrecruiters.com/reference/updatejobinterviewtemplate-1.md): Updates job interview template. - [Update interviewers selection for job interview template.](https://developers.smartrecruiters.com/reference/updatejobinterviewtemplateinterviewers-1.md): Updates the selection of interviewers for job interview template. - [Update managed steps for the job.](https://developers.smartrecruiters.com/reference/updatejobmanagedsteps-1.md): Updates managed steps for the job's hiring process. Allows to decide whether for given hiring stage and step it is required to have an interview template assigned. - [Update interview template.](https://developers.smartrecruiters.com/reference/updatetemplate-1.md): Update interview template. - [Finds job level interview templates by job application id](https://developers.smartrecruiters.com/reference/findjobtemplatebyapplicationid-1.md): Finds job level interview templates that suppose to be used for interview / group interview scheduling. Finds by job application UUID. - [Finds job level interview templates for job id, hiring step and hiring stage.](https://developers.smartrecruiters.com/reference/findjobtemplatebyhiringstate-1.md): Finds job level interview templates that suppose to be used for interview / group interview creation. - [Finds job level interview templates for a job](https://developers.smartrecruiters.com/reference/findjobtemplatesbyjobid-1.md): Finds job level interview templates for a job, grouped and ordered by hiring stage and hiring step. - [Patches job level interview template's interviewers pool.](https://developers.smartrecruiters.com/reference/patchjobtemplateinterviewers-1.md): Patches job level interview template's interviewers pool. - [Finds job level interview templates by job application IDs](https://developers.smartrecruiters.com/reference/searchjobtemplatebyjobapplicationids-1.md): Finds job level interview templates that suppose to be used for interview / group interview creation by jobId and application IDs. - [Update job level interview template.](https://developers.smartrecruiters.com/reference/updatejobtemplate-1.md): Updates job level interview template. - [Save / replace job level interview templates for job id, hiring step and hiring stage.](https://developers.smartrecruiters.com/reference/upsertjobtemplate-1.md): Save / replace job level interview templates for job id, hiring step and hiring stage. - [Overview](https://developers.smartrecruiters.com/reference/overview.md) - [Find schedule preferences](https://developers.smartrecruiters.com/reference/getschedulepreferences-1.md): Finds schedule preferences for provided user. - [Removes interview type with given name](https://developers.smartrecruiters.com/reference/typesdelete-1.md) - [Retrieves interview types](https://developers.smartrecruiters.com/reference/typesget-1.md) - [Adds interview types to already existing ones](https://developers.smartrecruiters.com/reference/typesupdate-1.md) - [Creates an interview](https://developers.smartrecruiters.com/reference/interviewscreate-1.md) - [Deletes an interview](https://developers.smartrecruiters.com/reference/interviewsdelete-1.md): Supported only for interviews created via the Public API. - [Retrieves an interview](https://developers.smartrecruiters.com/reference/interviewsget-1.md): Interview details - [Retrieves a list of interviews](https://developers.smartrecruiters.com/reference/interviewsget-list-1.md): List of interviews - [Modifies an interview](https://developers.smartrecruiters.com/reference/interviewsupdate-1.md): Supported only for interviews created via the Public API. - [Changes a candidate's status.](https://developers.smartrecruiters.com/reference/statusescandidateput-1.md): Supported only for interviews created via the Public API. - [Changes a interviewer's status in given timeslot](https://developers.smartrecruiters.com/reference/statusesinterviewerput-1.md): Supported only for interviews created via the Public API. - [Changes a candidate's status in given timeslot](https://developers.smartrecruiters.com/reference/statusestimeslot-candidateput.md): Supported only for interviews created via the Public API. - [Creates a timeslot](https://developers.smartrecruiters.com/reference/timeslotscreate-1.md): Supported only for interviews created via the Public API. - [Deletes a timeslot](https://developers.smartrecruiters.com/reference/timeslotsdelete-1.md): Supported only for interviews created via the Public API. - [Retrieves a timeslot](https://developers.smartrecruiters.com/reference/timeslotsget-1.md): Supported only for interviews created via the Public API. - [Changes no-show value in a timeslot](https://developers.smartrecruiters.com/reference/timeslotspatch-noshow.md) - [Modifies a timeslot](https://developers.smartrecruiters.com/reference/timeslotsupdate-1.md): Supported only for interviews created via the Public API. - [Delete a job application](https://developers.smartrecruiters.com/reference/job-applicationsdeletebyid.md): Delete a job application identified by given job application ID. - [Get a job application](https://developers.smartrecruiters.com/reference/job-applicationsgetbyid-1.md): Get a job application for given job application ID. - [Get consent decisions](https://developers.smartrecruiters.com/reference/job-applicationsgetconsentdecision.md): Depending on the consent approach which a customer chooses, the response will either contain one application consent decision - known as "single consent" - or contain one application consent broken out by the data scopes which the customer has subscribed to - such as SmartRecruit and SmartCRM. This is referred to as "separated consent". Provided there is at least one pending consent request (without a decision) for a candidate, the response contains a date and time of the most recent of such consent requests. Read more about GDPR tools on [SmartRecruiters Help Center](https://customers.smartrecruiters.com/kb/articles/2273-compliance-and-gdpr-tools-for-companies) - [Request consent for a job application](https://developers.smartrecruiters.com/reference/job-applicationspostconsentrequest.md): Read more about GDPR tools on [SmartRecruiters Help Center](https://customers.smartrecruiters.com/kb/articles/2273-compliance-and-gdpr-tools-for-companies) - [Search jobs](https://developers.smartrecruiters.com/reference/jobsall-1.md): Search jobs by params. - [Get latest approval request for given job](https://developers.smartrecruiters.com/reference/jobsapprovalslatest-1.md) - [Create a new job](https://developers.smartrecruiters.com/reference/jobscreate-1.md): Create a new job. Ignores all nonexistent job properties and job properties values. - [Get content of a job with a given id.](https://developers.smartrecruiters.com/reference/jobsget-1.md): Get content of a job with a given id. - [Update job headcount.](https://developers.smartrecruiters.com/reference/jobsheadcountupdate-1.md): Update job headcount. - [Add hiring team member of a job with a given id.](https://developers.smartrecruiters.com/reference/jobshiring-teamadd-1.md): Add hiring team member of a job with a given id - [Get hiring team of a job with a given id.](https://developers.smartrecruiters.com/reference/jobshiring-teamget-1.md): Get hiring team of a job with a given id. - [Removes hiring team member of a job with a given id.](https://developers.smartrecruiters.com/reference/jobshiring-teamremove-1.md): Removes hiring team member of a job with a given id. - [Find and list job ads for a given job](https://developers.smartrecruiters.com/reference/jobsjobadsall-1.md) - [Create a new job ad](https://developers.smartrecruiters.com/reference/jobsjobadscreate-1.md) - [Get a job ad](https://developers.smartrecruiters.com/reference/jobsjobadsget-1.md) - [List publications for a job ad](https://developers.smartrecruiters.com/reference/jobsjobadspostingsall-1.md): List publications for a job ad - [Publishes a job ad](https://developers.smartrecruiters.com/reference/jobsjobadspostingscreate-1.md): Publishes a job ad to internal sources (Career Pages, Job Widget, Facebook App, WordPress Plugin, Posting API) and optionally to all free job aggregators. By default it's set to publish to job aggregators and internal sources It reflects a Publish action available in the SmartRecruiters UI. Note: Internal sources depend on a company's payment plan. - [Unpublish a job ad](https://developers.smartrecruiters.com/reference/jobsjobadspostingsunpublish-1.md): Unpublishes a job ad from all sources. **Unpublishing a default job ad will unpublish all other job ads within that job.** - [Update a job ad](https://developers.smartrecruiters.com/reference/jobsjobadsupdate-1.md): Enables you to update an existing job ad. NOTE: In order for a job ad changes to be reflected on internal sources (Career Sites, Job Widgets etc.) and Job Aggregators, you need to Publish the job ad after making an update. - [Get note of a job.](https://developers.smartrecruiters.com/reference/jobsnotesget-1.md) - [Update note of a job.](https://developers.smartrecruiters.com/reference/jobsnotesupdate-1.md): Update note of a job. - [Update a job](https://developers.smartrecruiters.com/reference/jobspatch-1.md): Update a job per [JSON Merge Patch specification (RFC 7396)](https://datatracker.ietf.org/doc/html/rfc7396). The endpoint ignores all absent job properties. - updating of a field might trigger job approval - modification date is changed - all validations rules are applied for required fields and dependencies - `null` value indicates property deletion. ## Usage Examples ### Upsert Free Text Property ```json [ { "op":"add", "path":"/properties/-", "value":{ "id":"5ec29396d4a5de40e44b1f5a", "value":{ "label":"Some text" } } } ] ``` ### Upsert Drop-down Property ```json [ { "op":"add", "path":"/properties/-", "value":{ "id":"5ec29396d4a5de40e44b1f5a", "value":{ "id":"XXX" } } } ] ``` ### Blank a Value ```json [ { "op":"add", "path":"/properties/-", "value":{ "id":"5ec29396d4a5de40e44b1f5a", "value":{ "id":"null" } } } ] ``` ### Upsert Compensation Create/update job `compensation` field. Sets `min`, `currency` and `period` values but leaves `max` null. ```json [ { "op":"add", "path":"/compensation", "value":{ "min":25, "max":null, "currency":"PLN", "period":"HOURLY" } } ] ``` ### Upsert Compensation Properties Update job `compensation.min` and `compensation.currency` fields but leave current `compensation.max` and `compensation.period` intact. *Note: The compensation field must not be null. Use the previous approach if that's the case* ```json [ { "op": "add", "path": "/compensation/min", "value": 425 }, { "op": "add", "path": "/compensation/currency", "value": "USD" } ] ``` ### Delete Compensation Properties Delete the `currency.min` field but leave `compensation.max`, `compensation.currency` and `compensation.period` intact. ```json [ { "op": "remove", "path": "/compensation/min" } ] ``` - [Positions for a job](https://developers.smartrecruiters.com/reference/jobspositionsall-1.md) - [Create a new position for a job](https://developers.smartrecruiters.com/reference/jobspositionscreate-1.md) - [Get a single position](https://developers.smartrecruiters.com/reference/jobspositionsget-1.md) - [Delete position](https://developers.smartrecruiters.com/reference/jobspositionsremove-1.md) - [Update position](https://developers.smartrecruiters.com/reference/jobspositionsupdate-1.md) - [Find and list publications for a job](https://developers.smartrecruiters.com/reference/jobspublicationall-1.md): Find and list publications for a job - [Publishes a default job ad](https://developers.smartrecruiters.com/reference/jobspublicationcreate-1.md): Publishes default job ad to internal sources and to free job aggregators. It reflects a Publish action available in the SmartRecruiters UI. Note: Internal sources: Career Pages, Job Widget, Facebook App, WordPress Plugin, Posting API depend on a company's payment plan. - [Unpublishes a job from all sources](https://developers.smartrecruiters.com/reference/jobspublicationunpublish-1.md): Unpublishes a job from all sources - [Job status history](https://developers.smartrecruiters.com/reference/jobsstatushistoryget-1.md) - [Updates job status](https://developers.smartrecruiters.com/reference/jobsstatusupdate-1.md) - [Updates job](https://developers.smartrecruiters.com/reference/jobsupdate-1.md): Enables you to update job and it's jobAd. This operation requires passing a job id within path and job's new state within body of the PUT request. Ignores all nonexistent job properties and job properties values. However jobAd and all it's properties need to be provided. All jobAd's properties will be removed if not provided. Returns an updated job with jobAd. - [Overview](https://developers.smartrecruiters.com/reference/message-templates-api.md) - [Create Message Template](https://developers.smartrecruiters.com/reference/createmessagetemplate-1.md): Use this endpoint to create new Message Template - [Create Message Template](https://developers.smartrecruiters.com/reference/createmessagetemplate.md): Use this endpoint to create new Message Template - [Get a message template by id.](https://developers.smartrecruiters.com/reference/getmessagetemplate-1.md): Use this endpoint to fetch a message template. - [Get a message template by id.](https://developers.smartrecruiters.com/reference/getmessagetemplate.md): Use this endpoint to fetch a message template. - [Get Message Templates](https://developers.smartrecruiters.com/reference/getmessagetemplates-1.md): Use this endpoint to get Message Templates - [Get Message Templates](https://developers.smartrecruiters.com/reference/getmessagetemplates.md): Use this endpoint to get Message Templates - [Remove a message template by id.](https://developers.smartrecruiters.com/reference/removemessagetemplate-1.md): Use this endpoint to remove message template. - [Remove a message template by id.](https://developers.smartrecruiters.com/reference/removemessagetemplate.md): Use this endpoint to remove message template. - [Update Message Template](https://developers.smartrecruiters.com/reference/updatemessagetemplate-1.md): Use this endpoint to update existing Message Template - [Update Message Template](https://developers.smartrecruiters.com/reference/updatemessagetemplate.md): Use this endpoint to update existing Message Template - [Fetch messages](https://developers.smartrecruiters.com/reference/messagesfetch-1.md): Search for messages of given candidate. Use jobId parameter to filter results to messages only for specific job application. Accessible only for users with ADMINISTRATOR role. - [Shares new messages on Hireloop with Users, Hiring Teams or Everyone and sends emails.](https://developers.smartrecruiters.com/reference/messagessharescreate-1.md): How does it work: * In **content** field, provide a text to be shared. * @-mention users to send them an email * In **content** field use **@[USER:id]** to mention a User, e.g. @[USER:324132421] * Email responses are added as comments to your update * \#-tag candidates to link updates to their profiles * In **content** field use **#[CANDIDATE:id]** to tag a candidate, e.g. #[CANDIDATE:9847954623] * Use **shareWith** to share a feed update with individuals, hiring teams or everyone * In **users** field, provide an array of User IDs with which you want to share, e.g. "users": ["12343542356","12343542357"]. * In **hiringTeamOf** field, provide an array of Job IDs, this will share message with a full hiring team of those jobs, e.g. "hiringTeamOf": ["123423432322","123423432324"]. * **everyone** flag allows sharing with everyone in a company. If not provided, defaults to **false**. * **openNote** flag allows sharing with everyone in a company that has access to the candidate. If not provided, defaults to **false** - [Delete a message](https://developers.smartrecruiters.com/reference/messagessharesdelete-1.md): Delete a message with a given id. Deleted message is no longer visible on Hireloop. - [Find global notification preferences.](https://developers.smartrecruiters.com/reference/findglobalpreferences-1.md) - [Get list of all employee notifications preferences.](https://developers.smartrecruiters.com/reference/getallemployeepreferences-1.md) - [Get list of employee notifications preferences for a specific channel.](https://developers.smartrecruiters.com/reference/getemployeepreferences-1.md) - [Save employee notifications preferences.](https://developers.smartrecruiters.com/reference/saveemployeepreferences-1.md) - [Update employee notifications preferences.](https://developers.smartrecruiters.com/reference/updateemployeepreferences-1.md) - [Activate or deactivate employee notification preferences for hiring roles and notification channels in bulk.](https://developers.smartrecruiters.com/reference/upsertemployeepreferences-1.md) - [Activate or deactivate global notification preferences for hiring roles and notification channels in bulk.](https://developers.smartrecruiters.com/reference/upsertglobalpreferences-1.md) - [Find all supported notification types along with applicable roles and channels they can be delivered.](https://developers.smartrecruiters.com/reference/findallnotificationtypes-1.md) - [Get candidate's offers](https://developers.smartrecruiters.com/reference/candidatesoffersall.md) - [Get latest approval request for candidate's offer](https://developers.smartrecruiters.com/reference/candidatesoffersapprovalslatest.md) - [Search offers](https://developers.smartrecruiters.com/reference/candidatesoffersfind.md): This endpoint can only be used with the credentials created for the user with the Extended or Admin system roles. - [Get candidate's offer](https://developers.smartrecruiters.com/reference/candidatesoffersget.md) - [Get a given document in a given sent offer](https://developers.smartrecruiters.com/reference/offersdocumentsgetdocument-1.md) - [Get a list of documents related to sent offer.](https://developers.smartrecruiters.com/reference/offersdocumentsgetdocumentslist-1.md) - [Add new config](https://developers.smartrecruiters.com/reference/addconfig-1.md): Enables you to add a new config to the configs list. This operation requires passing an instance of the Config object with the Id and Value fields set. An update is performed if the ID that you pass already exists. - [Get config for vendor](https://developers.smartrecruiters.com/reference/getconfig-1.md): Enables you to get the config value for a given Id. - [Fetch list of vendor configs](https://developers.smartrecruiters.com/reference/getconfigs-1.md): Enables you to get all specified configuration entries. - [Update config](https://developers.smartrecruiters.com/reference/updateconfig-1.md): Enables you to update config in the configs list. This operation requires passing a config id and instance of the Config object with the Id and Value fields set. - [Search offers by criteria](https://developers.smartrecruiters.com/reference/searchoffers-1.md): Enables you to get a list of existing offers. The number of offers returned as part of the list can be modified using the offset and limit parameters. These results will be sorted using lastUpdateDate. - [Get posting by posting id or uuid for given company](https://developers.smartrecruiters.com/reference/v1getposting.md): Note: In order to update content of a job posting available via the Posting API, you need to re-post the job in SmartRecruiters application. - [List departments for given company](https://developers.smartrecruiters.com/reference/v1listdepartments.md): List departments for given company. - [Lists active postings published by given company](https://developers.smartrecruiters.com/reference/v1listpostings.md): Lists active postings published by given company. Return PostingList - [Download report file](https://developers.smartrecruiters.com/reference/downloadreportfile-1.md): Use this endpoint to download a specific report file. The response contains report data in CSV format. ### Note It is not recommended to attempt downloading large report files via Live Docs or Internet Browser. To get a large report file, use command line tools or native HTTP clients. - [Get report file](https://developers.smartrecruiters.com/reference/getreportfile-1.md): Use this endpoint to get a specific report file details. - [Overview](https://developers.smartrecruiters.com/reference/reporting-api.md) - [Download most recent report file](https://developers.smartrecruiters.com/reference/downloadmostrecentreportfile-1.md): Use this endpoint to download the most recent report file for a specific report. The response contains report data in CSV format. In order to get a successful response, there have to be at least 1 successfully generated report file for the report. ### Etags Along with the successful response, the `Etag` HTTP header is returned, containing ETag identifier of the report file. In order to save bandwidth resources, the `If-None-Match HTTP` header containing the recently retrieved report file ETag can be passed with the request. If there's no report file, that is newer than the one referred in the `If-None-Match` header, the API responds with HTTP `304 Not Modified` status code and does not provide content. ### Note It is not recommended to attempt downloading large report files via Live Docs or Internet Browser. To get a large report file, use command line tools or native HTTP clients. - [Generate ad-hoc report](https://developers.smartrecruiters.com/reference/generateadhocreport-1.md): Use this endpoint to generate ad-hoc report. NOTE: Report files are generated asynchronously. Ensure the report file status is: COMPLETED before fetching the data. To check the report file status use the GET /reports/{reportId}/files/recent endpoint. - [Get most recent report file](https://developers.smartrecruiters.com/reference/getmostrecentreportfile-1.md): Use this endpoint to get the most recent report file details for a specific report. In order to get a successful response, there have to be at least 1 successfully generated report file for the report. ### Etags Along with the successful response, the `Etag` HTTP header is returned, containing ETag identifier of the report file. In order to save bandwidth resources, the `If-None-Match HTTP` header containing the recently retrieved report file ETag can be passed with the request. If there's no report file, that is newer than the one referred in the `If-None-Match` header, the API responds with HTTP `304 Not Modified` status code and does not provide content. - [Get report](https://developers.smartrecruiters.com/reference/getreport-1.md): Use this endpoint to get a specific report details. - [Get report files](https://developers.smartrecruiters.com/reference/getreportfiles-1.md): Use this endpoint to fetch a list of report files of a specific report. Report files are sorted by generation date (newer report files first). ### Paging Whenever there's more data to be returned, the `nextPage` property will contain an opaque identifier of the next page. The value can be then passed as a page query parameter in a subsequent request. Another option is to use the response's `Link` HTTP header, which contains a web link to the following page, example: ``` ; rel="link" ``` - [Get reports](https://developers.smartrecruiters.com/reference/getreports-1.md): Use this endpoint to fetch a list of reports. Reports are sorted by modification date (newer reports first). ### Paging Whenever there's more data to be returned, the `nextPage` property will contain an opaque identifier of the next page. The value can be then passed as a page query parameter in a subsequent request. Another option is to use the response's `Link` HTTP header, which contains a web link to the following page, example: ``` ; rel="link" ``` - [Creates a review](https://developers.smartrecruiters.com/reference/reviewscreate-1.md) - [Deletes a review](https://developers.smartrecruiters.com/reference/reviewsdelete-1.md) - [Retrieves a review](https://developers.smartrecruiters.com/reference/reviewsget-1.md) - [Retrieves all reviews for specified candidate and job](https://developers.smartrecruiters.com/reference/reviewsgetlist-1.md) - [Updates a review](https://developers.smartrecruiters.com/reference/reviewsupdate-1.md) - [Retrieves all criteria for specified job](https://developers.smartrecruiters.com/reference/scorecardscriteriagetbyjobid.md) - [Creates automated self schedule.](https://developers.smartrecruiters.com/reference/automatedselfscheduling-1.md): Creates automated self schedule. - [Get self-schedule slots for application](https://developers.smartrecruiters.com/reference/availableslotsforapplication-1.md): Returns available self-schedule slots for application - [Cancels self schedule](https://developers.smartrecruiters.com/reference/cancelselfschedule-1.md): Cancels self schedule - [Create a self schedule interview](https://developers.smartrecruiters.com/reference/createselfscheduleinterview-1.md): Create a self schedule interview by ID and application UUID - [Retrieve application-related details for a self-scheduling instance](https://developers.smartrecruiters.com/reference/getapplicationselfschedule-1.md): Retrieve application-related details for a self-scheduling instance - [Returns the automated schedule available slots count based on interviewers availability and specified date params.](https://developers.smartrecruiters.com/reference/getautomatedschedulesavailableslotscountbyinterviewerwithroles.md): Returns automated reschedule available slots count based on interviewers availability and specified date params. - [Gets self schedule by id](https://developers.smartrecruiters.com/reference/getselfschedule-1.md): Gets self schedule - [Returns self-scheduled interview](https://developers.smartrecruiters.com/reference/getselfscheduledinterview-1.md): Returns self-scheduled interview by self schedule id and application id - [Requests self reschedule for candidate for automated self-schedule.](https://developers.smartrecruiters.com/reference/requestselfreschedule-1.md): Requests automated self-reschedule for application by cancelling existing interview and updating existing self-schedule. Interview must exist. Old link to self-schedule will be valid. - [Search for a self-scheduling instances](https://developers.smartrecruiters.com/reference/searchselfschedules-1.md): Search for a self-schedules. - [Update a self schedule interview](https://developers.smartrecruiters.com/reference/updateselfscheduleinterview-1.md): Update a self schedule interview by ID and application UUID - [Requests invite update for automated self-schedule](https://developers.smartrecruiters.com/reference/updateselfscheduleinvite-1.md): Requests automated self-schedule update for candidate. Interview must NOT exist. If interview exists request self-reschedule must be used instead. Old link to self-schedule will be valid. - [Returns specific Assignment associated with a single Onboarding Process](https://developers.smartrecruiters.com/reference/onboarding-processesassignmentget.md) - [Returns Assignments associated with a single Onboarding Process](https://developers.smartrecruiters.com/reference/onboarding-processesassignmentsget-1.md) - [Returns list of Attachments submitted for a single Activity Assignment](https://developers.smartrecruiters.com/reference/activity-assignmentsattachmentsget-1.md) - [Returns single Attachment for specific Activity Assignment](https://developers.smartrecruiters.com/reference/activity-assignmentsattachmentsgetbyid-1.md) - [Returns answers submitted for a single Fillable PDF Form Assignment](https://developers.smartrecruiters.com/reference/fillable-pdf-form-assignmentsform-answersget.md) - [Returns metadata for the fields that belong to a single Web Form Assignment](https://developers.smartrecruiters.com/reference/web-form-assignmentsfields-metadataget-1.md) - [Returns answers submitted for a single Web Form Assignment](https://developers.smartrecruiters.com/reference/web-form-assignmentsform-answersget-1.md) - [Returns details for a single New Hire](https://developers.smartrecruiters.com/reference/new-hiresget-1.md) - [Returns details of a single Onboarding Process](https://developers.smartrecruiters.com/reference/onboarding-processesget-1.md) - [Shorten URL](https://developers.smartrecruiters.com/reference/publicshorten-1.md): Shorten provided long url and returns new url as json. Allows to shorten only URLs with smartrecruiters.com domain. - [Activate a user](https://developers.smartrecruiters.com/reference/usersactivationactivate-3.md): Activate a user with given id. Users created via an API are not active. This method allows activating a user so he/she can sign in straight away. - [Deactivate a user](https://developers.smartrecruiters.com/reference/usersactivationdeactivate-3.md) - [Deactivate a user](https://developers.smartrecruiters.com/reference/usersactivationdelete-1.md): Deactivates a User with given Id. Please use `DELETE /users/{id}/activation` instead. - [Send an activation email to a user](https://developers.smartrecruiters.com/reference/usersactivationemailsend-3.md): Send an activation email to a user with given id. Users created via an API are not active. This method is an alternative to activating a user directly and allows sending an activation email in which a user will have to open a link and follow instructions on a screen to activate his/her account. - [List users of your company](https://developers.smartrecruiters.com/reference/usersall-3.md) - [Update user avatar](https://developers.smartrecruiters.com/reference/usersavatarupdate-3.md) - [Create a new user](https://developers.smartrecruiters.com/reference/userscreate-3.md) - [Get details of a user with given id](https://developers.smartrecruiters.com/reference/usersget-3.md) - [Get details of my user](https://developers.smartrecruiters.com/reference/usersme-3.md) - [Update a user](https://developers.smartrecruiters.com/reference/usersupdate-3.md) - [List access groups configured in your company](https://developers.smartrecruiters.com/reference/access-groupsall-1.md) - [Assign users to access group](https://developers.smartrecruiters.com/reference/access-groupsusersassign-1.md) - [Remove user from access group](https://developers.smartrecruiters.com/reference/access-groupsusersremove-1.md) - [List system roles](https://developers.smartrecruiters.com/reference/system-rolesall-1.md) - [Activate a user](https://developers.smartrecruiters.com/reference/usersactivationactivate-2.md): Activate a user with given id. Users created via an API are not active. This method allows activating a user so he/she can sign in straight away. - [Deactivate a user](https://developers.smartrecruiters.com/reference/usersactivationdeactivate-2.md) - [Send an activation email to a user](https://developers.smartrecruiters.com/reference/usersactivationemailsend-2.md): Send an activation email to a user with given id. Users created via an API are not active. This method is an alternative to activating a user directly and allows sending an activation email in which a user will have to open a link and follow instructions on a screen to activate his/her account. - [List users of your company](https://developers.smartrecruiters.com/reference/usersall-2.md) - [Update user avatar](https://developers.smartrecruiters.com/reference/usersavatarupdate-2.md) - [Create a new user.](https://developers.smartrecruiters.com/reference/userscreate-2.md) - [Get details of a user with given id](https://developers.smartrecruiters.com/reference/usersget-2.md) - [Get details of my user](https://developers.smartrecruiters.com/reference/usersme-2.md) - [Send a password reset email to a user](https://developers.smartrecruiters.com/reference/userspasswordreset-1.md): Send password recovery instruction to the email address associated with a user with a given id. The password will not be reset until the user with a given id creates a new password. - [Update a user](https://developers.smartrecruiters.com/reference/usersupdate-2.md) - [Activate webhook subscription.](https://developers.smartrecruiters.com/reference/subscriptionsactivate-1.md): To ensure that the target server is ready to consume notifications, we require you to implement the initial handshake. Having subscription with `callbackUrl`: `https://example.org/hook`, during activation we will make `POST` request with `X-Hook-Secret` header: ``` POST https://example.com/hook X-Hook-Secret: 4jn8fs9011jj8 ``` We expect your server to respond within the time of 20 seconds with HTTP `200` response containing `X-Hook-Secret` header with the same value. ``` Response 200 X-Hook-Secret: 4jn8fs9011jj8 ``` - [Subscribe to a webhook.](https://developers.smartrecruiters.com/reference/subscriptionscreate-1.md): Please be aware that before any event is delivered each subscription needs to be activated. See [subscription activation](subscriptionsactivate-1). We do limit number of subscriptions each subscriber can register. It means that: * individual user can register up to 20 subscriptions * OAuth application can register up to 20 subscriptions on behalf of a single user Alerting email address and callback authentication properties are optional. - [Delete webhook subscription.](https://developers.smartrecruiters.com/reference/subscriptionsdelete-1.md) - [Generate a secret key for a webhook subscription.](https://developers.smartrecruiters.com/reference/subscriptionsgeneratesecretkey-1.md): We allow you to generate a secret key for the subscription. You can use it to verify the author of callback messages. When you have a secret key already defined - a creation of a new one will make the old one deprecated - it will still be active for 24 hours though. You can have up to 16 non-expired secret keys. A signature will be included in header `smartrecruiters-signature` of callback request. Additionally, we will send `smartrecruiters-timestamp` header with timestamp (seconds) of request. `smartrecruiters-signature` header value has the following format: ``` $SIGNATURE_SCHEMA=$SIGNATURE_1;$SIGNATURE_SCHEMA=$SIGNATURE_2... ``` As you may notice there may be multiple signatures included in the header. It can be caused by one or both: * having multiple active keys * smartrecruiters providing multiple signatures per key with different signature schemes. We may use it in the future to deliver new algorithm of signature creation without breaking backward compatibility. Every segment of header value is delimited by `;` character Currently, we support and send the following signature (`$SIGNATURE_SCHEMA`): #### 1) `v1` Signature calculated using HMAC with SHA256 algorithm. Hash should be calculated from the following elements concatenated by the `.` character: * `smartrecruiters-timestamp` header value * request body * `event-id` header value * `event-name` header value * `event-version` header value * `link` header value Order of these elements is important. In the absence of a header please use an empty string as its value. For example, assume we have: * One active secret key: HeBVky2bccvvkcXPimH8c * Callback request: * headers: * content-type: application/json * smartrecruiters-signature: "v1=2e9291f10d44ca10204a4cd81b05d73b6a316b2b605d4e2e0e0b37b40198ce1f" * smartrecruiters-timestamp = "1574080897" * event-id = "123" * link = "; rel=self" * event-name = "application.created" * event-version = "v201910" * body: {"job_id":"jid","candidate_id": "cid"} hash should be calculated from value: ``` 1574080897.{"job_id":"jid","candidate_id":"cid"}.123.application.created.v201910.; rel=self ``` and after using HMAC and SHA256 it should give you hash : 2e9291f10d44ca10204a4cd81b05d73b6a316b2b605d4e2e0e0b37b40198ce1f, so that `smartrecruiters-signature` header in the callback request will have value: `v1=2e9291f10d44ca10204a4cd81b05d73b6a316b2b605d4e2e0e0b37b40198ce1f` - [Retrieve single webhook subscription.](https://developers.smartrecruiters.com/reference/subscriptionsget-1.md) - [Retrieve webhook subscriptions.](https://developers.smartrecruiters.com/reference/subscriptionsgetall-1.md) - [Retrieve subscription secret key](https://developers.smartrecruiters.com/reference/subscriptionsgetsecretkey-1.md): Retrieves the last secret key for webhook subscription. - [Retrieve callback request details starting from the newest.](https://developers.smartrecruiters.com/reference/subscriptionssearchcallbacklog-1.md) ## Changelog - [Job Board API - Feed responses expose job ad video URLs](https://developers.smartrecruiters.com/changelog/job-board-api-video-urls.md) - [Jobs Public API - Compensation required validation and 422 error documentation](https://developers.smartrecruiters.com/changelog/jobs-public-api-compensation-required-validation.md) - [Application API - AI settings and AI disclosure](https://developers.smartrecruiters.com/changelog/application-api-aisettings-field.md) - [Job Applications API - Consent Requests and Decisions for applications](https://developers.smartrecruiters.com/changelog/job-applications-api-consent-requests-and-decisions-for-applications.md) - [Jobs API - search supports filtering by hiring team members](https://developers.smartrecruiters.com/changelog/jobs-api-hiring-team-member-ids-filter.md)