elmah.io API
elmah · Cloud
This is the public REST API for elmah.io. All of the integrations communicates with elmah.io through this API. For additional help getting started with the API, visit the following help articles: [Using the REST API](https://docs.elmah.io/using-the-rest-api/) [Where is my API key?](https://docs.elmah.io/where-is-my-api-key/) [Where is my log ID?](https://docs.elmah.io/where-is-my-log-id/) [How to configure API key permissions](https://docs.elmah.io/ho
Authentication
Sample Requests
Required permission: `deployments_read`
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/elmah.io/v3/v3/deployments"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/elmah.io/v3/v3/deployments",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/elmah.io/v3/v3/deployments'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/elmah.io/v3/v3/deployments"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/elmah.io/v3/v3/deployments")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/elmah.io/v3/v3/deployments";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Required permission: `logs_read`
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/elmah.io/v3/v3/logs"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/elmah.io/v3/v3/logs",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/elmah.io/v3/v3/logs'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/elmah.io/v3/v3/logs"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/elmah.io/v3/v3/logs")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/elmah.io/v3/v3/logs";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Required permission: `uptimechecks_read`
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/elmah.io/v3/v3/uptimechecks"
import requests
response = requests.get(
"https://api.apis.guru/v2/specs/elmah.io/v3/v3/uptimechecks",
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/elmah.io/v3/v3/uptimechecks'; const response = await fetch(url); const data = await response.json(); console.log(data);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/elmah.io/v3/v3/uptimechecks"
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/elmah.io/v3/v3/uptimechecks")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/elmah.io/v3/v3/uptimechecks";
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with elmah.io API?
elmah.io API is a Cloud API. Developers commonly use cloud APIs for:
- provisioning and managing cloud infrastructure
- automating deployments and container orchestration
- monitoring uptime and performance metrics
- managing storage buckets and databases
- setting up auto-scaling and load balancing
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. elmah.io API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?