Skip to main content
PUT

Authorizations

Authorization
string
header
required

Company-scoped API key. Production keys are prefixed sk_live_, sandbox keys sk_test_, each followed by 22 base62 characters (pattern ^sk_(live|test)_[0-9A-Za-z]{22}$). Generate keys in the TapTalent dashboard under Account Settings → Developers → API Key Management; a key is shown once at generation and old keys are invalidated immediately on regeneration.

Path Parameters

jobId
integer
required

The unique identifier of the job.

Body

application/json

Request body for updating a job. All fields are optional — include only the fields you want to change; omitted fields remain unchanged. The body cannot be empty: at least one field must be provided. Field validations (type, length, format) are the same as for Create Job.

Fields that accept null to clear their value: teamId, contractType, degreeLevel, jobRole, potentialAmount, potentialAmountCurrency, potentialHiresCount, yearOfExperience, description, screeningQuestion, applicationForm, and criterionDetails. title, city, state, and country cannot be set to null.

title
string

The job title displayed to candidates. Cannot be set to null.

Required string length: 3 - 500
city
string

The city where the job is located. Cannot be set to null — omit to leave unchanged.

Maximum string length: 200
state
string

The state or province where the job is located. Cannot be set to null — omit to leave unchanged.

Maximum string length: 200
country
string

The country where the job is located. Cannot be set to null — omit to leave unchanged.

Maximum string length: 200
description
string | null

Detailed job description. May be set to null to clear it.

Maximum string length: 10000
status
enum<string>

New job status. Unlike creation, all four values are allowed here. The documented lifecycle path is DRAFTACTIVEINACTIVEDELETED; once a job's status moves past DRAFT, it cannot be changed back to DRAFT (INVALID_STATUS_TRANSITION). Other reverse transitions are not documented either way.

Available options:
DRAFT,
ACTIVE,
INACTIVE,
DELETED
workMode
enum<string>

Work arrangement for the position.

Available options:
ONSITE,
REMOTE,
HYBRID
screeningQuestion
object[] | null

Replaces the job's pre-screening questions (maximum 15). May be set to null to clear them.

Maximum array length: 15
teamId
string<uuid> | null

Team assignment. May be set to null to clear it.

contractType
enum<string> | null

Employment contract type. May be set to null to clear it.

Available options:
Permanent,
Freelance / Consultant,
Fixed term contract,
Internship,
Student
degreeLevel
enum<string> | null

Minimum education level required. May be set to null to clear it.

Available options:
High School,
Bachelor's,
Master's,
M.B.A.,
Ph.D.,
Other
jobRole
enum<string> | null

Job role category. May be set to null to clear it.

Available options:
Accounting,
Administrative,
Customer Service,
Design,
Education,
Engineering,
Finance,
Healthcare,
Hospitality & Tourism,
Human Resources (HR),
Information Technology (IT),
Legal,
Marketing,
Media & Public Relations (PR),
Pharmaceuticals,
Production,
Property Management,
Public Service & Security,
Real Estate,
Retail,
Sales,
Supply Chain & Logistics
salaryRangeFrom
integer

Minimum annual salary. If any salary field is provided, all three (salaryRangeFrom, salaryRangeTo, salaryCurrency) must be provided together.

Required range: 0 <= x <= 9999999999
salaryRangeTo
integer

Maximum annual salary. Must be greater than salaryRangeFrom. If any salary field is provided, all three must be provided together.

Required range: 0 <= x <= 9999999999
salaryCurrency
enum<string>

Currency for the salary range. If any salary field is provided, all three must be provided together.

Available options:
USD,
PHP,
SGD,
IDR,
EUR,
INR,
GBP,
AED,
MYR,
AUD,
CAD,
JPY,
CNY,
CHF,
ZAR,
KRW,
THB,
VND,
BRL,
MXN,
RUB,
TRY,
SEK,
NOK,
DKK,
PLN,
HKD,
MAD
potentialAmount
number | null

Potential revenue or value associated with filling this position. potentialAmountCurrency is required when this is provided. May be set to null to clear it.

Required range: x >= 0
potentialAmountCurrency
string | null

Currency for the potential amount (3-character uppercase code). May be set to null to clear it.

Pattern: ^[A-Z]{3}$
potentialHiresCount
integer | null

Number of people you plan to hire. May be set to null to clear it.

Required range: x >= 1
yearOfExperience
number | null

Minimum years of professional experience required (0-50). May be set to null to clear it.

Required range: 0 <= x <= 50
applicationForm
object | null

Candidate application form configuration. The submitted object is MERGED with the job's existing applicationForm — provide only the keys you want to change; new values override existing ones. If expectedCTC/currentCTC is set to MANDATORY or OPTIONAL, the corresponding currency key is required unless the job already has an existing currency value. May be set to null to clear the configuration.

criterionDetails
object[] | null

Replaces the job's criterion details (maximum 7). May be set to null to clear them.

Maximum array length: 7

Response

The updated job. This shape is smaller than the create/get job response and includes the populated pipelineStage array.

Job object returned by the update endpoint. This shape is smaller than the create/get Job response — it omits skills, careerLevel, publishType, companyClientId, potentialAmount, potentialAmountCurrency, potentialHiresCount, closingStatus, closingReason, referralTemplateId, and jobType — and includes the populated pipelineStage array.

id
integer
required

Unique identifier of the job.

title
string
required

Job title displayed to candidates.

city
string
required

Job location city.

state
string
required

Job location state/province.

country
string
required

Job location country.

pipelineId
integer
required

Identifier of the hiring pipeline attached to the job. The published documentation shows the placeholder string "pipelineId_1"; the API uses the integer pipeline id (as in the Pipelines API).

Example:

181

status
enum<string>
required

Job lifecycle status. The documented lifecycle path is DRAFTACTIVEINACTIVEDELETED. The only documented restriction is that once a job leaves DRAFT it can never return to DRAFT; other reverse transitions (e.g. reactivation) are not documented either way. When creating a job only DRAFT and ACTIVE are allowed (see JobStatusCreate).

Available options:
DRAFT,
ACTIVE,
INACTIVE,
DELETED
workMode
enum<string>
required

Work arrangement for the position. ONSITE (default at creation): work at a physical office location; REMOTE: work from anywhere; HYBRID: a combination of onsite and remote work.

Available options:
ONSITE,
REMOTE,
HYBRID
description
string

Detailed job description.

screeningQuestion
object[]

Pre-screening questions candidates must answer when applying.

applicationForm
object

Configuration of the candidate application form: which fields are required, optional, or hidden when a candidate applies to the job. All keys are optional — specify only the fields you want to configure. If the object is omitted at creation, the system sets default values automatically. When updating a job, the submitted object is MERGED with the job's existing applicationForm (new values override existing ones); it is not replaced wholesale.

clientId
integer

Undocumented; type observed from examples. The documentation shows the placeholder string "clientId_1"; modeled as the underlying integer client id.

Example:

301

companyId
integer

Undocumented; type observed from examples. The documentation shows the placeholder string "companyId_1"; modeled as the underlying integer company id.

Example:

12001

teamId
string<uuid> | null

Team the job is assigned to, or null if unassigned.

contractType
enum<string>

Employment contract type.

Available options:
Permanent,
Freelance / Consultant,
Fixed term contract,
Internship,
Student
degreeLevel
enum<string>

Minimum education level required for the position.

Available options:
High School,
Bachelor's,
Master's,
M.B.A.,
Ph.D.,
Other
jobRole
enum<string>

Job role category, used for job organization and candidate matching.

Available options:
Accounting,
Administrative,
Customer Service,
Design,
Education,
Engineering,
Finance,
Healthcare,
Hospitality & Tourism,
Human Resources (HR),
Information Technology (IT),
Legal,
Marketing,
Media & Public Relations (PR),
Pharmaceuticals,
Production,
Property Management,
Public Service & Security,
Real Estate,
Retail,
Sales,
Supply Chain & Logistics
salaryRangeFrom
integer

Minimum annual salary.

salaryRangeTo
integer

Maximum annual salary.

salaryCurrency
enum<string>

Currency code for the salary range.

Available options:
USD,
PHP,
SGD,
IDR,
EUR,
INR,
GBP,
AED,
MYR,
AUD,
CAD,
JPY,
CNY,
CHF,
ZAR,
KRW,
THB,
VND,
BRL,
MXN,
RUB,
TRY,
SEK,
NOK,
DKK,
PLN,
HKD,
MAD
criterionDetails
object[]

Job requirements used for AI candidate matching.

pipelineStage
object[]

Pipeline stages of the job with per-stage candidate counts (populated in the update response).