naftiko: 1.0.0-alpha2 info: label: Palo Alto Networks SASE Tenancy Service API — Tenant Service Groups description: 'Palo Alto Networks SASE Tenancy Service API — Tenant Service Groups. 6 operations. Lead operation: Palo Alto Networks List Tenant Service Groups. Self-contained Naftiko capability covering one Palo Alto Networks business surface.' tags: - Palo Alto Networks - Tenant Service Groups created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PALO_ALTO_NETWORKS_API_KEY: PALO_ALTO_NETWORKS_API_KEY capability: consumes: - type: http namespace: palo-alto-sase-tenancy-tenant-service-groups baseUri: https://api.sase.paloaltonetworks.com/tenancy/v1 description: Palo Alto Networks SASE Tenancy Service API — Tenant Service Groups business capability. Self-contained, no shared references. resources: - name: tenant-service-groups path: /tenant-service-groups operations: - name: listtenantservicegroups method: GET description: Palo Alto Networks List Tenant Service Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: parent_id in: query type: string description: Filter to return only direct children of the specified TSG ID. - name: offset in: query type: integer description: Number of results to skip for pagination. - name: limit in: query type: integer description: Maximum number of TSGs to return per page. - name: createtenantservicegroup method: POST description: Palo Alto Networks Create Tenant Service Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: tenant-service-groups-tsg_id path: /tenant-service-groups/{tsg_id} operations: - name: gettenantservicegroup method: GET description: Palo Alto Networks Get Tenant Service Group Details outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tsg_id in: path type: string description: Unique identifier of the Tenant Service Group. required: true - name: updatetenantservicegroup method: PUT description: Palo Alto Networks Update Tenant Service Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tsg_id in: path type: string description: Unique identifier of the Tenant Service Group to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletetenantservicegroup method: DELETE description: Palo Alto Networks Delete Tenant Service Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tsg_id in: path type: string description: Unique identifier of the Tenant Service Group to delete. required: true - name: tenant-service-groups-tsg_id-children path: /tenant-service-groups/{tsg_id}/children operations: - name: listchildtenantservicegroups method: GET description: Palo Alto Networks List Child Tenant Service Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: tsg_id in: path type: string description: Unique identifier of the parent Tenant Service Group. required: true - name: offset in: query type: integer description: Number of results to skip for pagination. - name: limit in: query type: integer description: Maximum number of child TSGs to return. authentication: type: bearer token: '{{env.PALO_ALTO_NETWORKS_API_KEY}}' exposes: - type: rest namespace: palo-alto-sase-tenancy-tenant-service-groups-rest port: 8080 description: REST adapter for Palo Alto Networks SASE Tenancy Service API — Tenant Service Groups. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/tenant-service-groups name: tenant-service-groups description: REST surface for tenant-service-groups. operations: - method: GET name: listtenantservicegroups description: Palo Alto Networks List Tenant Service Groups call: palo-alto-sase-tenancy-tenant-service-groups.listtenantservicegroups with: parent_id: rest.parent_id offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createtenantservicegroup description: Palo Alto Networks Create Tenant Service Group call: palo-alto-sase-tenancy-tenant-service-groups.createtenantservicegroup with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/tenant-service-groups/{tsg-id} name: tenant-service-groups-tsg-id description: REST surface for tenant-service-groups-tsg_id. operations: - method: GET name: gettenantservicegroup description: Palo Alto Networks Get Tenant Service Group Details call: palo-alto-sase-tenancy-tenant-service-groups.gettenantservicegroup with: tsg_id: rest.tsg_id outputParameters: - type: object mapping: $. - method: PUT name: updatetenantservicegroup description: Palo Alto Networks Update Tenant Service Group call: palo-alto-sase-tenancy-tenant-service-groups.updatetenantservicegroup with: tsg_id: rest.tsg_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletetenantservicegroup description: Palo Alto Networks Delete Tenant Service Group call: palo-alto-sase-tenancy-tenant-service-groups.deletetenantservicegroup with: tsg_id: rest.tsg_id outputParameters: - type: object mapping: $. - path: /v1/tenant-service-groups/{tsg-id}/children name: tenant-service-groups-tsg-id-children description: REST surface for tenant-service-groups-tsg_id-children. operations: - method: GET name: listchildtenantservicegroups description: Palo Alto Networks List Child Tenant Service Groups call: palo-alto-sase-tenancy-tenant-service-groups.listchildtenantservicegroups with: tsg_id: rest.tsg_id offset: rest.offset limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: palo-alto-sase-tenancy-tenant-service-groups-mcp port: 9090 transport: http description: MCP adapter for Palo Alto Networks SASE Tenancy Service API — Tenant Service Groups. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: palo-alto-networks-list-tenant description: Palo Alto Networks List Tenant Service Groups hints: readOnly: true destructive: false idempotent: true call: palo-alto-sase-tenancy-tenant-service-groups.listtenantservicegroups with: parent_id: tools.parent_id offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $. - name: palo-alto-networks-create-tenant description: Palo Alto Networks Create Tenant Service Group hints: readOnly: false destructive: false idempotent: false call: palo-alto-sase-tenancy-tenant-service-groups.createtenantservicegroup with: body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-get-tenant description: Palo Alto Networks Get Tenant Service Group Details hints: readOnly: true destructive: false idempotent: true call: palo-alto-sase-tenancy-tenant-service-groups.gettenantservicegroup with: tsg_id: tools.tsg_id outputParameters: - type: object mapping: $. - name: palo-alto-networks-update-tenant description: Palo Alto Networks Update Tenant Service Group hints: readOnly: false destructive: false idempotent: true call: palo-alto-sase-tenancy-tenant-service-groups.updatetenantservicegroup with: tsg_id: tools.tsg_id body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-delete-tenant description: Palo Alto Networks Delete Tenant Service Group hints: readOnly: false destructive: true idempotent: true call: palo-alto-sase-tenancy-tenant-service-groups.deletetenantservicegroup with: tsg_id: tools.tsg_id outputParameters: - type: object mapping: $. - name: palo-alto-networks-list-child description: Palo Alto Networks List Child Tenant Service Groups hints: readOnly: true destructive: false idempotent: true call: palo-alto-sase-tenancy-tenant-service-groups.listchildtenantservicegroups with: tsg_id: tools.tsg_id offset: tools.offset limit: tools.limit outputParameters: - type: object mapping: $.