Return to enstrayed.com

API Documentation

This page was last updated 2025-12-12.


Attention: This page is overdue for a rewrite and the information currently presented may not be accurate.

/api/nowplaying

nowplaying.js
GET

Returns whatever I'm listening to via the Last.fm API in JSON. If ?format=html is used in the URL it will return the same but in HTML. If nothing is playing the JSON response will just have "playing": false.

/api/nowplayingbeta

nowplaying.js
GET

Beta verison of the /nowplaying endpoint. This version will change frequently but presently queries my Jellyfin for what I'm listening to and will return that as JSON. If ?format=html is appended to the URL it will return the same but in HTML. Each line in the HTML response has a class nowPlayingLine[1-4] that can be used to style the text using CSS. See libnowplaying.js:63 for the format of the result.

/api/etyd/*

etyd.js
GET POST DELETE

Retrieves, creates or deletes entries for the etyd.cc URL shortener. Replace * in the URL for the target of the request.

Required Headers (POST, DELETE): Required Body (POST):
{
        "url": "urlValue"
}

/api/sendemail

mailjet.js
POST

Sends an email to the specified recipient, intended for application & automation use.

Required Headers: Required Body:
{
        "recipient": "recipientEmailHere",
        "subject": "emailSubjectHere",
        "message": "emailBodyHere"
}

/ip

ip.js
GET

Returns the IP, country and Cloudflare ray of the request in JSON.

/api/headers

ip.js
GET

Returns all request headers in JSON.

/api/auth/whoami

auth.js:6
GET

Returns JSON with the username of the token owner as well as what scopes the token has access to.

auth.js:23
GET

Redirects the user to ECLS to login. The state parameter can be used to specify how the login flow will behave. The accepted "states" are:

/api/auth/logout

auth.js:40
GET

Invalidates the token used to access the endpoint.