naftiko: 1.0.0-alpha2 info: label: Atlassian Confluence Content API — Attachments description: 'Atlassian Confluence Content API — Attachments. 6 operations. Lead operation: Atlassian Get Attachments. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Attachments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: confluence-content-attachments baseUri: '' description: Atlassian Confluence Content API — Attachments business capability. Self-contained, no shared references. resources: - name: wiki-rest-api-content-id-child-attachment path: /wiki/rest/api/content/{id}/child/attachment operations: - name: getattachments method: GET description: Atlassian Get Attachments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content to be queried for its attachments. required: true - name: start in: query type: integer description: The starting index of the returned attachments. - name: limit in: query type: integer description: The maximum number of attachments to return per page. - name: filename in: query type: string description: Filter the results to attachments that match the filename. - name: mediaType in: query type: string description: Filter the results to attachments that match the media type. - name: createorupdateattachment method: PUT description: Atlassian Create or Update Attachment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content to add the attachment to. required: true - name: status in: query type: string description: The status of the content that the attachment is being added to. - name: body in: body type: object description: Request body (JSON). required: true - name: createattachment method: POST description: Atlassian Create Attachment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content to add the attachment to. required: true - name: status in: query type: string description: The status of the content that the attachment is being added to. - name: body in: body type: object description: Request body (JSON). required: true - name: wiki-rest-api-content-id-child-attachment-attachmentId path: /wiki/rest/api/content/{id}/child/attachment/{attachmentId} operations: - name: updateattachmentproperties method: PUT description: Atlassian Update Attachment Properties outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the attachment is attached to. required: true - name: attachmentId in: path type: string description: The ID of the attachment to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: wiki-rest-api-content-id-child-attachment-attachmentId-data path: /wiki/rest/api/content/{id}/child/attachment/{attachmentId}/data operations: - name: updateattachmentdata method: POST description: Atlassian Update Attachment Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the attachment is attached to. required: true - name: attachmentId in: path type: string description: The ID of the attachment to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: wiki-rest-api-content-id-child-attachment-attachmentId-download path: /wiki/rest/api/content/{id}/child/attachment/{attachmentId}/download operations: - name: geturitodownloadattachment method: GET description: Atlassian Get Uri to Download Attachment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the attachment is attached to. required: true - name: attachmentId in: path type: string description: The ID of the attachment to download. required: true - name: version in: query type: integer description: The version of the attachment. If this parameter is absent, the redirect URI will download the latest version of the attachment. authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: confluence-content-attachments-rest port: 8080 description: REST adapter for Atlassian Confluence Content API — Attachments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/wiki/rest/api/content/{id}/child/attachment name: wiki-rest-api-content-id-child-attachment description: REST surface for wiki-rest-api-content-id-child-attachment. operations: - method: GET name: getattachments description: Atlassian Get Attachments call: confluence-content-attachments.getattachments with: id: rest.id start: rest.start limit: rest.limit filename: rest.filename mediaType: rest.mediaType outputParameters: - type: object mapping: $. - method: PUT name: createorupdateattachment description: Atlassian Create or Update Attachment call: confluence-content-attachments.createorupdateattachment with: id: rest.id status: rest.status body: rest.body outputParameters: - type: object mapping: $. - method: POST name: createattachment description: Atlassian Create Attachment call: confluence-content-attachments.createattachment with: id: rest.id status: rest.status body: rest.body outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/child/attachment/{attachmentid} name: wiki-rest-api-content-id-child-attachment-attachmentid description: REST surface for wiki-rest-api-content-id-child-attachment-attachmentId. operations: - method: PUT name: updateattachmentproperties description: Atlassian Update Attachment Properties call: confluence-content-attachments.updateattachmentproperties with: id: rest.id attachmentId: rest.attachmentId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/child/attachment/{attachmentid}/data name: wiki-rest-api-content-id-child-attachment-attachmentid-data description: REST surface for wiki-rest-api-content-id-child-attachment-attachmentId-data. operations: - method: POST name: updateattachmentdata description: Atlassian Update Attachment Data call: confluence-content-attachments.updateattachmentdata with: id: rest.id attachmentId: rest.attachmentId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/child/attachment/{attachmentid}/download name: wiki-rest-api-content-id-child-attachment-attachmentid-download description: REST surface for wiki-rest-api-content-id-child-attachment-attachmentId-download. operations: - method: GET name: geturitodownloadattachment description: Atlassian Get Uri to Download Attachment call: confluence-content-attachments.geturitodownloadattachment with: id: rest.id attachmentId: rest.attachmentId version: rest.version outputParameters: - type: object mapping: $. - type: mcp namespace: confluence-content-attachments-mcp port: 9090 transport: http description: MCP adapter for Atlassian Confluence Content API — Attachments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-get-attachments description: Atlassian Get Attachments hints: readOnly: true destructive: false idempotent: true call: confluence-content-attachments.getattachments with: id: tools.id start: tools.start limit: tools.limit filename: tools.filename mediaType: tools.mediaType outputParameters: - type: object mapping: $. - name: atlassian-create-update-attachment description: Atlassian Create or Update Attachment hints: readOnly: false destructive: false idempotent: true call: confluence-content-attachments.createorupdateattachment with: id: tools.id status: tools.status body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-create-attachment description: Atlassian Create Attachment hints: readOnly: false destructive: false idempotent: false call: confluence-content-attachments.createattachment with: id: tools.id status: tools.status body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-update-attachment-properties description: Atlassian Update Attachment Properties hints: readOnly: false destructive: false idempotent: true call: confluence-content-attachments.updateattachmentproperties with: id: tools.id attachmentId: tools.attachmentId body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-update-attachment-data description: Atlassian Update Attachment Data hints: readOnly: false destructive: false idempotent: false call: confluence-content-attachments.updateattachmentdata with: id: tools.id attachmentId: tools.attachmentId body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-get-uri-download-attachment description: Atlassian Get Uri to Download Attachment hints: readOnly: true destructive: false idempotent: true call: confluence-content-attachments.geturitodownloadattachment with: id: tools.id attachmentId: tools.attachmentId version: tools.version outputParameters: - type: object mapping: $.