OSCAR Servers
ICQ and AIM clients of the service's own apps sign in to servers somebody else
runs, some of which the service names. GET /oscar-servers lists those, in the
order to offer them. Clients ask before there is any account, so nothing
authenticates it.
GET /oscar-servers?name=Mandarin&platform=Android&build=729
name, platform and build are the client's, as its hello says
them. All are optional; a client that does not say what it is gets every server.
A build that is no number is answered 400 with invalid_format.
{"ok":true,"servers":[
{"id":"nina","name":"NINA","note":{"en":"nina.chat · you can create an account","ru":"nina.chat · можно создать аккаунт"},"host":"login.oscar.nina.chat","port":5190,"file_proxy":{"host":"ars.oscar.nina.bz","port":5190},"registration":{"type":"oscar","host":"oscore-n01.blue.nina.chat","port":5190,"terms_url":"https://nina.chat/legal/"}},
{"id":"site","name":"Site","host":"oscar.example.org","port":5190,"registration":{"type":"web","url":"https://example.org/register"}}
]}
| Field | Description |
|---|---|
id |
The server on this list |
name |
Its name, the same in every language |
note |
What is said under its name, by primary subtag; absent for nothing |
host, port |
Where accounts sign in |
file_proxy |
The proxy files are offered through, its host and port; absent for none |
registration |
How an account is made there; absent for no way to |
A registration of type oscar is made on the client's own form against its
host and port, with terms_url where the server has terms to accept. One of
type web is made on the page at url, opened in the browser. A client
ignores fields it does not know, and a registration of a type it does not
know, and goes on showing the server.
The answer carries an ETag and Cache-Control: no-cache: a client keeps the
list, shows what it kept, and asks with If-None-Match, answered 304 when
nothing changed. While the server has not read the list yet it answers 503 with
internal_error, which is not an empty list: a client keeps the one it has. An
empty servers means that none is named.
A list changes what a client offers next. It does not change the address of an account already signed in, which that account keeps: nothing told here redirects anybody's password.