naftiko: 1.0.0-alpha2 info: label: New Relic — Post description: 'New Relic — Post. 8 operations. Lead operation: New Relic Post Alerts Channels. Self-contained Naftiko capability covering one New Relic business surface.' tags: - New Relic - Post created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NEW_RELIC_API_KEY: NEW_RELIC_API_KEY capability: consumes: - type: http namespace: new-relic-post baseUri: https://api.newrelic.com/v2 description: New Relic — Post business capability. Self-contained, no shared references. resources: - name: alerts_channels.json path: /alerts_channels.json operations: - name: postalertschannels method: POST description: New Relic Post Alerts Channels outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_ids in: query type: array description: Policy IDs to associate with channel - name: body in: body type: object description: Request body (JSON). required: true - name: alerts_conditions-policies-policy_id}.json path: /alerts_conditions/policies/{policy_id}.json operations: - name: postalertsconditionspoliciespolicyid method: POST description: New Relic Post Alerts Conditions Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: integer description: Alerts policy required: true - name: body in: body type: object description: Request body (JSON). required: true - name: alerts_external_service_conditions-policies-policy_id}.json path: /alerts_external_service_conditions/policies/{policy_id}.json operations: - name: postalertsexternalserviceconditionspoliciespolicyid method: POST description: New Relic Post Alerts External Service Conditions Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: integer description: Alerts policy ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: alerts_location_failure_conditions-policies-policy_id}.json path: /alerts_location_failure_conditions/policies/{policy_id}.json operations: - name: postalertslocationfailureconditionspoliciespolicyid method: POST description: New Relic Post Alerts Location Failure Conditions Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: integer description: Alerts policy failure condition required: true - name: location_failure_condition in: path type: integer description: Alerts policy ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: alerts_nrql_conditions-policies-policy_id}.json path: /alerts_nrql_conditions/policies/{policy_id}.json operations: - name: postalertsnrqlconditionspoliciespolicyid method: POST description: New Relic Post Alerts Nrql Conditions Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: integer description: Alerts policy ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: alerts_policies.json path: /alerts_policies.json operations: - name: postalertspolicies method: POST description: New Relic Post Alerts Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: alerts_synthetics_conditions-policies-policy_id}.json path: /alerts_synthetics_conditions/policies/{policy_id}.json operations: - name: postalertssyntheticsconditionspoliciespolicyid method: POST description: New Relic Post Alerts Synthetics Conditions Policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: policy_id in: path type: integer description: Alerts policy ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: applications-application_id-deployments.json path: /applications/{application_id}/deployments.json operations: - name: postapplicationsiddeployments method: POST description: New Relic Post Applications Deployments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: application_id in: path type: integer description: Application ID required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Api-Key value: '{{env.NEW_RELIC_API_KEY}}' placement: header exposes: - type: rest namespace: new-relic-post-rest port: 8080 description: REST adapter for New Relic — Post. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/alerts-channels-json name: alerts-channels-json description: REST surface for alerts_channels.json. operations: - method: POST name: postalertschannels description: New Relic Post Alerts Channels call: new-relic-post.postalertschannels with: policy_ids: rest.policy_ids body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts-conditions/policies/policy-id-json name: alerts-conditions-policies-policy-id-json description: REST surface for alerts_conditions-policies-policy_id}.json. operations: - method: POST name: postalertsconditionspoliciespolicyid description: New Relic Post Alerts Conditions Policies call: new-relic-post.postalertsconditionspoliciespolicyid with: policy_id: rest.policy_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts-external-service-conditions/policies/policy-id-json name: alerts-external-service-conditions-policies-policy-id-json description: REST surface for alerts_external_service_conditions-policies-policy_id}.json. operations: - method: POST name: postalertsexternalserviceconditionspoliciespolicyid description: New Relic Post Alerts External Service Conditions Policies call: new-relic-post.postalertsexternalserviceconditionspoliciespolicyid with: policy_id: rest.policy_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts-location-failure-conditions/policies/policy-id-json name: alerts-location-failure-conditions-policies-policy-id-json description: REST surface for alerts_location_failure_conditions-policies-policy_id}.json. operations: - method: POST name: postalertslocationfailureconditionspoliciespolicyid description: New Relic Post Alerts Location Failure Conditions Policies call: new-relic-post.postalertslocationfailureconditionspoliciespolicyid with: policy_id: rest.policy_id location_failure_condition: rest.location_failure_condition body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts-nrql-conditions/policies/policy-id-json name: alerts-nrql-conditions-policies-policy-id-json description: REST surface for alerts_nrql_conditions-policies-policy_id}.json. operations: - method: POST name: postalertsnrqlconditionspoliciespolicyid description: New Relic Post Alerts Nrql Conditions Policies call: new-relic-post.postalertsnrqlconditionspoliciespolicyid with: policy_id: rest.policy_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts-policies-json name: alerts-policies-json description: REST surface for alerts_policies.json. operations: - method: POST name: postalertspolicies description: New Relic Post Alerts Policies call: new-relic-post.postalertspolicies with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts-synthetics-conditions/policies/policy-id-json name: alerts-synthetics-conditions-policies-policy-id-json description: REST surface for alerts_synthetics_conditions-policies-policy_id}.json. operations: - method: POST name: postalertssyntheticsconditionspoliciespolicyid description: New Relic Post Alerts Synthetics Conditions Policies call: new-relic-post.postalertssyntheticsconditionspoliciespolicyid with: policy_id: rest.policy_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/applications/{application-id}/deployments-json name: applications-application-id-deployments-json description: REST surface for applications-application_id-deployments.json. operations: - method: POST name: postapplicationsiddeployments description: New Relic Post Applications Deployments call: new-relic-post.postapplicationsiddeployments with: application_id: rest.application_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: new-relic-post-mcp port: 9090 transport: http description: MCP adapter for New Relic — Post. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: new-relic-post-alerts-channels description: New Relic Post Alerts Channels hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertschannels with: policy_ids: tools.policy_ids body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-alerts-conditions description: New Relic Post Alerts Conditions Policies hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertsconditionspoliciespolicyid with: policy_id: tools.policy_id body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-alerts-external description: New Relic Post Alerts External Service Conditions Policies hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertsexternalserviceconditionspoliciespolicyid with: policy_id: tools.policy_id body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-alerts-location description: New Relic Post Alerts Location Failure Conditions Policies hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertslocationfailureconditionspoliciespolicyid with: policy_id: tools.policy_id location_failure_condition: tools.location_failure_condition body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-alerts-nrql description: New Relic Post Alerts Nrql Conditions Policies hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertsnrqlconditionspoliciespolicyid with: policy_id: tools.policy_id body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-alerts-policies description: New Relic Post Alerts Policies hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertspolicies with: body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-alerts-synthetics description: New Relic Post Alerts Synthetics Conditions Policies hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postalertssyntheticsconditionspoliciespolicyid with: policy_id: tools.policy_id body: tools.body outputParameters: - type: object mapping: $. - name: new-relic-post-applications-deployments description: New Relic Post Applications Deployments hints: readOnly: false destructive: false idempotent: false call: new-relic-post.postapplicationsiddeployments with: application_id: tools.application_id body: tools.body outputParameters: - type: object mapping: $.