Skip to content
GET /v1/meta

Spec

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/triangle-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/triangle-api/v1/meta" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/triangle-api/v1/meta", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/triangle-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/triangle-api/v1/meta",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "notes": "Angles in degrees; side a is opposite angle A. SSA can be ambiguous — a second_solution is returned when one exists.",
        "service": "triangle-api",
        "formulae": {
            "shoelace": "½|ax(by−cy)+bx(cy−ay)+cx(ay−by)|",
            "heron_area": "√(s(s−a)(s−b)(s−c)), s = (a+b+c)/2",
            "law_of_sines": "a/sinA = b/sinB = c/sinC",
            "law_of_cosines": "a² = b² + c² − 2bc·cosA"
        },
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/right": "Right-triangle solver from any two of leg_a, leg_b, hypotenuse, angle.",
            "GET /v1/solve": "Solve a triangle from three values (SSS, SAS, ASA, AAS or SSA).",
            "GET /v1/points": "Sides, angles, area and centroid from three vertices."
        },
        "description": "Triangle solver: solve any triangle from SSS, SAS, ASA, AAS or the ambiguous SSA case; a dedicated right-triangle solver; and a triangle from three cartesian points."
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:07.392Z",
        "request_id": "a516dc07-849d-45eb-9f77-e461fcb4eab2"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}