naftiko: 1.0.0-alpha2 info: label: PagerDuty API — Custom Fields description: 'PagerDuty API — Custom Fields. 9 operations. Lead operation: PagerDuty Create a Field. Self-contained Naftiko capability covering one Pagerduty business surface.' tags: - Pagerduty - Custom Fields created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PAGERDUTY_API_KEY: PAGERDUTY_API_KEY capability: consumes: - type: http namespace: pagerduty-custom-fields baseUri: https://api.pagerduty.com description: PagerDuty API — Custom Fields business capability. Self-contained, no shared references. resources: - name: incidents-custom_fields path: /incidents/custom_fields operations: - name: createcustomfieldsfield method: POST description: PagerDuty Create a Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listcustomfieldsfields method: GET description: PagerDuty List Fields outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-custom_fields-field_id path: /incidents/custom_fields/{field_id} operations: - name: getcustomfieldsfield method: GET description: PagerDuty Get a Field outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecustomfieldsfield method: PUT description: PagerDuty Update a Field outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletecustomfieldsfield method: DELETE description: PagerDuty Delete a Field outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-custom_fields-field_id-field_options path: /incidents/custom_fields/{field_id}/field_options operations: - name: createcustomfieldsfieldoption method: POST description: PagerDuty Create a Field Option outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: listcustomfieldsfieldoptions method: GET description: PagerDuty List Field Options outputRawFormat: json outputParameters: - name: result type: object value: $. - name: incidents-custom_fields-field_id-field_options-field_option_id path: /incidents/custom_fields/{field_id}/field_options/{field_option_id} operations: - name: updatecustomfieldsfieldoption method: PUT description: PagerDuty Update a Field Option outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletecustomfieldsfieldoption method: DELETE description: PagerDuty Delete a Field Option outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: Authorization value: '{{env.PAGERDUTY_API_KEY}}' placement: header exposes: - type: rest namespace: pagerduty-custom-fields-rest port: 8080 description: REST adapter for PagerDuty API — Custom Fields. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/incidents/custom-fields name: incidents-custom-fields description: REST surface for incidents-custom_fields. operations: - method: POST name: createcustomfieldsfield description: PagerDuty Create a Field call: pagerduty-custom-fields.createcustomfieldsfield with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listcustomfieldsfields description: PagerDuty List Fields call: pagerduty-custom-fields.listcustomfieldsfields outputParameters: - type: object mapping: $. - path: /v1/incidents/custom-fields/{field-id} name: incidents-custom-fields-field-id description: REST surface for incidents-custom_fields-field_id. operations: - method: GET name: getcustomfieldsfield description: PagerDuty Get a Field call: pagerduty-custom-fields.getcustomfieldsfield outputParameters: - type: object mapping: $. - method: PUT name: updatecustomfieldsfield description: PagerDuty Update a Field call: pagerduty-custom-fields.updatecustomfieldsfield with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecustomfieldsfield description: PagerDuty Delete a Field call: pagerduty-custom-fields.deletecustomfieldsfield outputParameters: - type: object mapping: $. - path: /v1/incidents/custom-fields/{field-id}/field-options name: incidents-custom-fields-field-id-field-options description: REST surface for incidents-custom_fields-field_id-field_options. operations: - method: POST name: createcustomfieldsfieldoption description: PagerDuty Create a Field Option call: pagerduty-custom-fields.createcustomfieldsfieldoption with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listcustomfieldsfieldoptions description: PagerDuty List Field Options call: pagerduty-custom-fields.listcustomfieldsfieldoptions outputParameters: - type: object mapping: $. - path: /v1/incidents/custom-fields/{field-id}/field-options/{field-option-id} name: incidents-custom-fields-field-id-field-options-field-option-id description: REST surface for incidents-custom_fields-field_id-field_options-field_option_id. operations: - method: PUT name: updatecustomfieldsfieldoption description: PagerDuty Update a Field Option call: pagerduty-custom-fields.updatecustomfieldsfieldoption with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletecustomfieldsfieldoption description: PagerDuty Delete a Field Option call: pagerduty-custom-fields.deletecustomfieldsfieldoption outputParameters: - type: object mapping: $. - type: mcp namespace: pagerduty-custom-fields-mcp port: 9090 transport: http description: MCP adapter for PagerDuty API — Custom Fields. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: pagerduty-create-field description: PagerDuty Create a Field hints: readOnly: false destructive: false idempotent: false call: pagerduty-custom-fields.createcustomfieldsfield with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-fields description: PagerDuty List Fields hints: readOnly: true destructive: false idempotent: true call: pagerduty-custom-fields.listcustomfieldsfields outputParameters: - type: object mapping: $. - name: pagerduty-get-field description: PagerDuty Get a Field hints: readOnly: true destructive: false idempotent: true call: pagerduty-custom-fields.getcustomfieldsfield outputParameters: - type: object mapping: $. - name: pagerduty-update-field description: PagerDuty Update a Field hints: readOnly: false destructive: false idempotent: true call: pagerduty-custom-fields.updatecustomfieldsfield with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-delete-field description: PagerDuty Delete a Field hints: readOnly: false destructive: true idempotent: true call: pagerduty-custom-fields.deletecustomfieldsfield outputParameters: - type: object mapping: $. - name: pagerduty-create-field-option description: PagerDuty Create a Field Option hints: readOnly: false destructive: false idempotent: false call: pagerduty-custom-fields.createcustomfieldsfieldoption with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-list-field-options description: PagerDuty List Field Options hints: readOnly: true destructive: false idempotent: true call: pagerduty-custom-fields.listcustomfieldsfieldoptions outputParameters: - type: object mapping: $. - name: pagerduty-update-field-option description: PagerDuty Update a Field Option hints: readOnly: false destructive: false idempotent: true call: pagerduty-custom-fields.updatecustomfieldsfieldoption with: body: tools.body outputParameters: - type: object mapping: $. - name: pagerduty-delete-field-option description: PagerDuty Delete a Field Option hints: readOnly: false destructive: true idempotent: true call: pagerduty-custom-fields.deletecustomfieldsfieldoption outputParameters: - type: object mapping: $.