Logo

Docs

Info

Get API Info

Fetch branding and capability information for an OpenMusic server.

Endpoint

GET /

Endpoint reference: getInfo

This is the first endpoint a client should call.

It tells the client:

  • how to present the server to the user
  • which OpenMusic version the server targets
  • which required and optional capability families are available

Query Parameters

NameValuesRequired
langlocale stringfalse

If the requested language is unavailable, the server should fall back to en-US.

Response Shape

The info endpoint returns a single Info object wrapped in data.

The object has two top-level parts:

  • branding
  • openmusic
type Info = {
  branding: Branding;
  openmusic: OpenMusicInfo;
};

type InfoResponse = SingleResourceResponse<Info>;

Object references:

Branding

Branding is user-facing metadata for the service.

interface Branding {
  name: string;
  email: string;
  logo: string | null;
  short_name: string | null;
  theme: string | null;
  homepage: string | null;
}

OpenMusic

This part describes the spec version and the supported capability flags.

interface OpenMusicInfo {
  version: string;
  capabilities: {
    info: true;
    search: true;
    song: true;
    download: true;
    stream: boolean;
    albums: boolean;
    artists: boolean;
    playlists: boolean;
    stations: boolean;
    sort: boolean;
    lyrics: boolean;
  };
}

Example Response

{
  "data": {
    "branding": {
      "name": "My Music Service",
      "email": "contact@example.com",
      "logo": "https://example.com/logo.png",
      "short_name": "MMS",
      "theme": "#0066cc",
      "homepage": "https://example.com"
    },
    "openmusic": {
      "version": "1.0.0",
      "capabilities": {
        "info": true,
        "search": true,
        "song": true,
        "download": true,
        "stream": false,
        "albums": true,
        "artists": true,
        "playlists": true,
        "stations": true,
        "sort": true,
        "lyrics": true
      }
    }
  }
}

Responses

StatusContent TypeResponse
200 OKapplication/jsonInfoResponse
500 Internal Server Errorapplication/jsonErrorResponse

On this page