Update general campaign information
PATCH/v1/campaigns/:campaignId
Updates the basic properties of a sponsored jobs campaign.
| OAuth scope | Access token type |
|---|---|
employer.advertising.campaign | Employer access token. |
Request
Path Parameters
Campaign ID of the campaign to update.
- application/json
Body
required
The request body must be a JSON object that defines campaign updates.
HTTP request headers
Include these HTTP request headers:
Content-Type: application/jsonAccept: application/json
Updates
Fields that are null or omitted keep their current value.
If you change jobsToInclude to ALL, the API clears existing values for jobsQuery, jobsTitle, jobsCompany, jobsLocation, and jobsLocationRadius.
Objectives
You cannot set or change objectives for average daily budget (ADB) campaigns (STANDARD and PREMIUM).
You can add an objective to a campaign that does not have one and update its target, but you cannot remove the objective or change its objectiveType.
objectiveType, which specifies the campaign objectivetarget, which specifies the goal metric for some objective typesBALANCE: Maximize total applications for your budget while balancing spend across jobs.MAXIMUM: Maximize total applications for your budget without balancing clicks across jobs.QUICK: Five-day campaign with a higher budget for faster results.You cannot create or update campaigns with this objective through Sponsored Jobs API.
You can still retrieve reports for campaigns with this objective if they were created in Indeed for Employers.
TARGET_APPLICATIONS: Aim for the number of applications specified bytarget.When the target is reached, spend on those jobs is greatly reduced and shifted elsewhere.
TARGET_COST_PER_APPLICATION: Aim to keep the cost per application below the value specified bytarget.SCHEDULED_INTERVIEWS: Send screened candidates directly to interview and aim for the number of interviews specified bytarget.This objective requires an active Indeed Hiring Platform subscription and should be used only if the customer is ready to create hiring events for the included jobs.
- BALANCE
- MAXIMUM
- QUICK
- TARGET_APPLICATIONS
- TARGET_COST_PER_APPLICATION
- SCHEDULED_INTERVIEWS
Possible values: non-empty and <= 250 characters
Campaign name.
Use it to identify the campaign later.
It must be unique within the employer account.
Possible values: <= 255 characters
Click-tracking token added to the job URL for sponsored clicks.
Use it to identify clicks from Indeed and the campaign that sponsored them.
Possible values: [ACTIVE, DELETED, PAUSED]
Campaign status.
ACTIVE starts the campaign.
PAUSED keeps the campaign inactive or temporarily stops sponsorship.
DELETED stops sponsorship and hides the campaign from the default view in the campaign management portal.
Possible values: [ALL, QUERY]
Required. Use ALL or QUERY.
ALL sponsors all jobs in the job source.
ALL ignores and clears jobsQuery, jobsTitle, jobsCompany, jobsLocation, and jobsLocationRadius.
QUERY sponsors only jobs that match the criteria.
If you provide multiple criteria, jobs must match all of them.
If jobsToInclude is QUERY and no criteria are provided, the campaign currently sponsors all jobs in the job source.
To avoid errors, provide at least one criterion or set jobsToInclude to ALL.
Sponsors only jobs that match these search terms.
Supports Boolean expressions.
See Indexed jobs query format.
Applies only when jobsToInclude is QUERY.
For bonus credit campaigns, employers can update only jobsQuery and jobsToInclude.
For average daily budget (ADB) campaigns, update requests fail if they match more than 900 jobs.
If jobs are resolved dynamically, only 900 jobs are sponsored.
If set, the campaign sponsors only jobs with this title.
Applies only when jobsToInclude is QUERY.
If set, the campaign sponsors only jobs from this hiring company.
Applies only when jobsToInclude is QUERY.
If set, the campaign sponsors only jobs at or near this location.
Applies only when jobsToInclude is QUERY.
Default value: 25
Maximum distance from the job location to jobsLocation in the job query.
Valid values are 5, 10, 15, 25, 50, and 100.
Use miles for jobs in the United States and United Kingdom.
Use kilometers elsewhere.
UpdateAvgDailyBudgetConfig
object
Average daily budget (ADB) details.
Required to update an ADB campaign budget.
Possible values: <= 1500
Boost the base average daily budget (ADB) per job by a percentage.
Use this field only for flexible ADB campaigns. Do not use it for monthly or one-time campaigns.
Newly added jobs, whether added manually or through query resolution, inherit the same percentage increase over their recommended budgets.
Valid values: 0 to 1500.
objective
object
Hiring goals for the campaign.
Setting this field makes the campaign an objective-based campaign.
The value is a JSON object with:
For example, to target 10 applications:
{ "objectiveType": "TARGET_APPLICATIONS", "target": 10}You can add an objective to a campaign that does not already have one, and you can change the target value.
You cannot remove an objective or change its objectiveType.
objectiveType
string
Possible values: [BALANCE, MAXIMUM, QUICK, TARGET_APPLICATIONS, TARGET_COST_PER_APPLICATION, SCHEDULED_INTERVIEWS]
The campaign objective.
You cannot update this field for average daily budget (ADB) campaigns ( STANDARD and PREMIUM).
Available values:
Campaigns created outside your application might use new objective types that your application does not yet support.
Add fallback logic to handle unexpected objectiveType values.
any
any
any
Number of apps that the campaign should reach.
Cost per app that the campaign should stay below, in the employer account's currency. Sponsored Jobs API parses, stores and returns the value as an exact decimal fraction, not a floating point number.
Number of interviews that the campaign should reach.
Responses
- 200
- 400
- 401
- 403
- 404
- 500
Returns HTTP 200 status code on success.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Array [
-
up: The related resource is a collection that contains the requested resource, or an entity that the requested resource is attached to. -
next: The next page of entries in a paginated result. -
prev: The previous page of entries in a paginated result. ]
meta
object
Response-related metadata.
HTTP status code of the response.
errors
object[]
Errors that prevented the request from being processed successfully.
If there are no errors, this value is null.
Name of the error.
Human-readable description of the problem.
Base URL of the Sponsored Jobs API.
For endpoints that return paginated results, the effective maximum number of entries returned on one page.
The value may be smaller than the maximum you requested with the perPage parameter.
If the endpoint returns a single result or doesn't paginate, the value is null.
links
object[]
Resources related to the requested resource.
The relationship between the requested resource and the related resource. These values are commonly used:
However, the value may also be an arbitrary string describing the relationship, such as Campaign Info.
Endpoint URL of the related resource.
Can contain query string parameters.
To get the complete URL, append the href to rootLocation.
data
object
The campaignId from the request.
{ "meta": { "status": 200, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [ { "rel": "next", "href": "/v1/campaigns/3141592653589793" } ] }, "data": { "campaignId": "ee4d641cab17b22c" }}{ "meta": { "status": 200, "errors": null, "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": [ { "rel": "up", "href": "/v1/campaigns" }, { "rel": "Campaign Info", "href": "/v1/campaigns/ee4d641cab17b22c" }, { "rel": "Traffic Statistics", "href": "/v1/campaigns/ee4d641cab17b22c/stats" } ] }, "data": { "campaignId": "ee4d641cab17b22c" }}A request parameter is invalid.
The description field usually names the invalid parameter and provides more detail.
Unlike other error types, meta.errors can contain multiple INVALID_REQUEST errors.
Each INVALID_REQUEST error maps to one invalid request parameter.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Array [
-
up: The related resource is a collection that contains the requested resource, or an entity that the requested resource is attached to. -
next: The next page of entries in a paginated result. -
prev: The previous page of entries in a paginated result. ]
meta
object
Response-related metadata.
HTTP status code of the response.
errors
object[]
Errors that prevented the request from being processed successfully.
If there are no errors, this value is null.
Name of the error.
Human-readable description of the problem.
Base URL of the Sponsored Jobs API.
For endpoints that return paginated results, the effective maximum number of entries returned on one page.
The value may be smaller than the maximum you requested with the perPage parameter.
If the endpoint returns a single result or doesn't paginate, the value is null.
links
object[]
Resources related to the requested resource.
The relationship between the requested resource and the related resource. These values are commonly used:
However, the value may also be an arbitrary string describing the relationship, such as Campaign Info.
Endpoint URL of the related resource.
Can contain query string parameters.
To get the complete URL, append the href to rootLocation.
{ "meta": { "status": 200, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [ { "rel": "next", "href": "/v1/campaigns/3141592653589793" } ] }, "data": null}{ "meta": { "status": 400, "errors": [ { "type": "INVALID_REQUEST", "description": "<p>Found objective with type <code>OBJECTIVE_BALANCE</code> that does not match the provided <code>OBJECTIVE_BUDGET</code> type. You cannot update an ad's objective type.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": [ { "rel": "up", "href": "/v1/campaigns" } ] }}Request did not include a valid access token:
The @@PH0@@ header is missing or malformed. Include the access token using the
Bearerscheme — for example,Authorization: Bearer XYZ.The access token is malformed. When building requests manually, check that you copied the token without missing or extra characters at the start or end.
The access token has expired. Tokens expire after one hour (3,600 seconds).
Get a new token using your client credentials (2-legged OAuth) or a refresh token (3-legged OAuth).
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Array [
-
up: The related resource is a collection that contains the requested resource, or an entity that the requested resource is attached to. -
next: The next page of entries in a paginated result. -
prev: The previous page of entries in a paginated result. ]
meta
object
Response-related metadata.
HTTP status code of the response.
errors
object[]
Errors that prevented the request from being processed successfully.
If there are no errors, this value is null.
Name of the error.
Human-readable description of the problem.
Base URL of the Sponsored Jobs API.
For endpoints that return paginated results, the effective maximum number of entries returned on one page.
The value may be smaller than the maximum you requested with the perPage parameter.
If the endpoint returns a single result or doesn't paginate, the value is null.
links
object[]
Resources related to the requested resource.
The relationship between the requested resource and the related resource. These values are commonly used:
However, the value may also be an arbitrary string describing the relationship, such as Campaign Info.
Endpoint URL of the related resource.
Can contain query string parameters.
To get the complete URL, append the href to rootLocation.
{ "meta": { "status": 200, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [ { "rel": "next", "href": "/v1/campaigns/3141592653589793" } ] }, "data": null}{ "meta": { "status": 401, "errors": [ { "type": "INVALID_TOKEN", "description": "<p>Invalid OAuth access token.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": null }, "data": null}Valid access token that cannot be used with this API.
Inspect the error returned in meta.errors for details.
| Error type | Meaning and common causes |
|---|---|
INSUFFICIENT_SCOPE | The access token does not have the OAuth v2 token scope required for this API endpoint. For common causes, see FAQ and troubleshooting. |
NOT_EMPLOYER_ACCESS_TOKEN | This endpoint requires an Employer access token. That is, you must specify the |
LEGACY_ACCESS_TOKEN_NOT_ALLOWED | Sponsored Jobs API no longer supports access tokens that you get through legacy OAuth endpoints. For updated endpoints, see Integrate with Indeed and call APIs. |
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Array [
-
up: The related resource is a collection that contains the requested resource, or an entity that the requested resource is attached to. -
next: The next page of entries in a paginated result. -
prev: The previous page of entries in a paginated result. ]
meta
object
Response-related metadata.
HTTP status code of the response.
errors
object[]
Errors that prevented the request from being processed successfully.
If there are no errors, this value is null.
Name of the error.
Human-readable description of the problem.
Base URL of the Sponsored Jobs API.
For endpoints that return paginated results, the effective maximum number of entries returned on one page.
The value may be smaller than the maximum you requested with the perPage parameter.
If the endpoint returns a single result or doesn't paginate, the value is null.
links
object[]
Resources related to the requested resource.
The relationship between the requested resource and the related resource. These values are commonly used:
However, the value may also be an arbitrary string describing the relationship, such as Campaign Info.
Endpoint URL of the related resource.
Can contain query string parameters.
To get the complete URL, append the href to rootLocation.
{ "meta": { "status": 200, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [ { "rel": "next", "href": "/v1/campaigns/3141592653589793" } ] }, "data": null}{ "meta": { "status": 403, "errors": [ { "type": "INSUFFICIENT_SCOPE", "description": "<p>Access token does not have permission to access this API.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": null }, "data": null}Requested campaign either does not exist or belongs to another employer. Be sure to use an access token that represents the employer that owns the requested campaign. See Get an employer access token.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Array [
-
up: The related resource is a collection that contains the requested resource, or an entity that the requested resource is attached to. -
next: The next page of entries in a paginated result. -
prev: The previous page of entries in a paginated result. ]
meta
object
Response-related metadata.
HTTP status code of the response.
errors
object[]
Errors that prevented the request from being processed successfully.
If there are no errors, this value is null.
Name of the error.
Human-readable description of the problem.
Base URL of the Sponsored Jobs API.
For endpoints that return paginated results, the effective maximum number of entries returned on one page.
The value may be smaller than the maximum you requested with the perPage parameter.
If the endpoint returns a single result or doesn't paginate, the value is null.
links
object[]
Resources related to the requested resource.
The relationship between the requested resource and the related resource. These values are commonly used:
However, the value may also be an arbitrary string describing the relationship, such as Campaign Info.
Endpoint URL of the related resource.
Can contain query string parameters.
To get the complete URL, append the href to rootLocation.
{ "meta": { "status": 200, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [ { "rel": "next", "href": "/v1/campaigns/3141592653589793" } ] }, "data": null}{ "meta": { "status": 404, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "<p>Couldn't locate the requested resource.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": { "rel": "up", "href": "/v1/campaigns" } }, "data": null}Unexpected error occurred.
The problem is sometimes temporary and the exact same request may succeed after retrying.
If retrying the request does not help, a problem with parsing the request might have occurred.
Verify that all the required parameters are present and that all parameters are correctly formatted.
If you use an access token obtained with client credentials grant type (2-legged OAuth) with the legacy Sponsored Jobs API endpoint, the INTERNAL_SERVER_ERROR error occurs.
Be sure to use the latest base URL (
https://apis.indeed.com/ads).- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Array [
-
up: The related resource is a collection that contains the requested resource, or an entity that the requested resource is attached to. -
next: The next page of entries in a paginated result. -
prev: The previous page of entries in a paginated result. ]
meta
object
Response-related metadata.
HTTP status code of the response.
errors
object[]
Errors that prevented the request from being processed successfully.
If there are no errors, this value is null.
Name of the error.
Human-readable description of the problem.
Base URL of the Sponsored Jobs API.
For endpoints that return paginated results, the effective maximum number of entries returned on one page.
The value may be smaller than the maximum you requested with the perPage parameter.
If the endpoint returns a single result or doesn't paginate, the value is null.
links
object[]
Resources related to the requested resource.
The relationship between the requested resource and the related resource. These values are commonly used:
However, the value may also be an arbitrary string describing the relationship, such as Campaign Info.
Endpoint URL of the related resource.
Can contain query string parameters.
To get the complete URL, append the href to rootLocation.
{ "meta": { "status": 200, "errors": [ { "type": "RESOURCE_NOT_FOUND", "description": "Couldn't locate the requested resource" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": 25, "links": [ { "rel": "next", "href": "/v1/campaigns/3141592653589793" } ] }, "data": null}{ "meta": { "status": 500, "errors": [ { "type": "INTERNAL_SERVER_ERROR", "description": "<p>Failed to process the request.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": null }, "data": null}