Other APIs

Web UI options

Skype for Web allows configuring various server-side settings for the connected account. This table shows how UI options map to flags and options:

Setting Value Flags/options
Notifications tab
Notifications ON 21=OFF
Sounds ON 22=OFF
Messaging tab
Web link previews ON 11=OFF
YouTube player ON 12=ON
@mention notifications ON 13=OFF
Enable image paste (removed) ON 14=ON
Typing indicator ON 20=OFF
Emoticon suggestions ON 23=ON
Show emoticons ON 24=OFF
Show animated emoticons ON 25=OFF
Show large emoticons ON 26=OFF
Pin favorites (removed) ON 27=OFF
Privacy tab
Allow calls from... [1] Anyone OPT_SKYPE_CALL_POLICY=0
Contacts only OPT_SKYPE_CALL_POLICY=2
Allow video and screen sharing from... Anyone 15=OFF, 16=OFF
Contacts only 15=ON, 16=OFF
Nobody 15=OFF, 16=ON
Personalization tab    
Dark theme ON 28=ON
[1]This setting uses the named options APIs, all others use flags.
GET https://flagsapi.skype.com/api/v1

Retrieve all flags set for the current user.

[1, 12, 14, 15]
PUT https://flagsapi.skype.com/api/v1/(int: id)

Set (enable) a flag.

Parameters
  • id -- flag identifier
DELETE https://flagsapi.skype.com/api/v1/(int: id)

Clear (disable) a flag.

Parameters
  • id -- flag identifier
GET https://api.skype.com/users/(str: id)/options/(str: option)

Get an option's value. One of optionInt, optionBin or optionStr will be set in the response.

Parameters
  • id -- user identifier of connected account
  • option -- option name
{"optionInt": 0, "optionName": "OPT_SKYPE_NAME", "optionBin": null, "optionStr": null}
POST https://api.skype.com/users/(str: id)/options/(str: option)

Set an option's value.

Note

There are probably stringValue and binaryValue form fields too, but no options of those types currently exist.

Parameters
  • id -- user identifier of connected account
  • option -- option name
Form Parameters
  • integerValue -- new value to set

Profile and services

The people settings endpoint provides another interface for setting account-wide options. Currently the only known one here is Skype.AutoBuddy, for automatically adding address book contacts to the Skype contact list.

GET https://people.directory.live.com/people/account/settings

Retrieve all set options.

Note

Skype.AutoBuddy is only returned if true. The value is also returned as a string.

Request Headers
  • X-AppId -- 5c7a1e34-3a23-4a36-b2e6-7aa15be85f07
  • X-SerializeAs -- purejson
{"Settings": [{"Name": "Skype.AutoBuddy", "Value": "true"}]}
POST https://people.directory.live.com/people/account/settings

Update one or more options.

Note

Boolean values are passed as booleans here, despite being retrieved as a string.

Request Headers
  • X-AppId -- 5c7a1e34-3a23-4a36-b2e6-7aa15be85f07
  • X-SerializeAs -- purejson
Request JSON Array of Objects
  • Settings -- subset of data to add or edit

The profile provides access to contact email addresses and phone numbers on the account.

GET https://pf.directory.live.com/profile/mine/System.ShortCircuitProfile.json

Retrieve all profile information for the connected account.

Request Headers
  • PS-ApplicationId -- 5c7a1e34-3a23-4a36-b2e6-7aa15be85f07
{"TraceGraph": null,
 "Views": [{"Attributes": [{"Acl": null,
                            "Name": "PersonalContactProfile.Emails",
                            "Value": [{"Acl": null,
                                       "AddSearchableApplications": null,
                                       "DeleteSearchableApplications": null,
                                       "HasSearchableApplications": true,
                                       "Label": "Email_Other",
                                       "Name": "fred.adams@live.co.uk",
                                       "Searchable": true,
                                       "SearchableApplications": [{"Name": "Skype"}],
                                       "Source": "Msa",
                                       "State": "Verified"}]},
                           {"Acl": null,
                            "Name": "PersonalContactProfile.Emails.LastModified",
                            "Value": "/Date(1451606400000)/"},
                           {"Acl": null,
                            "Name": "PhoneVerificationQosAlert",
                            "Value": 0},
                           {"Acl": null,
                            "Name": "PersonalContactProfile.Phones",
                            "Value": [{"Acl": "",
                                       "AddSearchableApplications": null,
                                       "Country": "UK-44",
                                       "CountryName": "UK",
                                       "DeleteSearchableApplications": null,
                                       "HasSearchableApplications": false,
                                       "Label": "Phone_Other",
                                       "Name": "07012345678",
                                       "Searchable": false,
                                       "SearchableApplications": [],
                                       "Source": "Msa",
                                       "State": "Verified",
                                       "SuggestedVerifyMethod": "Sms"}]}],
            "Id": {"Cid": "-9000000000000000000", "Puid": null}}]}
POST https://pf.directory.live.com/profile/mine/System.ShortCircuitProfile.json

Make changes to a part of the profile information.

Request Headers
  • PS-ApplicationId -- 5c7a1e34-3a23-4a36-b2e6-7aa15be85f07
Request JSON Array of Objects
  • Attributes -- subset of data to add or edit

Services are additional or paid featured applied to an account, such as voicemail, local numbers, and Skype minutes.

GET https://consumer.entitlement.skype.com/users/(string: id)/services

Retrieve a list of all active services.

Query Parameters
  • id -- user identifier of connected account
Request Headers
  • Accept -- application/json; ver=3.0
[{"active": false,
  "attributes": {"currency": "GBP"},
  "balance": 0,
  "balanceFormatted": "£0.00",
  "end": null,
  "href": "/users/fred.2/services/pstn",
  "id": "pstn",
  "reset": null,
  "service": "pstn",
  "start": null},
 {"active": true,
  "end": "2036-01-01T00:00:00+00:00",
  "href": "/users/fred.2/services/voicemail",
  "id": "voicemail",
  "reset": null,
  "service": "voicemail",
  "start": "2016-01-01T00:00:00+00:00"},
 {"active": true,
  "end": "2016-01-01T00:00:00+00:00",
  "href": "/users/fred.2/services/pstn_transfer",
  "id": "pstn_transfer",
  "reset": null,
  "service": "pstn_transfer",
  "start": "2016-01-01T00:00:00+00:00"},
 {"active": true,
  "attributes": {"monthly_minutes": 60,
                 "package": "api_300-region-landline-world-60"},
  "balance": 60,
  "data": {"calling_plan": "api_300-region-landline-world",
           "href": "/offers/calling-legacy/skus/package-api_300-region-landline-world-60/subscriptions/package-api_300-region-landline-world-60-1m",
           "nameFormatted": "World minutes for Office 365 60 mins 1 month"},
  "end": "2017-01-01T00:00:00+00:00",
  "href": "/users/fred.2/services/package.api_300-region-landline-world-60",
  "id": "package.api_300-region-landline-world-60",
  "quota": 60,
  "reset": "2016-02-01T00:00:00+00:00",
  "service": "package",
  "start": "2016-01-01T00:00:00+00:00"}]
GET https://consumer.entitlement.skype.com/users/(string: id)/services/(string: service)

Fetch details for a single service.

Query Parameters
  • id -- user identifier of connected account
  • service -- active service identifier
Request Headers
  • Accept -- application/json; ver=3.0
{"active": false,
 "attributes": {"currency": "GBP"},
 "balance": 0,
 "balanceFormatted": "£0.00",
 "end": null,
 "href": "/users/fred.2/services/pstn",
 "id": "pstn",
 "reset": null,
 "service": "pstn",
 "start": null}

URL scanning

On Skype for Web, URLs in messages are displayed as rich block links containing a thumbnail and blurb.

GET https://urlp.asm.skype.com/v1/url/info
Query Parameters
  • url -- address to ping for info
{"category": "generic",
 "content_type": "text/html",
 "description": "Search the world's information, including webpages, images, videos and more.",
 "favicon": "https://eus1-urlp.secure.skypeassets.com/static/google-32x32.ico",
 "favicon_meta": {"height": 32, "width": 32},
 "site": "www.google.com",
 "size": "-1",
 "status_code": "200",
 "thumbnail": "https://eus1-urlp.secure.skypeassets.com/static/google-90x90.png",
 "thumbnail_meta": {"height": 90, "width": 90},
 "title": "Google",
 "url": "http://google.com/",
 "user_pic": ""}

Static resources

Skype provides a single JSON file containing all emoticons, animations and videos. Each release (i.e. when any resources are added or removed) has a different hash.

GET https://static-asm.secure.skypeassets.com/pes/v1/configs/(string: hash)/views/en

Retrieve a list of all resources, along with their shortcuts and visibility.

Parameters
  • hash -- version identifier for the static set

Tracking

There appears to be several analytics/tracking tools in place on Skype for Web, from the following domains:

  • browser.pipe.aria.microsoft.com
  • c1.microsoft.com
  • go.trouter.io and *.drip.trouter.io
  • pipe.skype.com