LinkedIn · Capability

Content APIs — Use Cases > InMail Content

Content APIs — Use Cases > InMail Content. 5 operations. Lead operation: LinkedIn Batch Get InMail Content. Self-contained Naftiko capability covering one Linkedin business surface.

Run with Naftiko LinkedinUse Cases > InMail Content

What You Can Do

GET
Getbatchgetinmailcontent — LinkedIn Batch Get InMail Content
/v1/inmailcontents
POST
Postsendtestinmail — LinkedIn Send Test InMail
/v1/inmailcontents
POST
Postcreateinmailcontent — LinkedIn Create InMail Content
/v1/inmailcontents
GET
Getgetinmailcontent — LinkedIn Get InMail Content
/v1/inmailcontents/{adinmailcontentid}
POST
Postupdateinmailcontent — LinkedIn Update InMail Content
/v1/inmailcontents/{adinmailcontentid}

MCP Tools

linkedin-batch-get-inmail-content

LinkedIn Batch Get InMail Content

read-only idempotent
linkedin-send-test-inmail

LinkedIn Send Test InMail

read-only
linkedin-create-inmail-content

LinkedIn Create InMail Content

linkedin-get-inmail-content

LinkedIn Get InMail Content

read-only idempotent
linkedin-update-inmail-content

LinkedIn Update InMail Content

Capability Spec

marketing-content-use-cases-inmail-content.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Content APIs — Use Cases > InMail Content
  description: 'Content APIs — Use Cases > InMail Content. 5 operations. Lead operation: LinkedIn Batch Get InMail Content.
    Self-contained Naftiko capability covering one Linkedin business surface.'
  tags:
  - Linkedin
  - Use Cases > InMail Content
  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-inmail-content
    baseUri: https://api.linkedin.com
    description: Content APIs — Use Cases > InMail Content business capability. Self-contained, no shared references.
    resources:
    - name: rest-inMailContents
      path: /rest/inMailContents
      operations:
      - name: getbatchgetinmailcontent
        method: GET
        description: LinkedIn Batch Get InMail Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: LinkedIn-Version
          in: header
          type: string
        - name: Authorization
          in: header
          type: string
        - name: X-RestLi-Method
          in: header
          type: string
        - name: X-Restli-Protocol-Version
          in: header
          type: string
        - name: ids
          in: query
          type: string
      - name: postsendtestinmail
        method: POST
        description: LinkedIn Send Test InMail
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Authorization
          in: header
          type: string
        - name: LinkedIn-Version
          in: header
          type: string
        - name: X-Restli-Protocol-Version
          in: header
          type: string
        - name: action
          in: query
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: rest-inMailContents
      path: /rest/inMailContents/
      operations:
      - name: postcreateinmailcontent
        method: POST
        description: LinkedIn Create InMail Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Authorization
          in: header
          type: string
        - 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: rest-inMailContents-adInMailContentId
      path: /rest/inMailContents/{adInMailContentId}
      operations:
      - name: getgetinmailcontent
        method: GET
        description: LinkedIn Get InMail Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Authorization
          in: header
          type: string
        - name: LinkedIn-Version
          in: header
          type: string
        - name: X-Restli-Protocol-Version
          in: header
          type: string
        - name: adInMailContentId
          in: path
          type: string
          required: true
      - name: postupdateinmailcontent
        method: POST
        description: LinkedIn Update InMail Content
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Authorization
          in: header
          type: string
        - name: X-Restli-Protocol-Version
          in: header
          type: string
        - name: LinkedIn-Version
          in: header
          type: string
        - name: adInMailContentId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: marketing-content-use-cases-inmail-content-rest
    port: 8080
    description: REST adapter for Content APIs — Use Cases > InMail Content. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/inmailcontents
      name: rest-inmailcontents
      description: REST surface for rest-inMailContents.
      operations:
      - method: GET
        name: getbatchgetinmailcontent
        description: LinkedIn Batch Get InMail Content
        call: marketing-content-use-cases-inmail-content.getbatchgetinmailcontent
        with:
          LinkedIn-Version: rest.LinkedIn-Version
          Authorization: rest.Authorization
          X-RestLi-Method: rest.X-RestLi-Method
          X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
          ids: rest.ids
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postsendtestinmail
        description: LinkedIn Send Test InMail
        call: marketing-content-use-cases-inmail-content.postsendtestinmail
        with:
          Authorization: rest.Authorization
          LinkedIn-Version: rest.LinkedIn-Version
          X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
          action: rest.action
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/inmailcontents
      name: rest-inmailcontents
      description: REST surface for rest-inMailContents.
      operations:
      - method: POST
        name: postcreateinmailcontent
        description: LinkedIn Create InMail Content
        call: marketing-content-use-cases-inmail-content.postcreateinmailcontent
        with:
          Authorization: rest.Authorization
          LinkedIn-Version: rest.LinkedIn-Version
          X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/inmailcontents/{adinmailcontentid}
      name: rest-inmailcontents-adinmailcontentid
      description: REST surface for rest-inMailContents-adInMailContentId.
      operations:
      - method: GET
        name: getgetinmailcontent
        description: LinkedIn Get InMail Content
        call: marketing-content-use-cases-inmail-content.getgetinmailcontent
        with:
          Authorization: rest.Authorization
          LinkedIn-Version: rest.LinkedIn-Version
          X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
          adInMailContentId: rest.adInMailContentId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postupdateinmailcontent
        description: LinkedIn Update InMail Content
        call: marketing-content-use-cases-inmail-content.postupdateinmailcontent
        with:
          Authorization: rest.Authorization
          X-Restli-Protocol-Version: rest.X-Restli-Protocol-Version
          LinkedIn-Version: rest.LinkedIn-Version
          adInMailContentId: rest.adInMailContentId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: marketing-content-use-cases-inmail-content-mcp
    port: 9090
    transport: http
    description: MCP adapter for Content APIs — Use Cases > InMail Content. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: linkedin-batch-get-inmail-content
      description: LinkedIn Batch Get InMail Content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: marketing-content-use-cases-inmail-content.getbatchgetinmailcontent
      with:
        LinkedIn-Version: tools.LinkedIn-Version
        Authorization: tools.Authorization
        X-RestLi-Method: tools.X-RestLi-Method
        X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
        ids: tools.ids
      outputParameters:
      - type: object
        mapping: $.
    - name: linkedin-send-test-inmail
      description: LinkedIn Send Test InMail
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: marketing-content-use-cases-inmail-content.postsendtestinmail
      with:
        Authorization: tools.Authorization
        LinkedIn-Version: tools.LinkedIn-Version
        X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
        action: tools.action
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: linkedin-create-inmail-content
      description: LinkedIn Create InMail Content
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: marketing-content-use-cases-inmail-content.postcreateinmailcontent
      with:
        Authorization: tools.Authorization
        LinkedIn-Version: tools.LinkedIn-Version
        X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: linkedin-get-inmail-content
      description: LinkedIn Get InMail Content
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: marketing-content-use-cases-inmail-content.getgetinmailcontent
      with:
        Authorization: tools.Authorization
        LinkedIn-Version: tools.LinkedIn-Version
        X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
        adInMailContentId: tools.adInMailContentId
      outputParameters:
      - type: object
        mapping: $.
    - name: linkedin-update-inmail-content
      description: LinkedIn Update InMail Content
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: marketing-content-use-cases-inmail-content.postupdateinmailcontent
      with:
        Authorization: tools.Authorization
        X-Restli-Protocol-Version: tools.X-Restli-Protocol-Version
        LinkedIn-Version: tools.LinkedIn-Version
        adInMailContentId: tools.adInMailContentId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.