Update campaign budget and duration
PATCH/v1/campaigns/:campaignId/budget
Updates campaign budget, duration, or both.
Null or absent properties keep current values. Not available for bonus credit campaigns.
| OAuth scope | Access token type |
|---|---|
employer.advertising.campaign |
Request
Path Parameters
Campaign ID.
- application/json
Body
required
Request body must be a JSON object that defines the campaign updates.
HTTP request headers
Include these HTTP request headers:
Content-Type: application/jsonAccept: application/json
Average daily budget (ADB) campaigns:
For ADB campaign budget updates, include only the supported fields you want to update.
All fields are optional.
budgetOnetimeLimitbudgetMonthlyLimitstartDatefixedEndDate
If set, the campaign uses a single budget for its entire duration.
Specify either budgetOnetimeLimit or budgetMonthlyLimit, but not both.
The budget uses the employer account's currency. Sponsored Jobs API parses, stores, and returns it as an exact decimal value, not a floating-point number.
Monthly recurring budget for the campaign.
The end date is optional for campaigns with a monthly recurring budget. Specify exactly one of budgetOnetimeLimit or budgetMonthlyLimit.
The budget uses the employer account's currency. Sponsored Jobs API parses, stores, and returns it as an exact decimal value, not a floating-point number.
Possible values: [startNowProratedAmount, startNowFullAmount, startNextMonthFullAmount]
If a campaign has a monthly recurring budget (`budgetMonthlyLimit` is specified) and the start date of the campaign is not the first day of the month, this specifies how the budget for the first month is calculated.
| Value | Meaning | Example: Applied budget when the monthly budget is 900 USD and the start date is June 11 | |
|---|---|---|---|
| June 11-30 | July 1-31 | ||
startNowFullAmount | The budget for the first month is the full monthly amount. | 900 USD | 900 USD |
startNowProratedAmount | The budget for the first month is proportional to the number of days remaining in the month after the start date. | 600 USD | 900 USD |
startNextMonthFullAmount | The campaign won't have any budget and won't sponsor any jobs in the first month. | 0 USD | 900 USD |
Start date for sponsoring jobs, in ISO 8601 YYYY-MM-DD format.
Default: current date.
The campaign starts at the beginning of that day in US Central Time (US/Central).
The date must be the current date in CT or later. For example, if startDate is 2026-01-15, the campaign starts on January 15, 2026 at 12:00 AM CT.
If you omit the date or use the current date, the campaign starts immediately.
After the campaign becomes active and starts spending, you cannot update startDate.
To pause a campaign temporarily, set status to PAUSED.
Date when the campaign must stop sponsoring jobs, even if budget remains. Use ISO 8601 YYYY-MM-DD format.
If the campaign uses a one-time budget (budgetOnetimeLimit), specify either fixedEndDate or targetEndDate, but not both.
If the campaign uses a monthly recurring budget (budgetMonthlyLimit), fixedEndDate is optional. Without it, the campaign continues until you pause or delete it. These are called evergreen campaigns.
The campaign stops at the start of the specified day in US Central Time (US/Central). fixedEndDate must be at least one day after the current date in CT, or after the campaign startDate if one is set. For example, if fixedEndDate is 2026-06-20, the campaign stops on June 20, 2026 at 12:00 AM CT.
Date before when the campaign *should* stop sponsoring jobs, though it can continue sponsoring past the specified date if it has not spent its budget yet. Follows the ISO 8601 YYYY-MM-DD format.
A campaign with a one-time budget (budgetOnetimeLimit) must always have either a fixedEndDate or a targetEndDate, but not both. A campaign with a monthly recurring budget (budgetMonthlyLimit) cannot have a targetEndDate, only a fixedEndDate or no end date.
The campaign targets the start of the specified day in US Central Time (CT, US/Central). The target end date must be at least one day after the current date in CT, or the startDate of the campaign, if the campaign has one. For example, if the target end date is 2026-06-20, the campaign targets June 20, 2026 at 0:00 AM CT.
Responses
- 200
- 400
- 401
- 403
- 404
- 500
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
Campaign ID of the updated campaign.
{ "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": "cda7fa7645b613d5" }}{ "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/bceed88523d89731" }, { "rel": "Traffic Statistics", "href": "/v1/campaigns/bceed88523d89731/stats" } ] }, "data": { "campaignId": "bceed88523d89731" }}A request parameter is not valid.
The description field usually contains the name of the problematic parameter and a more detailed error message.
Unlike other error types, the meta.errors array can contain multiple INVALID_REQUEST errors, one for each request parameter with a problem.
- application/json
- Schema
- Example (from schema)
- Updating start date after campaign is active
- Multiple types of end date
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>startDate: Cannot update the start date for this campaign.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": [ { "rel": "up", "href": "/v1/campaigns" } ] }, "data": null}{ "meta": { "status": 400, "errors": [ { "type": "INVALID_REQUEST", "description": "<p>targetEndDate: You can only have one end date type, either fixed or target.</p>" }, { "type": "INVALID_REQUEST", "description": "<p>fixedEndDate: You can only have one end date type, either fixed or target.</p>" } ], "rootLocation": "https://apis.indeed.com/ads", "perPage": null, "links": [ { "rel": "up", "href": "/v1/campaigns" } ] }, "data": null}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}