Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours scrolling social media and waste money on things we forget, but won’t spend 30 minutes a day earning certifications that can change our lives.
Master in DevOps, SRE, DevSecOps & MLOps by DevOpsSchool!

Learn from Guru Rajesh Kumar and double your salary in just one year.


Get Started Now!

New Relic API Guide – Step-by-Step Tutorial with Example

Here is a step-by-step tutorial on how to work with the New Relic API, including how to create an alert condition using the API.


šŸš€ New Relic API Guide – Step-by-Step Tutorial with Example (Create Alert)


🧰 Prerequisites

RequirementDescription
āœ… New Relic AccountEnsure you have access to New Relic
āœ… API KeyYou need a Personal API Key (not ingest license)
āœ… Account IDYou can find your Account ID in the top-right profile dropdown in NR One
āœ… curl or PostmanUse curl, Postman, or any HTTP client for making API requests

šŸ“˜ Step 1: Get Your API Key & Account ID


šŸ“˜ Step 2: Understand the API Base URL

Use the GraphQL endpoint for most operations:

https://api.newrelic.com/graphql
Code language: JavaScript (javascript)

Some older REST endpoints (like for alerts) are still at:

https://api.newrelic.com/v2/...
Code language: JavaScript (javascript)

šŸ“˜ Step 3: Create an Alert Policy (REST API)

API Endpoint:

POST https://api.newrelic.com/v2/alerts_policies.json
Code language: JavaScript (javascript)

Headers:

Api-Key: <YOUR_API_KEY>
Content-Type: application/json
Code language: HTTP (http)

Request Body:

{
  "policy": {
    "name": "High CPU Usage Policy",
    "incident_preference": "PER_POLICY"
  }
}
Code language: JSON / JSON with Comments (json)

Example cURL:

curl -X POST 'https://api.newrelic.com/v2/alerts_policies.json' \
  -H 'Api-Key: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
        "policy": {
          "name": "High CPU Usage Policy",
          "incident_preference": "PER_POLICY"
        }
      }'
Code language: PHP (php)

āœ… Response will include id — save this policy_id.


šŸ“˜ Step 4: Create an Alert Condition (e.g., High CPU)

API Endpoint:

POST https://api.newrelic.com/v2/alerts_conditions/policies/<policy_id>.json
Code language: HTML, XML (xml)

Example:

curl -X POST 'https://api.newrelic.com/v2/alerts_conditions/policies/6269799.json' \
  -H 'Api-Key: NRAK-3T8WTXSP4KJSLMG74WHR5I3SSY9' \
  -H 'Content-Type: application/json' \
  -d '{
        "condition": {
          "type": "apm_app_metric",
          "name": "Error Rate Alert for devopsschool",
          "enabled": true,
          "condition_scope": "application",
          "entities": [1508171253],
          "metric": "error_percentage",
          "terms": [
            {
              "duration": "5",
              "operator": "above",
              "priority": "critical",
              "threshold": "5",
              "time_function": "all"
            }
          ]
        }
      }'

Code language: PHP (php)

šŸ” Explanation:

  • "type": "apm_app_metric" — type of monitoring (can also be "infra_metric", "nrql" etc.)
  • "entities" — Application or host ID (can be fetched from other APIs)
  • "metric": "cpu_percent" — Metric name
  • "terms" — Defines the condition (thresholds, duration, etc.)

šŸ“˜ Step 5: Verify the Alert in New Relic UI

  • Go to Alerts & AI → Alert Policies
  • Check if “High CPU Usage Policy” and “CPU Alert” are visible and enabled.

🧠 Bonus: List Alert Policies (Get API)

curl -X GET 'https://api.newrelic.com/v2/alerts_policies.json' \
  -H 'Api-Key: YOUR_API_KEY'
Code language: JavaScript (javascript)

šŸ› ļø Advanced: Create Alerts using NRQL Condition (for Logs or Custom Queries)

Endpoint:

POST https://api.newrelic.com/v2/alerts_nrql_conditions/policies/<policy_id>.json
Code language: HTML, XML (xml)

Example:

curl -X POST "https://api.newrelic.com/v2/alerts_nrql_conditions/policies/123456.json" \
  -H "Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "nrql_condition": {
      "name": "Too many 404s",
      "enabled": true,
      "type": "static",
      "nrql": {
        "query": "SELECT count(*) FROM Log WHERE message LIKE '%404%'"
      },
      "terms": [
        {
          "duration": "5",
          "operator": "above",
          "priority": "critical",
          "threshold": "10",
          "time_function": "all"
        }
      ]
    }
  }'
Code language: PHP (php)

🧾 Summary

StepActionAPI Used
1Create Alert Policy/v2/alerts_policies.json
2Create Metric or NRQL Condition/v2/alerts_conditions/...
3(Optional) Associate NotificationNotification Channels API

Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments

Certification Courses

DevOpsSchool has introduced a series of professional certification courses designed to enhance your skills and expertise in cutting-edge technologies and methodologies. Whether you are aiming to excel in development, security, or operations, these certifications provide a comprehensive learning experience. Explore the following programs:

DevOps Certification, SRE Certification, and DevSecOps Certification by DevOpsSchool

Explore our DevOps Certification, SRE Certification, and DevSecOps Certification programs at DevOpsSchool. Gain the expertise needed to excel in your career with hands-on training and globally recognized certifications.

0
Would love your thoughts, please comment.x
()
x