naftiko: 1.0.0-alpha2 info: label: Core — access-groups description: 'Core — access-groups. 8 operations. Lead operation: Get an access group by slug. Self-contained Naftiko capability covering one business surface.' tags: - Scalar - access-groups created: '2026-05-20' modified: '2026-05-20' binds: - namespace: env keys: SCALAR_API_KEY: SCALAR_API_KEY capability: consumes: - type: http namespace: core-access-groups baseUri: https://example.com description: Core — access-groups business capability. Self-contained, no shared references. resources: - name: v1-access-groups-slug path: /v1/access-groups/{slug} operations: - name: getv1accessgroupsslug method: GET description: Get an access group by slug outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: slug in: path type: string description: path parameter slug. required: true - name: v1-access-groups path: /v1/access-groups operations: - name: postv1accessgroups method: POST description: Creates an access group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-access-groups-uid path: /v1/access-groups/{uid} operations: - name: deletev1accessgroupsuid method: DELETE description: Deletes an access group by UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: patchv1accessgroupsuid method: PATCH description: Updates an access group by UID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v1-access-groups-uid-emails path: /v1/access-groups/{uid}/emails operations: - name: postv1accessgroupsuidemails method: POST description: Adds a new email to an access group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletev1accessgroupsuidemails method: DELETE description: Removes an existing email from an access group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v1-access-groups-uid-domains path: /v1/access-groups/{uid}/domains operations: - name: postv1accessgroupsuiddomains method: POST description: Adds a new domain to an access group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletev1accessgroupsuiddomains method: DELETE description: Removes an existing domain from an access group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid in: path type: string description: path parameter uid. required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: core-access-groups-rest port: 8080 description: REST adapter for Core — access-groups. One resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/access-groups/{slug} name: v1-access-groups-slug description: REST surface for v1-access-groups-slug. operations: - method: GET name: getv1accessgroupsslug description: Get an access group by slug call: core-access-groups.getv1accessgroupsslug with: slug: rest.slug outputParameters: - type: object mapping: $. - path: /v1/v1/access-groups name: v1-access-groups description: REST surface for v1-access-groups. operations: - method: POST name: postv1accessgroups description: Creates an access group call: core-access-groups.postv1accessgroups with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/access-groups/{uid} name: v1-access-groups-uid description: REST surface for v1-access-groups-uid. operations: - method: DELETE name: deletev1accessgroupsuid description: Deletes an access group by UID call: core-access-groups.deletev1accessgroupsuid with: uid: rest.uid outputParameters: - type: object mapping: $. - method: PATCH name: patchv1accessgroupsuid description: Updates an access group by UID call: core-access-groups.patchv1accessgroupsuid with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/access-groups/{uid}/emails name: v1-access-groups-uid-emails description: REST surface for v1-access-groups-uid-emails. operations: - method: POST name: postv1accessgroupsuidemails description: Adds a new email to an access group call: core-access-groups.postv1accessgroupsuidemails with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletev1accessgroupsuidemails description: Removes an existing email from an access group call: core-access-groups.deletev1accessgroupsuidemails with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/access-groups/{uid}/domains name: v1-access-groups-uid-domains description: REST surface for v1-access-groups-uid-domains. operations: - method: POST name: postv1accessgroupsuiddomains description: Adds a new domain to an access group call: core-access-groups.postv1accessgroupsuiddomains with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletev1accessgroupsuiddomains description: Removes an existing domain from an access group call: core-access-groups.deletev1accessgroupsuiddomains with: uid: rest.uid body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: core-access-groups-mcp port: 9090 transport: http description: MCP adapter for Core — access-groups. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: scalar-getv1accessgroupsslug description: Get an access group by slug hints: readOnly: true destructive: false idempotent: true call: core-access-groups.getv1accessgroupsslug with: slug: tools.slug outputParameters: - type: object mapping: $. - name: scalar-postv1accessgroups description: Creates an access group hints: readOnly: false destructive: false idempotent: false call: core-access-groups.postv1accessgroups with: body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deletev1accessgroupsuid description: Deletes an access group by UID hints: readOnly: false destructive: true idempotent: true call: core-access-groups.deletev1accessgroupsuid with: uid: tools.uid outputParameters: - type: object mapping: $. - name: scalar-patchv1accessgroupsuid description: Updates an access group by UID hints: readOnly: false destructive: false idempotent: false call: core-access-groups.patchv1accessgroupsuid with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1accessgroupsuidemails description: Adds a new email to an access group hints: readOnly: false destructive: false idempotent: false call: core-access-groups.postv1accessgroupsuidemails with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deletev1accessgroupsuidemails description: Removes an existing email from an access group hints: readOnly: false destructive: true idempotent: true call: core-access-groups.deletev1accessgroupsuidemails with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-postv1accessgroupsuiddomains description: Adds a new domain to an access group hints: readOnly: false destructive: false idempotent: false call: core-access-groups.postv1accessgroupsuiddomains with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $. - name: scalar-deletev1accessgroupsuiddomains description: Removes an existing domain from an access group hints: readOnly: false destructive: true idempotent: true call: core-access-groups.deletev1accessgroupsuiddomains with: uid: tools.uid body: tools.body outputParameters: - type: object mapping: $.