naftiko: 1.0.0-alpha2 info: label: Atlassian Confluence Content API — Restrictions description: 'Atlassian Confluence Content API — Restrictions. 15 operations. Lead operation: Atlassian Get Restrictions. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Restrictions 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-restrictions baseUri: '' description: Atlassian Confluence Content API — Restrictions business capability. Self-contained, no shared references. resources: - name: wiki-rest-api-content-id-restriction path: /wiki/rest/api/content/{id}/restriction operations: - name: getrestrictions method: GET description: Atlassian Get Restrictions 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 restrictions. required: true - name: expand in: query type: array description: A multi-value parameter indicating which properties of the content - name: start in: query type: integer description: The starting index of the users and groups in the returned restrictions. - name: limit in: query type: integer description: The maximum number of users and the maximum number of groups, in the - name: updaterestrictions method: PUT description: Atlassian Update Restrictions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content to update restrictions for. required: true - name: expand in: query type: array description: A multi-value parameter indicating which properties of the content - name: body in: body type: object description: Request body (JSON). required: true - name: addrestrictions method: POST description: Atlassian Add Restrictions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content to add restrictions to. required: true - name: expand in: query type: array description: A multi-value parameter indicating which properties of the content - name: body in: body type: object description: Request body (JSON). required: true - name: deleterestrictions method: DELETE description: Atlassian Delete Restrictions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content to remove restrictions from. required: true - name: expand in: query type: array description: A multi-value parameter indicating which properties of the content - name: wiki-rest-api-content-id-restriction-byOperation path: /wiki/rest/api/content/{id}/restriction/byOperation operations: - name: getrestrictionsbyoperation method: GET description: Atlassian Get Restrictions by Operation 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 restrictions. required: true - name: expand in: query type: array description: A multi-value parameter indicating which properties of the content - name: wiki-rest-api-content-id-restriction-byOperation-operationKey path: /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey} operations: - name: getrestrictionsforoperation method: GET description: Atlassian Get Restrictions for Operation 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 restrictions. required: true - name: operationKey in: path type: string description: The operation type of the restrictions to be returned. required: true - name: expand in: query type: array description: A multi-value parameter indicating which properties of the content - name: start in: query type: integer description: The starting index of the users and groups in the returned restrictions. - name: limit in: query type: integer description: The maximum number of users and the maximum number of groups, in the - name: wiki-rest-api-content-id-restriction-byOperation-operationKey-byGroupId-groupId path: /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/byGroupId/{groupId} operations: - name: getcontentrestrictionstatusforgroup method: GET description: Atlassian Get Content Restriction Status for Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: groupId in: path type: string description: The id of the group to be queried for whether the content restriction required: true - name: addgrouptocontentrestriction method: PUT description: Atlassian Add Group to Content Restriction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: groupId in: path type: string description: The groupId of the group to add to the content restriction. required: true - name: removegroupfromcontentrestriction method: DELETE description: Atlassian Remove Group From Content Restriction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: groupId in: path type: string description: The id of the group to remove from the content restriction. required: true - name: wiki-rest-api-content-id-restriction-byOperation-operationKey-group-groupName path: /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/group/{groupName} operations: - name: getcontentrestrictionstatusforgroup method: GET description: Atlassian Get Content Restriction Status for Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: groupName in: path type: string description: The name of the group to be queried for whether the content restriction required: true - name: addgrouptocontentrestriction method: PUT description: Atlassian Add Group to Content Restriction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: groupName in: path type: string description: The name of the group to add to the content restriction. required: true - name: removegroupfromcontentrestriction method: DELETE description: Atlassian Remove Group From Content Restriction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: groupName in: path type: string description: The name of the group to remove from the content restriction. required: true - name: wiki-rest-api-content-id-restriction-byOperation-operationKey-user path: /wiki/rest/api/content/{id}/restriction/byOperation/{operationKey}/user operations: - name: getcontentrestrictionstatusforuser method: GET description: Atlassian Get Content Restriction Status for User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that is restricted. required: true - name: addusertocontentrestriction method: PUT description: Atlassian Add User to Content Restriction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true - name: removeuserfromcontentrestriction method: DELETE description: Atlassian Remove User From Content Restriction outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID of the content that the restriction applies to. required: true - name: operationKey in: path type: string description: The operation that the restriction applies to. required: true authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: confluence-content-restrictions-rest port: 8080 description: REST adapter for Atlassian Confluence Content API — Restrictions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/wiki/rest/api/content/{id}/restriction name: wiki-rest-api-content-id-restriction description: REST surface for wiki-rest-api-content-id-restriction. operations: - method: GET name: getrestrictions description: Atlassian Get Restrictions call: confluence-content-restrictions.getrestrictions with: id: rest.id expand: rest.expand start: rest.start limit: rest.limit outputParameters: - type: object mapping: $. - method: PUT name: updaterestrictions description: Atlassian Update Restrictions call: confluence-content-restrictions.updaterestrictions with: id: rest.id expand: rest.expand body: rest.body outputParameters: - type: object mapping: $. - method: POST name: addrestrictions description: Atlassian Add Restrictions call: confluence-content-restrictions.addrestrictions with: id: rest.id expand: rest.expand body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleterestrictions description: Atlassian Delete Restrictions call: confluence-content-restrictions.deleterestrictions with: id: rest.id expand: rest.expand outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/restriction/byoperation name: wiki-rest-api-content-id-restriction-byoperation description: REST surface for wiki-rest-api-content-id-restriction-byOperation. operations: - method: GET name: getrestrictionsbyoperation description: Atlassian Get Restrictions by Operation call: confluence-content-restrictions.getrestrictionsbyoperation with: id: rest.id expand: rest.expand outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/restriction/byoperation/{operationkey} name: wiki-rest-api-content-id-restriction-byoperation-operationkey description: REST surface for wiki-rest-api-content-id-restriction-byOperation-operationKey. operations: - method: GET name: getrestrictionsforoperation description: Atlassian Get Restrictions for Operation call: confluence-content-restrictions.getrestrictionsforoperation with: id: rest.id operationKey: rest.operationKey expand: rest.expand start: rest.start limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/restriction/byoperation/{operationkey}/bygroupid/{groupid} name: wiki-rest-api-content-id-restriction-byoperation-operationkey-bygroupid-groupid description: REST surface for wiki-rest-api-content-id-restriction-byOperation-operationKey-byGroupId-groupId. operations: - method: GET name: getcontentrestrictionstatusforgroup description: Atlassian Get Content Restriction Status for Group call: confluence-content-restrictions.getcontentrestrictionstatusforgroup with: id: rest.id operationKey: rest.operationKey groupId: rest.groupId outputParameters: - type: object mapping: $. - method: PUT name: addgrouptocontentrestriction description: Atlassian Add Group to Content Restriction call: confluence-content-restrictions.addgrouptocontentrestriction with: id: rest.id operationKey: rest.operationKey groupId: rest.groupId outputParameters: - type: object mapping: $. - method: DELETE name: removegroupfromcontentrestriction description: Atlassian Remove Group From Content Restriction call: confluence-content-restrictions.removegroupfromcontentrestriction with: id: rest.id operationKey: rest.operationKey groupId: rest.groupId outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/restriction/byoperation/{operationkey}/group/{groupname} name: wiki-rest-api-content-id-restriction-byoperation-operationkey-group-groupname description: REST surface for wiki-rest-api-content-id-restriction-byOperation-operationKey-group-groupName. operations: - method: GET name: getcontentrestrictionstatusforgroup description: Atlassian Get Content Restriction Status for Group call: confluence-content-restrictions.getcontentrestrictionstatusforgroup with: id: rest.id operationKey: rest.operationKey groupName: rest.groupName outputParameters: - type: object mapping: $. - method: PUT name: addgrouptocontentrestriction description: Atlassian Add Group to Content Restriction call: confluence-content-restrictions.addgrouptocontentrestriction with: id: rest.id operationKey: rest.operationKey groupName: rest.groupName outputParameters: - type: object mapping: $. - method: DELETE name: removegroupfromcontentrestriction description: Atlassian Remove Group From Content Restriction call: confluence-content-restrictions.removegroupfromcontentrestriction with: id: rest.id operationKey: rest.operationKey groupName: rest.groupName outputParameters: - type: object mapping: $. - path: /v1/wiki/rest/api/content/{id}/restriction/byoperation/{operationkey}/user name: wiki-rest-api-content-id-restriction-byoperation-operationkey-user description: REST surface for wiki-rest-api-content-id-restriction-byOperation-operationKey-user. operations: - method: GET name: getcontentrestrictionstatusforuser description: Atlassian Get Content Restriction Status for User call: confluence-content-restrictions.getcontentrestrictionstatusforuser with: id: rest.id operationKey: rest.operationKey outputParameters: - type: object mapping: $. - method: PUT name: addusertocontentrestriction description: Atlassian Add User to Content Restriction call: confluence-content-restrictions.addusertocontentrestriction with: id: rest.id operationKey: rest.operationKey outputParameters: - type: object mapping: $. - method: DELETE name: removeuserfromcontentrestriction description: Atlassian Remove User From Content Restriction call: confluence-content-restrictions.removeuserfromcontentrestriction with: id: rest.id operationKey: rest.operationKey outputParameters: - type: object mapping: $. - type: mcp namespace: confluence-content-restrictions-mcp port: 9090 transport: http description: MCP adapter for Atlassian Confluence Content API — Restrictions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-get-restrictions description: Atlassian Get Restrictions hints: readOnly: true destructive: false idempotent: true call: confluence-content-restrictions.getrestrictions with: id: tools.id expand: tools.expand start: tools.start limit: tools.limit outputParameters: - type: object mapping: $. - name: atlassian-update-restrictions description: Atlassian Update Restrictions hints: readOnly: false destructive: false idempotent: true call: confluence-content-restrictions.updaterestrictions with: id: tools.id expand: tools.expand body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-add-restrictions description: Atlassian Add Restrictions hints: readOnly: false destructive: false idempotent: false call: confluence-content-restrictions.addrestrictions with: id: tools.id expand: tools.expand body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-restrictions description: Atlassian Delete Restrictions hints: readOnly: false destructive: true idempotent: true call: confluence-content-restrictions.deleterestrictions with: id: tools.id expand: tools.expand outputParameters: - type: object mapping: $. - name: atlassian-get-restrictions-operation description: Atlassian Get Restrictions by Operation hints: readOnly: true destructive: false idempotent: true call: confluence-content-restrictions.getrestrictionsbyoperation with: id: tools.id expand: tools.expand outputParameters: - type: object mapping: $. - name: atlassian-get-restrictions-operation-2 description: Atlassian Get Restrictions for Operation hints: readOnly: true destructive: false idempotent: true call: confluence-content-restrictions.getrestrictionsforoperation with: id: tools.id operationKey: tools.operationKey expand: tools.expand start: tools.start limit: tools.limit outputParameters: - type: object mapping: $. - name: atlassian-get-content-restriction-status description: Atlassian Get Content Restriction Status for Group hints: readOnly: true destructive: false idempotent: true call: confluence-content-restrictions.getcontentrestrictionstatusforgroup with: id: tools.id operationKey: tools.operationKey groupId: tools.groupId outputParameters: - type: object mapping: $. - name: atlassian-add-group-content-restriction description: Atlassian Add Group to Content Restriction hints: readOnly: false destructive: false idempotent: true call: confluence-content-restrictions.addgrouptocontentrestriction with: id: tools.id operationKey: tools.operationKey groupId: tools.groupId outputParameters: - type: object mapping: $. - name: atlassian-remove-group-content-restriction description: Atlassian Remove Group From Content Restriction hints: readOnly: false destructive: true idempotent: true call: confluence-content-restrictions.removegroupfromcontentrestriction with: id: tools.id operationKey: tools.operationKey groupId: tools.groupId outputParameters: - type: object mapping: $. - name: atlassian-get-content-restriction-status-2 description: Atlassian Get Content Restriction Status for Group hints: readOnly: true destructive: false idempotent: true call: confluence-content-restrictions.getcontentrestrictionstatusforgroup with: id: tools.id operationKey: tools.operationKey groupName: tools.groupName outputParameters: - type: object mapping: $. - name: atlassian-add-group-content-restriction-2 description: Atlassian Add Group to Content Restriction hints: readOnly: false destructive: false idempotent: true call: confluence-content-restrictions.addgrouptocontentrestriction with: id: tools.id operationKey: tools.operationKey groupName: tools.groupName outputParameters: - type: object mapping: $. - name: atlassian-remove-group-content-restriction-2 description: Atlassian Remove Group From Content Restriction hints: readOnly: false destructive: true idempotent: true call: confluence-content-restrictions.removegroupfromcontentrestriction with: id: tools.id operationKey: tools.operationKey groupName: tools.groupName outputParameters: - type: object mapping: $. - name: atlassian-get-content-restriction-status-3 description: Atlassian Get Content Restriction Status for User hints: readOnly: true destructive: false idempotent: true call: confluence-content-restrictions.getcontentrestrictionstatusforuser with: id: tools.id operationKey: tools.operationKey outputParameters: - type: object mapping: $. - name: atlassian-add-user-content-restriction description: Atlassian Add User to Content Restriction hints: readOnly: false destructive: false idempotent: true call: confluence-content-restrictions.addusertocontentrestriction with: id: tools.id operationKey: tools.operationKey outputParameters: - type: object mapping: $. - name: atlassian-remove-user-content-restriction description: Atlassian Remove User From Content Restriction hints: readOnly: false destructive: true idempotent: true call: confluence-content-restrictions.removeuserfromcontentrestriction with: id: tools.id operationKey: tools.operationKey outputParameters: - type: object mapping: $.