naftiko: 1.0.0-alpha2 info: label: Atlassian Confluence User API — Content Watches description: 'Atlassian Confluence User API — Content Watches. 9 operations. Lead operation: Atlassian Get Content Watch Status. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Content Watches created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: confluence-user-content-watches baseUri: '' description: Atlassian Confluence User API — Content Watches business capability. Self-contained, no shared references. resources: - name: wiki-rest-api-user-watch-content-contentId path: /wiki/rest/api/user/watch/content/{contentId} operations: - name: atlassiangetcontentwatchstatus method: GET description: Atlassian Get Content Watch Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: contentId in: path type: string description: The ID of the content to be queried for whether the specified user is required: true - name: atlassianaddcontentwatcher method: POST description: Atlassian Add Content Watcher outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: contentId in: path type: string description: The ID of the content to add the watcher to. required: true - name: atlassianremovecontentwatcher method: DELETE description: Atlassian Remove Content Watcher outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Atlassian-Token in: header type: string description: Note, you must add header when making a required: true - name: contentId in: path type: string description: The ID of the content to remove the watcher from. required: true - name: wiki-rest-api-user-watch-label-labelName path: /wiki/rest/api/user/watch/label/{labelName} operations: - name: atlassianiswatchinglabel method: GET description: Atlassian Get Label Watch Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labelName in: path type: string description: The name of the label to be queried for whether the specified user is required: true - name: atlassianaddlabelwatcher method: POST description: Atlassian Add Label Watcher outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Atlassian-Token in: header type: string description: Note, you must add header when making a required: true - name: labelName in: path type: string description: The name of the label to add the watcher to. required: true - name: atlassianremovelabelwatcher method: DELETE description: Atlassian Remove Label Watcher outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labelName in: path type: string description: The name of the label to remove the watcher from. required: true - name: wiki-rest-api-user-watch-space-spaceKey path: /wiki/rest/api/user/watch/space/{spaceKey} operations: - name: atlassianiswatchingspace method: GET description: Atlassian Get Space Watch Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: spaceKey in: path type: string description: The key of the space to be queried for whether the specified user is required: true - name: atlassianaddspacewatcher method: POST description: Atlassian Add Space Watcher outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Atlassian-Token in: header type: string description: Note, you must add header when making a required: true - name: spaceKey in: path type: string description: The key of the space to add the watcher to. required: true - name: atlassianremovespacewatch method: DELETE description: Atlassian Remove Space Watch outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: spaceKey in: path type: string description: The key of the space to remove the watcher from. required: true exposes: - type: rest namespace: confluence-user-content-watches-rest port: 8080 description: REST adapter for Atlassian Confluence User API — Content Watches. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/wiki/rest/api/user/watch/content/{contentid} name: wiki-rest-api-user-watch-content-contentid description: REST surface for wiki-rest-api-user-watch-content-contentId. operations: - method: GET name: atlassiangetcontentwatchstatus description: Atlassian Get Content Watch Status call: confluence-user-content-watches.atlassiangetcontentwatchstatus with: contentId: rest.contentId outputParameters: - type: object mapping: $. - method: POST name: atlassianaddcontentwatcher description: Atlassian Add Content Watcher call: confluence-user-content-watches.atlassianaddcontentwatcher with: contentId: rest.contentId outputParameters: - type: object mapping: $. - method: DELETE name: atlassianremovecontentwatcher description: Atlassian Remove Content Watcher call: confluence-user-content-watches.atlassianremovecontentwatcher with: X-Atlassian-Token: rest.X-Atlassian-Token contentId: rest.contentId outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/user/watch/label/{labelname} name: wiki-rest-api-user-watch-label-labelname description: REST surface for wiki-rest-api-user-watch-label-labelName. operations: - method: GET name: atlassianiswatchinglabel description: Atlassian Get Label Watch Status call: confluence-user-content-watches.atlassianiswatchinglabel with: labelName: rest.labelName outputParameters: - type: object mapping: $. - method: POST name: atlassianaddlabelwatcher description: Atlassian Add Label Watcher call: confluence-user-content-watches.atlassianaddlabelwatcher with: X-Atlassian-Token: rest.X-Atlassian-Token labelName: rest.labelName outputParameters: - type: object mapping: $. - method: DELETE name: atlassianremovelabelwatcher description: Atlassian Remove Label Watcher call: confluence-user-content-watches.atlassianremovelabelwatcher with: labelName: rest.labelName outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/user/watch/space/{spacekey} name: wiki-rest-api-user-watch-space-spacekey description: REST surface for wiki-rest-api-user-watch-space-spaceKey. operations: - method: GET name: atlassianiswatchingspace description: Atlassian Get Space Watch Status call: confluence-user-content-watches.atlassianiswatchingspace with: spaceKey: rest.spaceKey outputParameters: - type: object mapping: $. - method: POST name: atlassianaddspacewatcher description: Atlassian Add Space Watcher call: confluence-user-content-watches.atlassianaddspacewatcher with: X-Atlassian-Token: rest.X-Atlassian-Token spaceKey: rest.spaceKey outputParameters: - type: object mapping: $. - method: DELETE name: atlassianremovespacewatch description: Atlassian Remove Space Watch call: confluence-user-content-watches.atlassianremovespacewatch with: spaceKey: rest.spaceKey outputParameters: - type: object mapping: $. - type: mcp namespace: confluence-user-content-watches-mcp port: 9090 transport: http description: MCP adapter for Atlassian Confluence User API — Content Watches. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-get-content-watch-status description: Atlassian Get Content Watch Status hints: readOnly: true destructive: false idempotent: true call: confluence-user-content-watches.atlassiangetcontentwatchstatus with: contentId: tools.contentId outputParameters: - type: object mapping: $. - name: atlassian-add-content-watcher description: Atlassian Add Content Watcher hints: readOnly: false destructive: false idempotent: false call: confluence-user-content-watches.atlassianaddcontentwatcher with: contentId: tools.contentId outputParameters: - type: object mapping: $. - name: atlassian-remove-content-watcher description: Atlassian Remove Content Watcher hints: readOnly: false destructive: true idempotent: true call: confluence-user-content-watches.atlassianremovecontentwatcher with: X-Atlassian-Token: tools.X-Atlassian-Token contentId: tools.contentId outputParameters: - type: object mapping: $. - name: atlassian-get-label-watch-status description: Atlassian Get Label Watch Status hints: readOnly: true destructive: false idempotent: true call: confluence-user-content-watches.atlassianiswatchinglabel with: labelName: tools.labelName outputParameters: - type: object mapping: $. - name: atlassian-add-label-watcher description: Atlassian Add Label Watcher hints: readOnly: false destructive: false idempotent: false call: confluence-user-content-watches.atlassianaddlabelwatcher with: X-Atlassian-Token: tools.X-Atlassian-Token labelName: tools.labelName outputParameters: - type: object mapping: $. - name: atlassian-remove-label-watcher description: Atlassian Remove Label Watcher hints: readOnly: false destructive: true idempotent: true call: confluence-user-content-watches.atlassianremovelabelwatcher with: labelName: tools.labelName outputParameters: - type: object mapping: $. - name: atlassian-get-space-watch-status description: Atlassian Get Space Watch Status hints: readOnly: true destructive: false idempotent: true call: confluence-user-content-watches.atlassianiswatchingspace with: spaceKey: tools.spaceKey outputParameters: - type: object mapping: $. - name: atlassian-add-space-watcher description: Atlassian Add Space Watcher hints: readOnly: false destructive: false idempotent: false call: confluence-user-content-watches.atlassianaddspacewatcher with: X-Atlassian-Token: tools.X-Atlassian-Token spaceKey: tools.spaceKey outputParameters: - type: object mapping: $. - name: atlassian-remove-space-watch description: Atlassian Remove Space Watch hints: readOnly: false destructive: true idempotent: true call: confluence-user-content-watches.atlassianremovespacewatch with: spaceKey: tools.spaceKey outputParameters: - type: object mapping: $.