naftiko: 1.0.0-alpha2 info: label: Palo Alto Networks PAN-OS REST API — Objects description: 'Palo Alto Networks PAN-OS REST API — Objects. 20 operations. Lead operation: Palo Alto Networks List Address Groups. Self-contained Naftiko capability covering one Palo Alto Networks business surface.' tags: - Palo Alto Networks - Objects 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-pan-os-rest-objects baseUri: https://{firewall}/restapi/v10.2 description: Palo Alto Networks PAN-OS REST API — Objects business capability. Self-contained, no shared references. resources: - name: Objects-AddressGroups path: /Objects/AddressGroups operations: - name: listaddressgroups method: GET description: Palo Alto Networks List Address Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter by address group name. - name: createaddressgroup method: POST description: Palo Alto Networks Create Address Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the address group to create. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: updateaddressgroup method: PUT description: Palo Alto Networks Update Address Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the address group to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteaddressgroup method: DELETE description: Palo Alto Networks Delete Address Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the address group to delete. required: true - name: Objects-Addresses path: /Objects/Addresses operations: - name: listaddresses method: GET description: Palo Alto Networks List Address Objects outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter by address object name. - name: createaddress method: POST description: Palo Alto Networks Create Address Object outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the address object to create. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: updateaddress method: PUT description: Palo Alto Networks Update Address Object outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the address object to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteaddress method: DELETE description: Palo Alto Networks Delete Address Object outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the address object to delete. required: true - name: Objects-ServiceGroups path: /Objects/ServiceGroups operations: - name: listservicegroups method: GET description: Palo Alto Networks List Service Groups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter by service group name. - name: createservicegroup method: POST description: Palo Alto Networks Create Service Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the service group to create. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: updateservicegroup method: PUT description: Palo Alto Networks Update Service Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the service group to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteservicegroup method: DELETE description: Palo Alto Networks Delete Service Group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the service group to delete. required: true - name: Objects-Services path: /Objects/Services operations: - name: listservices method: GET description: Palo Alto Networks List Service Objects outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter by service object name. - name: createservice method: POST description: Palo Alto Networks Create Service Object outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the service object to create. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: updateservice method: PUT description: Palo Alto Networks Update Service Object outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the service object to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteservice method: DELETE description: Palo Alto Networks Delete Service Object outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the service object to delete. required: true - name: Objects-Tags path: /Objects/Tags operations: - name: listtags method: GET description: Palo Alto Networks List Tags outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Filter by tag name. - name: createtag method: POST description: Palo Alto Networks Create Tag outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the tag to create. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: updatetag method: PUT description: Palo Alto Networks Update Tag outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the tag to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletetag method: DELETE description: Palo Alto Networks Delete Tag outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: Name of the tag to delete. required: true authentication: type: apikey key: X-PAN-KEY value: '{{env.PALO_ALTO_NETWORKS_API_KEY}}' placement: header exposes: - type: rest namespace: palo-alto-pan-os-rest-objects-rest port: 8080 description: REST adapter for Palo Alto Networks PAN-OS REST API — Objects. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/objects/addressgroups name: objects-addressgroups description: REST surface for Objects-AddressGroups. operations: - method: GET name: listaddressgroups description: Palo Alto Networks List Address Groups call: palo-alto-pan-os-rest-objects.listaddressgroups with: name: rest.name outputParameters: - type: object mapping: $. - method: POST name: createaddressgroup description: Palo Alto Networks Create Address Group call: palo-alto-pan-os-rest-objects.createaddressgroup with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updateaddressgroup description: Palo Alto Networks Update Address Group call: palo-alto-pan-os-rest-objects.updateaddressgroup with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteaddressgroup description: Palo Alto Networks Delete Address Group call: palo-alto-pan-os-rest-objects.deleteaddressgroup with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/objects/addresses name: objects-addresses description: REST surface for Objects-Addresses. operations: - method: GET name: listaddresses description: Palo Alto Networks List Address Objects call: palo-alto-pan-os-rest-objects.listaddresses with: name: rest.name outputParameters: - type: object mapping: $. - method: POST name: createaddress description: Palo Alto Networks Create Address Object call: palo-alto-pan-os-rest-objects.createaddress with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updateaddress description: Palo Alto Networks Update Address Object call: palo-alto-pan-os-rest-objects.updateaddress with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteaddress description: Palo Alto Networks Delete Address Object call: palo-alto-pan-os-rest-objects.deleteaddress with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/objects/servicegroups name: objects-servicegroups description: REST surface for Objects-ServiceGroups. operations: - method: GET name: listservicegroups description: Palo Alto Networks List Service Groups call: palo-alto-pan-os-rest-objects.listservicegroups with: name: rest.name outputParameters: - type: object mapping: $. - method: POST name: createservicegroup description: Palo Alto Networks Create Service Group call: palo-alto-pan-os-rest-objects.createservicegroup with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updateservicegroup description: Palo Alto Networks Update Service Group call: palo-alto-pan-os-rest-objects.updateservicegroup with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteservicegroup description: Palo Alto Networks Delete Service Group call: palo-alto-pan-os-rest-objects.deleteservicegroup with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/objects/services name: objects-services description: REST surface for Objects-Services. operations: - method: GET name: listservices description: Palo Alto Networks List Service Objects call: palo-alto-pan-os-rest-objects.listservices with: name: rest.name outputParameters: - type: object mapping: $. - method: POST name: createservice description: Palo Alto Networks Create Service Object call: palo-alto-pan-os-rest-objects.createservice with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updateservice description: Palo Alto Networks Update Service Object call: palo-alto-pan-os-rest-objects.updateservice with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteservice description: Palo Alto Networks Delete Service Object call: palo-alto-pan-os-rest-objects.deleteservice with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/objects/tags name: objects-tags description: REST surface for Objects-Tags. operations: - method: GET name: listtags description: Palo Alto Networks List Tags call: palo-alto-pan-os-rest-objects.listtags with: name: rest.name outputParameters: - type: object mapping: $. - method: POST name: createtag description: Palo Alto Networks Create Tag call: palo-alto-pan-os-rest-objects.createtag with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatetag description: Palo Alto Networks Update Tag call: palo-alto-pan-os-rest-objects.updatetag with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletetag description: Palo Alto Networks Delete Tag call: palo-alto-pan-os-rest-objects.deletetag with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: palo-alto-pan-os-rest-objects-mcp port: 9090 transport: http description: MCP adapter for Palo Alto Networks PAN-OS REST API — Objects. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: palo-alto-networks-list-address description: Palo Alto Networks List Address Groups hints: readOnly: true destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.listaddressgroups with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-create-address description: Palo Alto Networks Create Address Group hints: readOnly: false destructive: false idempotent: false call: palo-alto-pan-os-rest-objects.createaddressgroup with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-update-address description: Palo Alto Networks Update Address Group hints: readOnly: false destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.updateaddressgroup with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-delete-address description: Palo Alto Networks Delete Address Group hints: readOnly: false destructive: true idempotent: true call: palo-alto-pan-os-rest-objects.deleteaddressgroup with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-list-address-2 description: Palo Alto Networks List Address Objects hints: readOnly: true destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.listaddresses with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-create-address-2 description: Palo Alto Networks Create Address Object hints: readOnly: false destructive: false idempotent: false call: palo-alto-pan-os-rest-objects.createaddress with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-update-address-2 description: Palo Alto Networks Update Address Object hints: readOnly: false destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.updateaddress with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-delete-address-2 description: Palo Alto Networks Delete Address Object hints: readOnly: false destructive: true idempotent: true call: palo-alto-pan-os-rest-objects.deleteaddress with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-list-service description: Palo Alto Networks List Service Groups hints: readOnly: true destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.listservicegroups with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-create-service description: Palo Alto Networks Create Service Group hints: readOnly: false destructive: false idempotent: false call: palo-alto-pan-os-rest-objects.createservicegroup with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-update-service description: Palo Alto Networks Update Service Group hints: readOnly: false destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.updateservicegroup with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-delete-service description: Palo Alto Networks Delete Service Group hints: readOnly: false destructive: true idempotent: true call: palo-alto-pan-os-rest-objects.deleteservicegroup with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-list-service-2 description: Palo Alto Networks List Service Objects hints: readOnly: true destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.listservices with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-create-service-2 description: Palo Alto Networks Create Service Object hints: readOnly: false destructive: false idempotent: false call: palo-alto-pan-os-rest-objects.createservice with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-update-service-2 description: Palo Alto Networks Update Service Object hints: readOnly: false destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.updateservice with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-delete-service-2 description: Palo Alto Networks Delete Service Object hints: readOnly: false destructive: true idempotent: true call: palo-alto-pan-os-rest-objects.deleteservice with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-list-tags description: Palo Alto Networks List Tags hints: readOnly: true destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.listtags with: name: tools.name outputParameters: - type: object mapping: $. - name: palo-alto-networks-create-tag description: Palo Alto Networks Create Tag hints: readOnly: false destructive: false idempotent: false call: palo-alto-pan-os-rest-objects.createtag with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-update-tag description: Palo Alto Networks Update Tag hints: readOnly: false destructive: false idempotent: true call: palo-alto-pan-os-rest-objects.updatetag with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: palo-alto-networks-delete-tag description: Palo Alto Networks Delete Tag hints: readOnly: false destructive: true idempotent: true call: palo-alto-pan-os-rest-objects.deletetag with: name: tools.name outputParameters: - type: object mapping: $.