LinkedIn · Capability
Content APIs — Use Cases > Creatives
Content APIs — Use Cases > Creatives. 4 operations. Lead operation: LinkedIn Search for Creative. Self-contained Naftiko capability covering one Linkedin business surface.
What You Can Do
GET
Getsearchforcreative
— LinkedIn Search for Creative
/v1/creatives
POST
Postupdateacreative
— LinkedIn Update a Creative
/v1/creatives/{creative-id}
DELETE
Deletedeleteacreative
— LinkedIn Delete a Creative
/v1/creatives/{creative-id}
GET
Getgetasponsoredcreative
— LinkedIn Get a Sponsored Creative
/v1/creatives/{urn-creatives}
MCP Tools
linkedin-search-creative
LinkedIn Search for Creative
read-only
idempotent
linkedin-update-creative
LinkedIn Update a Creative
linkedin-delete-creative
LinkedIn Delete a Creative
idempotent
linkedin-get-sponsored-creative
LinkedIn Get a Sponsored Creative
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Content APIs — Use Cases > Creatives
description: 'Content APIs — Use Cases > Creatives. 4 operations. Lead operation: LinkedIn Search for Creative. Self-contained
Naftiko capability covering one Linkedin business surface.'
tags:
- Linkedin
- Use Cases > Creatives
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
LINKEDIN_API_KEY: LINKEDIN_API_KEY
capability:
consumes:
- type: http
namespace: marketing-content-use-cases-creatives
baseUri: https://api.linkedin.com
description: Content APIs — Use Cases > Creatives business capability. Self-contained, no shared references.
resources:
- name: creatives
path: /creatives
operations:
- name: getsearchforcreative
method: GET
description: LinkedIn Search for Creative
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: X-Restli-Protocol-Version
in: header
type: string
- name: LinkedIn-Version
in: header
type: string
- name: accounts
in: query
type: string
- name: campaigns
in: query
type: string
- name: contentReferences
in: query
type: string
- name: creatives
in: query
type: string
- name: intendedStatuses
in: query
type: string
- name: isTestAccount
in: query
type: boolean
- name: isTotalIncluded
in: query
type: boolean
- name: leadgenCreativeCallToActionDestinations
in: query
type: string
- name: q
in: query
type: string
- name: sortOrder
in: query
type: string
- name: creatives-creative ID
path: /creatives/{creative ID}
operations:
- name: postupdateacreative
method: POST
description: LinkedIn Update a Creative
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: LinkedIn-Version
in: header
type: string
- name: X-Restli-Protocol-Version
in: header
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletedeleteacreative
method: DELETE
description: LinkedIn Delete a Creative
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: LinkedIn-Version
in: header
type: string
- name: X-Restli-Protocol-Version
in: header
type: string
- name: creatives-urn_creatives
path: /creatives/{urn_creatives}
operations:
- name: getgetasponsoredcreative
method: GET
description: LinkedIn Get a Sponsored Creative
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: LinkedIn-Version
in: header
type: string
- name: X-Restli-Protocol-Version
in: header
type: string
- name: urn_creatives
in: path
type: string
required: true
exposes:
- type: rest
namespace: marketing-content-use-cases-creatives-rest
port: 8080
description: REST adapter for Content APIs — Use Cases > Creatives. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/creatives
name: creatives
description: REST surface for creatives.
operations:
- method: GET
name: getsearchforcreative
description: LinkedIn Search for Creative
call: marketing-content-use-cases-creatives.getsearchforcreative
with:
X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
LinkedIn-Version: rest.LinkedIn-Version
accounts: rest.accounts
campaigns: rest.campaigns
contentReferences: rest.contentReferences
creatives: rest.creatives
intendedStatuses: rest.intendedStatuses
isTestAccount: rest.isTestAccount
isTotalIncluded: rest.isTotalIncluded
leadgenCreativeCallToActionDestinations: rest.leadgenCreativeCallToActionDestinations
q: rest.q
sortOrder: rest.sortOrder
outputParameters:
- type: object
mapping: $.
- path: /v1/creatives/{creative-id}
name: creatives-creative-id
description: REST surface for creatives-creative ID.
operations:
- method: POST
name: postupdateacreative
description: LinkedIn Update a Creative
call: marketing-content-use-cases-creatives.postupdateacreative
with:
LinkedIn-Version: rest.LinkedIn-Version
X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletedeleteacreative
description: LinkedIn Delete a Creative
call: marketing-content-use-cases-creatives.deletedeleteacreative
with:
LinkedIn-Version: rest.LinkedIn-Version
X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
outputParameters:
- type: object
mapping: $.
- path: /v1/creatives/{urn-creatives}
name: creatives-urn-creatives
description: REST surface for creatives-urn_creatives.
operations:
- method: GET
name: getgetasponsoredcreative
description: LinkedIn Get a Sponsored Creative
call: marketing-content-use-cases-creatives.getgetasponsoredcreative
with:
LinkedIn-Version: rest.LinkedIn-Version
X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
urn_creatives: rest.urn_creatives
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: marketing-content-use-cases-creatives-mcp
port: 9090
transport: http
description: MCP adapter for Content APIs — Use Cases > Creatives. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: linkedin-search-creative
description: LinkedIn Search for Creative
hints:
readOnly: true
destructive: false
idempotent: true
call: marketing-content-use-cases-creatives.getsearchforcreative
with:
X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
LinkedIn-Version: tools.LinkedIn-Version
accounts: tools.accounts
campaigns: tools.campaigns
contentReferences: tools.contentReferences
creatives: tools.creatives
intendedStatuses: tools.intendedStatuses
isTestAccount: tools.isTestAccount
isTotalIncluded: tools.isTotalIncluded
leadgenCreativeCallToActionDestinations: tools.leadgenCreativeCallToActionDestinations
q: tools.q
sortOrder: tools.sortOrder
outputParameters:
- type: object
mapping: $.
- name: linkedin-update-creative
description: LinkedIn Update a Creative
hints:
readOnly: false
destructive: false
idempotent: false
call: marketing-content-use-cases-creatives.postupdateacreative
with:
LinkedIn-Version: tools.LinkedIn-Version
X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: linkedin-delete-creative
description: LinkedIn Delete a Creative
hints:
readOnly: false
destructive: true
idempotent: true
call: marketing-content-use-cases-creatives.deletedeleteacreative
with:
LinkedIn-Version: tools.LinkedIn-Version
X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
outputParameters:
- type: object
mapping: $.
- name: linkedin-get-sponsored-creative
description: LinkedIn Get a Sponsored Creative
hints:
readOnly: true
destructive: false
idempotent: true
call: marketing-content-use-cases-creatives.getgetasponsoredcreative
with:
LinkedIn-Version: tools.LinkedIn-Version
X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
urn_creatives: tools.urn_creatives
outputParameters:
- type: object
mapping: $.