---
title: "Resume a LinkedIn creative (ad)"
method: POST
path: "/api/v1/tools/linkedin_resume_creative/execute"
tags: ["LinkedIn Ads"]
---

# Resume a LinkedIn creative (ad)

`POST /api/v1/tools/linkedin_resume_creative/execute`

## Request

- Base URL: `https://adako.ai`
- URL: `https://adako.ai/api/v1/tools/linkedin_resume_creative/execute`
- Auth: HTTP bearer

Sets one creative (an ad in Campaign Manager) to ACTIVE so it can serve, subject to the status of its campaign (ad set) and LinkedIn's review.
Use when: a newly created creative has been reviewed by the user and should go live, or a paused variant is being brought back.
Do not assume it will serve. A creative only delivers when its campaign is ACTIVE, its campaign group (the Campaign Manager campaign) is ACTIVE, and LinkedIn's review has passed — a creative moving from DRAFT to ACTIVE starts a review that takes up to 24 hours. Check with linkedin_list_creatives rather than promising the user it is live.
Do not resume several variants at once on a small budget: LinkedIn splits delivery between them and none gets enough impressions to prove anything. Three or four active creatives per campaign is the practical ceiling.
Returns the creative read back with its review status.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `arguments` object, required
    - `ad_account_id` string: LinkedIn ad account id — the numeric id from Campaign Manager, as a string ("506699162"). Omit it to use the primary account; pass it when the user manages several.
    - `creative_id` string, required: The creative to act on, from linkedin_list_creatives. LinkedIn ids are numeric strings; a full urn:li:… value is also accepted.
    - `idempotency_key` string: Optional caller-supplied key; identical keys never execute twice.
    - `raw_data` boolean: Return compact JSON only (no markdown). Use when you will compute on the result.

## Response `200`

The tool ran. A write returns proposal_id and approve_url while the change waits for approval.

- SuccessEnvelope
  - `success` unknown, required
  - `tool` string, required
  - `data` object, required: Machine-readable result.
  - `markdown` string, required: The same result written for a person or a model.
  - `quota` Quota: Task usage for the current billing period.
    - `plan` string
    - `used` integer
    - `limit` integer
    - `period_end` string
    - `upgrade_url` string
  - `proposal_id` string: Present for writes. Nothing changes on the ad platform until it is approved.
  - `approve_url` string: Where a person approves the proposal.
  - `request_id` string, required

## Other responses

- `400`: Invalid arguments, or the ad account could not be resolved.
- `401`: Missing, invalid, revoked or expired API key.
- `402`: Monthly task quota used up, or the plan does not include this tool.
- `403`: The connected ad account lacks the access level this tool needs.
- `404`: Unknown tool name.
- `409`: Not connected, reconnect needed, confirmation required, a proposal already pending or no longer pending, an identical create that failed earlier today (proposal_failed_before), a create that duplicates an approved one (duplicate_create), the ad-account limit of the plan reached (account_limit), or an Idempotency-Key reused with different arguments.
- `429`: Rate limited by Adako or by the ad platform. See Retry-After.
- `500`: Unexpected error inside Adako.
- `502`: The ad platform returned an error.

---

[API](https://skmtc.dev/adako/apis/adako-rest-api.md) · [All operations](https://skmtc.dev/adako/apis/adako-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adako/apis/adako-rest-api/revisions/59ee60d48a56?raw)
