### Job Payload Example Source: https://api.talentapi.com/ This is an example of the JSON payload for a job posting. It includes fields for job details, publisher information, employer details, and various preferences. ```json { "job": { "external_id": "string", "client_data": { }, "title": "string", "addresses": [ "string" ], "geocoordinates": [ { "lat": -90, "lon": -180 } ], "publisher_name": "string", "publisher_vatin": "string", "publisher_description": "string", "employer_name": "string", "employer_vatin": "string", "employer_description": "string", "department": "string", "description": "string", "required_qualifications": [ ], "skill_tags": [ ], "offer_and_benefits_str": "string", "application_instructions_str": "string", "compensation_currency": "string", "hourly_gross_compensation": 0, "languages": [ ], "degrees": [ ], "education_levels": [ ], "seniority_preferences": [ ], "relationship_preferences": [ ], "location_preferences": [ ], "employment_term_preferences": [ ], "capacity_preferences": [ ], "workday_preferences": [ ], "hours_preferences": [ ], "job_start_datetime": "2019-08-24T14:15:22Z", "job_end_datetime": "2019-08-24T14:15:22Z", "last_updated_datetime": "2019-08-24T14:15:22Z", "publication_datetime": "2019-08-24T14:15:22Z", "expiration_datetime": "2019-08-24T14:15:22Z", "attachments": [ ] }, "profile": { "external_id": "string", "client_data": { }, "addresses": [ "string" ], "geocoordinates": [ { "lat": -90, "lon": -180 } ], "name": "string", "picture_url": "http://example.com", "website_url": "http://example.com", "social_media_profile_urls": [ ], "phone": "string", "email": "user@example.com", "gender": "F", "birthdate": "2019-08-24T14:15:22Z", "description": "string", "highest_educational_level": "string", "languages": [ ], "certificates": [ ], "skills": [ ], "skill_tags": [ ], "interests": [ ], "desired_jobs": [ ], "undesired_jobs": [ ], "desired_job_seniority_levels": [ ], "degrees": [ ], "experiences": [ ], "relationship_preferences": [ ], "location_preferences": [ ], "employment_term_preferences": [ ], "capacity_preferences": [ ], "workday_preferences": [ ], "hours_preferences": [ ], "last_updated_datetime": "2019-08-24T14:15:22Z", "publication_datetime": "2019-08-24T14:15:22Z", "expiration_datetime": "2019-08-24T14:15:22Z", "attachments": [ ] } } ``` -------------------------------- ### Recommend Jobs for a Profile Source: https://api.talentapi.com/openapi.json Use this endpoint to get job recommendations for a specific profile. You can optionally specify an X-Response-Target header to track usage cases. ```shell curl -X POST \ https://[server-url]/recommend/profile/{profile_id}/jobs \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json" \ -H "x-response-target: YOUR_URL" -d '{ "limit": 10, "show_explanation": false, "experimental": false }' ``` -------------------------------- ### Recommend Profiles for a Job Source: https://api.talentapi.com/openapi.json Use this endpoint to get profile recommendations for a specific job. You can optionally specify an X-Response-Target header to track usage cases. ```shell curl -X POST \ https://[server-url]/recommend/job/{job_id}/profiles \ -H "Authorization: Bearer {access_token}" \ -H "Content-Type: application/json" \ -H "x-response-target: YOUR_URL" -d '{ "limit": 10, "show_explanation": false, "experimental": false }' ``` -------------------------------- ### Request Job Recommendations for a Profile Source: https://api.talentapi.com/openapi.json Retrieve job recommendations for a specific profile by sending a GET request to the /profile/{profileId}/jobs endpoint. Ensure your Authorization header is correctly set. ```bash curl -X GET \ http://[server-url]/profile/123456789/jobs \ -H 'Authorization: Bearer eyJjIs7iOiJ[...]vQZUUhw2fsg' \ -H 'Content-Type: application/json' ``` -------------------------------- ### Get Job Recommendations Source: https://api.talentapi.com/ Use this endpoint to retrieve the best job recommendations for a given profile. Ensure you have a job and profile already uploaded to the system. ```curl curl -X GET \ http://[server-url]/profile/123456789/jobs \ -H 'Authorization: Bearer eyJjIs7iOiJ[...]vQZUUhw2fsg' \ -H 'Content-Type: application/json' \ ``` -------------------------------- ### GET /recommend/available-matchers Source: https://api.talentapi.com/openapi.json Retrieves a list of available recommendation matchers for a given client. This endpoint helps in understanding the different algorithms or configurations that can be used for generating recommendations. ```APIDOC ## GET /recommend/available-matchers ### Description Retrieves a list of available recommendation matchers for a given client. This endpoint helps in understanding the different algorithms or configurations that can be used for generating recommendations. ### Method GET ### Endpoint /recommend/available-matchers ### Response #### Success Response (200) - **Response Get Available Matchers Recommend Available Matchers Get** (object) - Contains information about the available matchers. ``` -------------------------------- ### Get Job Recommendations for a Profile Source: https://api.talentapi.com/openapi.json Retrieve a list of recommended jobs for a given profile. ```APIDOC ## GET /profile/{profile_id}/jobs ### Description Retrieves the best job recommendations for a specified profile. ### Method GET ### Endpoint /profile/{profile_id}/jobs ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile for which to get job recommendations. ### Response #### Success Response (200) - Returns an array of job recommendation objects. The structure of each object is detailed in the API's schema but typically includes job details. #### Response Example ```json [ { "r" : "..." } ] ``` ``` -------------------------------- ### Job Recommendation Response Structure Source: https://api.talentapi.com/ This is an example of the JSON response structure when requesting job recommendations. The response contains a list of recommended jobs with scores and explanations. ```json [ { "resource_id": 12345 "score": 0.87 "resource": { "external_id" : "12345", "title": "A job title", "addresses": ["The job address"], "publication_datetime" : "2020-02-12 00:02:00", "expiration_datetime" : "2020-02-12 00:02:00", "may_be_recommended" : true, "may_receive_recommendations" : true }, "match_explanation": { } }, ... ] ``` -------------------------------- ### GET /status Source: https://api.talentapi.com/openapi.json Get the global status and statistics about the data you have sent to the system. ```APIDOC ## GET /status ### Description Get your status: numbers and statistics about the data you sent us. ### Method GET ### Endpoint /status ### Response #### Success Response (200) - **GlobalStatus** (object) - Successful Response #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Create Profile Source: https://api.talentapi.com/ Creates a new profile in the system. Requires detailed information about the candidate. ```APIDOC ## POST /profiles ### Description Creates a new profile in the system. Requires detailed information about the candidate. ### Method POST ### Endpoint https://api.talentapi.com/profiles ### Request Body Content type: application/json - **external_id** (string) - Required - **client_data** (object) - Optional - **addresses** (array of strings) - Optional - **geocoordinates** (array of objects) - Optional - **lat** (number) - Required - **lon** (number) - Required - **name** (string) - Optional - **picture_url** (string) - Optional - **website_url** (string) - Optional - **social_media_profile_urls** (array of strings) - Optional - **phone** (string) - Optional - **email** (string) - Optional - **gender** (string) - Optional - **birthdate** (string) - Optional (ISO 8601 format) - **description** (string) - Optional - **highest_educational_level** (string) - Optional - **languages** (array of strings) - Optional - **certificates** (array of strings) - Optional - **skills** (array of strings) - Optional - **skill_tags** (array of strings) - Optional - **interests** (array of strings) - Optional - **desired_jobs** (array of strings) - Optional - **undesired_jobs** (array of strings) - Optional - **desired_job_seniority_levels** (array of strings) - Optional - **degrees** (array of strings) - Optional - **experiences** (array of strings) - Optional - **relationship_preferences** (array of strings) - Optional - **location_preferences** (array of strings) - Optional - **employment_term_preferences** (array of strings) - Optional - **capacity_preferences** (array of strings) - Optional - **workday_preferences** (array of strings) - Optional - **hours_preferences** (array of strings) - Optional - **last_updated_datetime** (string) - Optional (ISO 8601 format) - **publication_datetime** (string) - Optional (ISO 8601 format) - **expiration_datetime** (string) - Optional (ISO 8601 format) - **may_be_recommended** (boolean) - Optional - **may_receive_recommendations** (boolean) - Optional - **attachments** (array of strings) - Optional ### Response #### Success Response (200) null #### Response Example null ``` -------------------------------- ### Response Sample (200 OK) Source: https://api.talentapi.com/ This is a sample JSON response for a successful recompute operation. It includes a score and a detailed explanation of the match. ```json { "score": 0, "match_explanation": { "property1": { "score": 0, "explanation": "string", "metadata": { } }, "property2": { "score": 0, "explanation": "string", "metadata": { } } } } ``` -------------------------------- ### Get Status Source: https://api.talentapi.com/openapi.json Fetches the status of uploaded jobs and profiles. ```APIDOC ## GET /status ### Description Fetches the status of uploaded jobs and profiles. ### Method GET ### Endpoint /status ### Response #### Success Response (200) - **jobs** (object) - Status information for jobs. - **profiles** (object) - Status information for profiles. #### Response Example ```json { "jobs": { "total": 100, "processed": 95, "failed": 5 }, "profiles": { "total": 200, "processed": 190, "failed": 10 } } ``` ``` -------------------------------- ### GET /profiles/{profile_id} Source: https://api.talentapi.com/openapi.json Fetches details for a specific candidate profile using its ID. ```APIDOC ## GET /profiles/{profile_id} ### Description Fetches a specific profile. ### Method GET ### Endpoint /profiles/{profile_id} ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile to fetch. ### Response #### Success Response (200) - **DBProfile** (object) - The details of the profile. #### Error Response (422) - **HTTPValidationError** (object) - Validation Error ``` -------------------------------- ### GET /jobs/{job_id} Source: https://api.talentapi.com/openapi.json Fetches details for a specific job posting using its ID. ```APIDOC ## GET /jobs/{job_id} ### Description Fetches a specific job. ### Method GET ### Endpoint /jobs/{job_id} ### Parameters #### Path Parameters - **job_id** (string) - Required - The ID of the job to fetch. ### Response #### Success Response (200) - **DBJob** (object) - The details of the job. #### Error Response (422) - **HTTPValidationError** (object) - Validation Error ``` -------------------------------- ### Response Sample for Profile Source: https://api.talentapi.com/ This is a sample JSON response for a user profile. It includes personal details, contact information, education, skills, and preferences. ```json { "external_id": "string", "client_data": { }, "client_name": "string", "computed_data": { }, "addresses": [ "string" ], "geocoordinates": [ { "lat": -90, "lon": -180 } ], "name": "string", "picture_url": "http://example.com", "website_url": "http://example.com", "social_media_profile_urls": [ ], "phone": "string", "email": "user@example.com", "gender": "F", "birthdate": "2019-08-24T14:15:22Z", "description": "string", "highest_educational_level": "string", "languages": [ ], "certificates": [ ], "skills": [ ], "skill_tags": [ ], "interests": [ ], "desired_jobs": [ ], "undesired_jobs": [ ], "desired_job_seniority_levels": [ ], "degrees": [ ], "experiences": [ ], "relationship_preferences": [ ], "location_preferences": [ ], "employment_term_preferences": [ ], "capacity_preferences": [ ], "workday_preferences": [ ], "hours_preferences": [ ], "last_updated_datetime": "2019-08-24T14:15:22Z", "publication_datetime": "2019-08-24T14:15:22Z", "expiration_datetime": "2019-08-24T14:15:22Z", "may_be_recommended": true, "may_receive_recommendations": true, "attachments": [ ] } ``` -------------------------------- ### Request Sample for Job Recommendations Source: https://api.talentapi.com/ This JSON payload demonstrates how to request job recommendations for a specific profile. It includes parameters for filtering, distance, and interaction types. ```json { "limit": 10, "show_explanation": false, "experimental": false, "filters": [ { "key": "string", "operator": "OVERLAP", "value": [ null ] } ], "max_distance": 0, "location_filters": [ { "geopoint": { "lat": -90, "lon": -180 }, "distance_in_km": 30 } ], "continuation_token": "string", "interactions_to_filter": [ "PAGEVIEW" ], "model_version_id": "string" } ``` -------------------------------- ### postRecommendProfilesForJob Source: https://api.talentapi.com/ Recommends profiles for a given job. ```APIDOC ## POST /recommendations/profiles ### Description Recommends profiles for a given job. ### Method POST ### Endpoint /recommendations/profiles ### Parameters #### Request Body - **job_id** (string) - Required - The ID of the job for which to find profile recommendations. - **limit** (integer) - Optional - The maximum number of recommendations to return. ``` -------------------------------- ### POST /evaluate Source: https://api.talentapi.com/openapi.json Evaluates the compatibility between a specific profile and a job. ```APIDOC ## POST /evaluate ### Description Evaluates the compatibility of a profile and a job. ### Method POST ### Endpoint /evaluate ### Request Body - **Body_evaluate_evaluate_post** (object) - Required - The request body containing profile and job information for evaluation. ### Response #### Success Response (200) - **EvaluateResponse** (object) - The evaluation result. #### Error Response (422) - **HTTPValidationError** (object) - Validation Error ``` -------------------------------- ### Get Global Status Source: https://api.talentapi.com/ Retrieves global status and statistics about the data uploaded to the TalentAPI. This includes counts of jobs, profiles, and matches, as well as usage information. ```APIDOC ## GET /status ### Description Get your status: numbers and statistics about the data you sent us. ### Method GET ### Endpoint https://api.talentapi.com/status ### Responses #### Success Response (200) Content type: application/json - **jobs_count** (integer) - The total number of jobs. - **profiles_count** (integer) - The total number of profiles. - **matches_count** (integer) - The total number of matches. - **usage** (object) - Usage statistics. ### Response Example ```json { "jobs_count": 0, "profiles_count": 0, "matches_count": 0, "usage": {} } ``` ``` -------------------------------- ### Get Profile Recommendations Source: https://api.talentapi.com/ Retrieves a list of recommended profiles based on specified criteria. This endpoint allows filtering by distance, location, interactions, and model version. ```APIDOC ## POST /recommend/profile/{profile_id}/profiles ### Description Retrieves a list of recommended profiles for a given profile ID, with options for filtering and customization. ### Method POST ### Endpoint /recommend/profile/{profile_id}/profiles ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile for which to get recommendations. #### Request Body - **filters** (Array of objects) - Optional - A list of filters to apply to the recommendations. - **max_distance** (integer) - Optional - Defines a radius for recommendations based on entity addresses. Ignored if `location_filters` is specified. - **location_filters** (Array of objects) - Optional - A list of coordinates and distances to use for recommendations, taking precedence over `max_distance`. - **continuation_token** (string) - Optional - A token for retrieving the next page of recommendations. - **limit** (integer) - Optional - The number of results to return. [ 1 .. 100 ] Default: 10. - **interactions_to_filter** (Array of strings) - Optional - Types of interactions to exclude from suggestions. Items Enum: "PAGEVIEW", "SAVE", "APPLY", "RECOMMEND", "INVITE", "GOOD_MATCH", "BAD_MATCH", "INTERVIEW", "HIRE". - **show_explanation** (boolean) - Optional - Enables human-readable explanations. Default: false. - **experimental** (boolean) - Optional - Enables experimental improvements. Default: false. - **model_version_id** (string) - Optional - The model version ID to use for recommendations. If not specified, the latest model version is used. ### Request Example ```json { "limit": 10, "show_explanation": false, "experimental": false, "filters": [ { "key": "string", "operator": "OVERLAP", "value": [ null ] } ], "max_distance": 0, "location_filters": [ { "geopoint": { "lat": -90, "lon": -180 }, "distance_in_km": 30 } ], "continuation_token": "string", "interactions_to_filter": [ "PAGEVIEW" ], "model_version_id": "string" } ``` ### Response #### Success Response (200) - **continuation_token** (string) - Token for the next page of results. - **num_total_results** (integer) - The total number of results available. - **results** (Array of objects) - The list of recommended profiles. - **resource_id** (string) - The ID of the recommended resource. - **score** (number) - The match score for the recommendation. - **resource** (object) - Details of the recommended resource. - **external_id** (string) - **name** (string) - **addresses** (Array of strings) - **last_updated_datetime** (string) - ISO 8601 format. - **publication_datetime** (string) - ISO 8601 format. - **status** (string) - **client_data** (object) - **match_explanation** (object) - Explanation of why this resource was matched. - **property1** (object) - **score** (number) - **explanation** (string) - **metadata** (object) - **property2** (object) - **score** (number) - **explanation** (string) - **metadata** (object) #### Response Example (200) ```json { "continuation_token": "string", "num_total_results": 0, "results": [ { "resource_id": "string", "score": 0, "resource": { "external_id": "string", "name": "string", "addresses": [ "string" ], "last_updated_datetime": "2019-08-24T14:15:22Z", "publication_datetime": "2019-08-24T14:15:22Z", "status": "not_available", "client_data": { } }, "match_explanation": { "property1": { "score": 0, "explanation": "string", "metadata": { } }, "property2": { "score": 0, "explanation": "string", "metadata": { } } } } ] } ``` #### Validation Error Response (422) (Details not provided in source) ``` -------------------------------- ### postEvaluateCompatibility Source: https://api.talentapi.com/ Evaluates the compatibility of a profile and a job. ```APIDOC ## POST /evaluate/compatibility ### Description Evaluates the compatibility of a profile and a job. ### Method POST ### Endpoint /evaluate/compatibility ### Parameters #### Request Body - **profile_id** (string) - Required - The ID of the profile. - **job_id** (string) - Required - The ID of the job. ``` -------------------------------- ### Response Sample for Job Source: https://api.talentapi.com/ This is a sample JSON response for a job listing. It includes details such as external ID, client information, location, compensation, and dates. ```json { "external_id": "string", "client_data": { }, "client_name": "string", "computed_data": { }, "title": "string", "addresses": [ "string" ], "geocoordinates": [ { "lat": -90, "lon": -180 } ], "publisher_name": "string", "publisher_vatin": "string", "publisher_description": "string", "employer_name": "string", "employer_vatin": "string", "employer_description": "string", "department": "string", "description": "string", "required_qualifications": [ ], "skill_tags": [ ], "offer_and_benefits_str": "string", "application_instructions_str": "string", "compensation_currency": "string", "hourly_gross_compensation": 0, "languages": [ ], "degrees": [ ], "education_levels": [ ], "seniority_preferences": [ ], "relationship_preferences": [ ], "location_preferences": [ ], "employment_term_preferences": [ ], "capacity_preferences": [ ], "workday_preferences": [ ], "hours_preferences": [ ], "job_start_datetime": "2019-08-24T14:15:22Z", "job_end_datetime": "2019-08-24T14:15:22Z", "last_updated_datetime": "2019-08-24T14:15:22Z", "publication_datetime": "2019-08-24T14:15:22Z", "expiration_datetime": "2019-08-24T14:15:22Z", "may_be_recommended": true, "may_receive_recommendations": true, "attachments": [ ] } ``` -------------------------------- ### Authenticate to get Access Token Source: https://api.talentapi.com/openapi.json Use this endpoint to authenticate with your client ID and client secret to obtain an access token. The token is required for subsequent API requests. ```bash curl -X POST \ https://[server-url]/auth \ -H 'Content-Type: application/json' \ -d '{ "client_id": "[client_id]", \ "client_secret": "[client_secret]", \ "scope":"tapi/ALL" }' ``` -------------------------------- ### Authenticate and Get Access Token Source: https://api.talentapi.com/openapi.json Obtain an access token by providing your client ID, client secret, and scope to the /auth endpoint. This token is required for subsequent API requests. ```APIDOC ## POST /auth ### Description Authenticates the client and returns an access token. ### Method POST ### Endpoint /auth ### Request Body - **client_id** (string) - Required - Your client ID. - **client_secret** (string) - Required - Your client secret. - **scope** (string) - Required - The scope of access requested (e.g., "tapi/ALL"). ### Request Example ```json { "client_id": "[client_id]", "client_secret": "[client_secret]", "scope": "tapi/ALL" } ``` ### Response #### Success Response (200) - **access_token** (string) - The obtained Bearer token. - **expires_in** (integer) - The token's validity period in seconds. - **token_type** (string) - The type of token (e.g., "Bearer"). #### Response Example ```json { "access_token": "eyJjIs7iOiJ[...]vQZUUhw2fsg", "expires_in": 3600, "token_type": "Bearer" } ``` ``` -------------------------------- ### postFindProfiles Source: https://api.talentapi.com/ Finds profiles based on a given query. ```APIDOC ## POST /search/profiles ### Description Finds profiles based on a given query. ### Method POST ### Endpoint /search/profiles ### Parameters #### Request Body - **query** (string) - Required - The search query to find profiles. ``` -------------------------------- ### Recommend Profiles for Profile (Master) Source: https://api.talentapi.com/openapi.json Recommends profiles similar to a given profile using the master recommendation model. This endpoint is experimental and returns only master results. ```APIDOC ## POST /recommend-master/profile/{profile_id}/profiles ### Description Recommends profiles for a given profile returning only the master results (experimental). ### Method POST ### Endpoint /recommend-master/profile/{profile_id}/profiles ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile for which to recommend similar profiles. #### Request Body - **MatchConfig** (object) - Optional - Configuration for matching. Defaults to {"limit":10,"show_explanation":false,"experimental":false}. - **limit** (integer) - Optional - The maximum number of recommendations to return. - **show_explanation** (boolean) - Optional - Whether to include explanations for the recommendations. - **experimental** (boolean) - Optional - Whether to enable experimental features. ### Request Example ```json { "limit": 10, "show_explanation": false, "experimental": true } ``` ### Response #### Success Response (200) - **Response Recommend Profiles For Profile Master Recommend Master Profile Profile Id Profiles Post** (object or array) - Contains recommended profiles. #### Response Example ```json { "recommendations": [ { "profile_id": "profile101", "name": "John Smith", "score": 0.93 } ] } ``` ``` -------------------------------- ### Send Match Indicator Source: https://api.talentapi.com/openapi.json Send match indicators to improve recommendation quality by linking profiles and jobs based on user interactions. This example shows a 'PAGEVIEW' match type. ```shell curl -X POST \ https://[server-url]/matches \ -H 'Authorization: Bearer eyJraWQiOi[...]Mou8GdpvnA' -H 'Content-Type: application/json' -d '{ 'profile_id':'6789', 'job_id':'12345', 'match_actor':'CANDIDATE', 'match_datetime':'2020-03-14T21:37:38.414Z', 'match_type':'PAGEVIEW' }' ``` -------------------------------- ### Get Global Status Response Sample Source: https://api.talentapi.com/ This JSON structure represents a successful response (200) for the get/status endpoint, providing counts of jobs, profiles, and matches, along with usage statistics. ```json { "jobs_count": 0, "profiles_count": 0, "matches_count": 0, "usage": { } } ``` -------------------------------- ### Recommend Jobs for Profile (Master) Source: https://api.talentapi.com/openapi.json Recommends jobs for a given profile using the master recommendation model. This endpoint is experimental and returns only master results. ```APIDOC ## POST /recommend-master/profile/{profile_id}/jobs ### Description Recommends jobs for a given profile returning only the master results (experimental). ### Method POST ### Endpoint /recommend-master/profile/{profile_id}/jobs ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile for which to recommend jobs. #### Request Body - **MatchConfig** (object) - Optional - Configuration for matching. Defaults to {"limit":10,"show_explanation":false,"experimental":false}. - **limit** (integer) - Optional - The maximum number of recommendations to return. - **show_explanation** (boolean) - Optional - Whether to include explanations for the recommendations. - **experimental** (boolean) - Optional - Whether to enable experimental features. ### Request Example ```json { "limit": 10, "show_explanation": false, "experimental": true } ``` ### Response #### Success Response (200) - **Response Recommend Jobs For Profile Recommend Profile Profile Id Jobs Post** (object or array) - Contains recommended jobs or profile recommendations. #### Response Example ```json { "recommendations": [ { "job_id": "job123", "title": "Software Engineer", "company": "Tech Corp", "score": 0.95 } ] } ``` ``` -------------------------------- ### Recommend Jobs for Job (Master) Source: https://api.talentapi.com/openapi.json Recommends jobs similar to a given job using the master recommendation model. This endpoint is experimental and returns only master results. ```APIDOC ## POST /recommend-master/job/{job_id}/jobs ### Description Recommends jobs for a given job returning only the master results (experimental). ### Method POST ### Endpoint /recommend-master/job/{job_id}/jobs ### Parameters #### Path Parameters - **job_id** (string) - Required - The ID of the job for which to recommend similar jobs. #### Request Body - **MatchConfig** (object) - Optional - Configuration for matching. Defaults to {"limit":10,"show_explanation":false,"experimental":false}. - **limit** (integer) - Optional - The maximum number of recommendations to return. - **show_explanation** (boolean) - Optional - Whether to include explanations for the recommendations. - **experimental** (boolean) - Optional - Whether to enable experimental features. ### Request Example ```json { "limit": 10, "show_explanation": false, "experimental": true } ``` ### Response #### Success Response (200) - **Response Recommend Jobs For Job Master Recommend Master Job Job Id Jobs Post** (object or array) - Contains recommended jobs. #### Response Example ```json { "recommendations": [ { "job_id": "job789", "title": "Senior Software Engineer", "company": "Tech Solutions", "score": 0.90 } ] } ``` ``` -------------------------------- ### EvaluateJob Schema Source: https://api.talentapi.com/openapi.json Defines the structure for evaluating job-related information, including preferences for location, term, capacity, workday, and hours, along with start, end, update, publication, and expiration datetimes, and attachments. ```APIDOC ## Schema: EvaluateJob ### Description This schema defines the structure for evaluating job-related information. It includes various preferences such as employment location, term, capacity, workday, and hours. It also specifies datetimes for job start, end, last update, publication, and expiration, as well as a list of attachments. ### Properties * **external_id** (string) - Required - The unique identifier for the job. * **title** (string) - Required - The title of the job. * **employment_location_preferences** (array) - Optional - The employment location preferences. Each item should be of type `LocationType`. * **employment_term_preferences** (array) - Optional - The employment term preferences. Each item should be of type `TermType`. * **capacity_preferences** (array) - Optional - The employment capacity preferences. Each item should be of type `CapacityType`. * **workday_preferences** (array) - Optional - The employment schedule preferences. Each item should be of type `DaysType`. * **hours_preferences** (array) - Optional - The employment hours preferences. Each item should be of type `HoursType`. * **job_start_datetime** (string) - Optional - The localized start timestamp of the job. Accepts `date-time` format or an empty string. * **job_end_datetime** (string) - Optional - The localized end timestamp (including timezone) of the job in ISO 8601 format. If null, there is no end time. If missing, the end time is unknown. * **last_updated_datetime** (string) - Optional - The localized timestamp when the job was last modified. Accepts `date-time` format or an empty string. * **publication_datetime** (string) - Optional - The localized timestamp (including timezone) this job posting was most recently published in ISO 8601 format. Accepts `date-time` format or an empty string. * **expiration_datetime** (string) - Optional - The localized timestamp (including timezone) this job posting expires in ISO 8601 format. If null, this posting does not expire. Accepts `date-time` format or an empty string. * **attachments** (array) - Optional - A list of attachments. Each item should be of type `Attachment`. ``` -------------------------------- ### Job Recommendations Response Format Source: https://api.talentapi.com/openapi.json The API returns a list of recommended jobs for the specified profile. Each job in the list is represented as a JSON object. ```json [ { "r ``` -------------------------------- ### POST /recommend-master/profile/{profile_id}/jobs Source: https://api.talentapi.com/ Retrieves a list of recommended jobs for a given profile, with options for filtering and controlling the recommendation model. ```APIDOC ## POST /recommend-master/profile/{profile_id}/jobs ### Description Retrieves a list of recommended jobs for a given profile, with options for filtering and controlling the recommendation model. ### Method POST ### Endpoint https://api.talentapi.com/recommend-master/profile/{profile_id}/jobs ### Parameters #### Path Parameters - **profile_id** (string) - Required - The ID of the profile for which to get job recommendations. #### Query Parameters - **limit** (integer) - Optional - The number of results to return. Default: 10. Range: [1 .. 100]. - **show_explanation** (boolean) - Optional - Enable human readable explanations. Default: false. - **experimental** (boolean) - Optional - Enable the latest experimental improvements. Default: false. - **filters** (Array of objects) - Optional - A list of filters that filter results based on entity properties. - **max_distance** (integer) - Optional - Defines a radius used for looking for recommendations, based on the entity addresses. This is not used if `location_filters` is specified. - **location_filters** (Array of objects) - Optional - A list of coordinates and distances, to replace the entity addresses. This takes precedence over the `max_distance` parameter. - **continuation_token** (string) - Optional - A continuation token for getting the next page of recommendations. - **interactions_to_filter** (Array of strings) - Optional - The types of interactions to filter out of the suggestions. Items Enum: "PAGEVIEW", "SAVE", "APPLY", "RECOMMEND", "INVITE", "GOOD_MATCH", "BAD_MATCH", "INTERVIEW", "HIRE". - **model_version_id** (string) - Optional - The model version id to use for the recommendations. If not specified, the latest model version is used or the model version is chosen based on the A/B testing configuration. ### Request Example ```json { "limit": 10, "show_explanation": false, "experimental": false, "filters": [ { "key": "string", "operator": "OVERLAP", "value": [ null ] } ], "max_distance": 0, "location_filters": [ { "geopoint": { "lat": -90, "lon": -180 }, "distance_in_km": 30 } ], "continuation_token": "string", "interactions_to_filter": [ "PAGEVIEW" ], "model_version_id": "string" } ``` ### Response #### Success Response (200) - **continuation_token** (string) - A continuation token for getting the next page of recommendations. - **num_total_results** (integer) - The total number of results available. - **results** (Array of objects) - The list of recommended jobs. - **resource_id** (string) - The ID of the recommended resource. - **score** (integer) - The match score for the recommendation. - **resource** (object) - Details about the recommended job. - **external_id** (string) - **title** (string) - **description** (string) - **employer_name** (string) - **addresses** (Array of strings) - **last_updated_datetime** (string) - ISO 8601 format. - **publication_datetime** (string) - ISO 8601 format. - **status** (string) - **client_data** (object) - **match_explanation** (object) - Explanations for why this job was matched. - **property1** (object) - **score** (integer) - **explanation** (string) - **metadata** (object) - **property2** (object) - **score** (integer) - **explanation** (string) - **metadata** (object) #### Response Example (200) ```json { "continuation_token": "string", "num_total_results": 0, "results": [ { "resource_id": "string", "score": 0, "resource": { "external_id": "string", "title": "string", "description": "string", "employer_name": "string", "addresses": [ "string" ], "last_updated_datetime": "2019-08-24T14:15:22Z", "publication_datetime": "2019-08-24T14:15:22Z", "status": "not_available", "client_data": { } }, "match_explanation": { "property1": { "score": 0, "explanation": "string", "metadata": { } }, "property2": { "score": 0, "explanation": "string", "metadata": { } } } } ] } ``` #### Error Response (422) Validation Error ``` -------------------------------- ### Recommend Profiles for Job (Master) Source: https://api.talentapi.com/openapi.json Recommends profiles for a given job using the master recommendation model. This endpoint is experimental and returns only master results. ```APIDOC ## POST /recommend-master/job/{job_id}/profiles ### Description Recommends profiles for a given job returning only the master results (experimental). ### Method POST ### Endpoint /recommend-master/job/{job_id}/profiles ### Parameters #### Path Parameters - **job_id** (string) - Required - The ID of the job for which to recommend profiles. #### Request Body - **MatchConfig** (object) - Optional - Configuration for matching. Defaults to {"limit":10,"show_explanation":false,"experimental":false}. - **limit** (integer) - Optional - The maximum number of recommendations to return. - **show_explanation** (boolean) - Optional - Whether to include explanations for the recommendations. - **experimental** (boolean) - Optional - Whether to enable experimental features. ### Request Example ```json { "limit": 10, "show_explanation": false, "experimental": true } ``` ### Response #### Success Response (200) - **Response Recommend Profiles For Job Master Recommend Master Job Job Id Profiles Post** (object or array) - Contains recommended profiles or job recommendations. #### Response Example ```json { "recommendations": [ { "profile_id": "profile456", "name": "Jane Doe", "score": 0.92 } ] } ``` ``` -------------------------------- ### Search Titles Response Sample Source: https://api.talentapi.com/ This snippet illustrates a successful 200 OK response from the POST /search/titles endpoint, detailing the structure of job results. ```json { "results": [ { "job_title": "string" } ], "num_total_results": 0 } ``` -------------------------------- ### Request Sample for Skill Feedback Source: https://api.talentapi.com/ This is a sample JSON payload for adding or removing a skill from a job or profile. It requires entity type, external ID, feedback type, and the skill itself. ```json { "entity_type": "JOB", "external_id": "string", "feedback_type": "ADD", "skill": "string", "score": 0 } ``` -------------------------------- ### Send a Profile Source: https://api.talentapi.com/openapi.json Submit a user profile to the API. The API will process the profile and make it available for recommendations. ```APIDOC ## POST /profiles ### Description Submits a user profile to the Talent API for processing and potential recommendations. ### Method POST ### Endpoint /profiles ### Parameters #### Request Body - **external_id** (string) - Required - A unique identifier for the profile. - **addresses** (array of strings) - Required - The address(es) where the candidate lives. - **publication_datetime** (string) - Required - The date and time the profile was published. - **expiration_datetime** (string) - Required - The date and time the profile expires. - **may_be_recommended** (boolean) - Optional - Indicates if this profile can be recommended. - **may_receive_recommendations** (boolean) - Optional - Indicates if this profile can receive recommendations. ### Request Example ```json { "external_id": "6789", "addresses": ["The addresses where the candidate lives."], "publication_datetime": "2008-02-12 00:02:00", "expiration_datetime": "2008-02-12 00:02:00", "may_be_recommended": true, "may_receive_recommendations": true } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message indicating the profile was received and will be processed. #### Response Example ```json { "message": "Profile successfully received. Recommendations will be available once the profile has been processed." } ``` ``` -------------------------------- ### Add or Update Profile Source: https://api.talentapi.com/openapi.json Adds or updates a profile in the system. ```APIDOC ## POST /profiles ### Description Adds or updates a profile in the system. ### Method POST ### Endpoint /profiles ### Request Body - **external_id** (string) - Required - The unique identifier for the profile. - **name** (string) - Required - The name of the profile. - **experience_years** (integer) - Optional - The number of years of experience. - **skills** (array) - Optional - A list of skills. - **may_receive_recommendations** (boolean) - Optional - Whether the profile may receive recommendations. - **attachments** (array) - Optional - A list of attachments. ### Request Example ```json { "external_id": "prof_987", "name": "John Smith", "experience_years": 7, "skills": ["Java", "Spring Boot", "AWS"], "may_receive_recommendations": true, "attachments": [] } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Profile prof_987 added or updated successfully." } ``` ```