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: $.