Skip to content
AstroWay/api v2.325.0 · docs
all systems operational

Five-Rune Cross

POST
/runes/five
request.sh
curl -X POST https://api.astroway.info/v1/runes/five \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json" \
-d '{ "seed": 42, "question": "What should I focus on this month?" }'

Five runes in a cross: Present (centre), Past, Future, Help (above), Challenge (below). Reproducible with seed; each rune carries its Old English Rune Poem stanza with our gloss. The layout is modern practice (basis: convention).

fields
string

Comma-separated dotted paths, relative to data, to keep in the response. A path is applied to every element of an array, so planets.name means the name of each planet. Paths that match nothing come back in _fields_unmatched; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer.

Example
planets.name,planets.longitude
precision
integer
<= 15

Round every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute.

Example
4
Idempotency-Key
string
>= 1 characters <= 255 characters /^[\x21-\x7E]+$/

Unique per logical operation, kept across retries. For 24 hours from the first request, a repeat with the same key, method, path, body and query string returns the stored response with Idempotent-Replayed: true and costs 0 credits. The same key with a different body or query string is a 409 IDEMPOTENCY_KEY_REUSED; a repeat while the first is still running is a 409 IDEMPOTENCY_IN_PROGRESS. Only 2xx responses are kept. See /idempotency/.

Example
01HXY2A7ZM0ABCDEF
Media type application/json
object
seed
Any of:
number
question
string
<= 400 characters
allowReversed
boolean
default: true
Example
{
"seed": 42,
"question": "What should I focus on this month?"
}

Successful calculation

Media type application/json
object
ok
boolean
data
object
spread
string
nullable
seed
number
nullable
question
string
nullable
runes
Array<object>
nullable
object
number
number
nullable
slug
string
nullable
name
string
nullable
letter
string
nullable
glyph
string
nullable
aett
string
nullable
meaning
string
nullable
upright
string
nullable
reversed
nullable
element
string
nullable
deity
string
nullable
reversedDrawn
boolean
nullable
poem
object
slug
string
nullable
oeName
string
nullable
oldEnglish
Array<string>
nullable
gloss
string
nullable
position
string
nullable
basis
string
nullable
layout
string
nullable
source
string
nullable
Example
{
"ok": true,
"data": {
"spread": "five-rune-cross",
"seed": 42,
"question": "What should I focus on this month?",
"runes": [
{
"number": 7,
"slug": "gebo",
"name": "Gebo",
"letter": "G",
"glyph": "ᚷ",
"aett": "Freyr",
"meaning": "The matter as it stands now (centre).",
"upright": "gift, partnership, sacred exchange",
"reversed": null,
"element": "air",
"deity": "Odin/Frigg",
"reversedDrawn": false,
"poem": {
"slug": "gebo",
"oeName": "Gyfu",
"oldEnglish": [
"Gyfu gumena byþ gleng and herenys,",
"wraþu and wyrþscype and wræcna gehwam",
"ar and ætwist, ðe byþ oþra leas."
],
"gloss": "Giving brings people honour and praise, support and worth, and gives help and a living to every outcast who has nothing else."
},
"position": "Present"
}
],
"basis": "convention",
"layout": "A cross of five: centre, left, right, above, below. Modern rune-casting practice; the rune poems give no spreads.",
"source": "Poetic Edda + Prose Edda + Flowers 1984 + Paxson 2005; Old English Rune Poem (anonymous, public domain), text as in Dickins, Runic and Heroic Poems (1915); glosses are our own paraphrase"
}
}

Validation error

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Date must be YYYY-MM-DD",
"details": [
{
"path": "date",
"message": "Date must be YYYY-MM-DD"
}
]
}
}

Missing or invalid API key

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid API key"
}
}