WebAPI

WebAPI is a term used to refer to a suite of device compatibility and access APIs that allow Web apps and content to access device hardware (such as battery status or the device vibration hardware), as well as access to data stored on the device (such as the calendar or contacts list). By adding these APIs, we hope to expand what the Web can do today and only proprietary platforms were able to do in the past.

Note: More of this documentation has been written than it looks like; links are not all added yet. We're actively working on improving this and expect to see things much better over the next couple of weeks. See the WebAPI doc status page, where we're tracking work on WebAPI docs.

Note: For a brief explanation of each badge, please see the packaged apps documentation.

Communication APIs

Network Information API
Provides basic information about the current network connection, such as connection speed.
Bluetooth Certification required Non-standard
The WebBluetooth API provides low-level access to the device's Bluetooth hardware.
Mobile Connection API Certification required Non-standard
Exposes information about the device's cellular connectivity, such as signal strength, operator information, and so forth.
Network Stats API Certification required Non-standard
Monitors data usage and exposes this data to privileged applications.
TCP Socket API Privileged Non-standard
Provides low-level sockets and SSL support.
Telephony Certification required Non-standard
Lets apps place and answer phone calls and use the built-in telephony user interface.
WebSMS Certification required Non-standard
Lets apps send and receive SMS text messages, as well as to access and manage the messages stored on the device.
WiFi Information API Certification required Non-standard
A privileged API which provides information about signal strength, the name of the current network, available WiFi networks, and so forth.

Hardware access APIs

Ambient Light Sensor API
Provides access to the ambient light sensor, which lets your app detect the ambient light level in the vicinity of the device.
Battery Status API
Provides information about the battery's charge level and whether or not the device is currently plugged in and charging.
Geolocation API
Provides information about the device's physical location.
Pointer Lock API
Lets apps lock access to the mouse and gain access to movement deltas rather than absolute coordinates; this is great for gaming.
Proximity API
Lets you detect proximity of the device to a nearby object, such as the user's face.
Device Orientation API
Provides notifications when the device's orientation changes.
Screen Orientation API
Provides notifications when the screen's orientation changes. You can also use this API to let your app indicate what orientation it prefers.
Vibration API
Lets apps control the device's vibration hardware for things such as haptic feedback in games. This is not intended for things such as notification vibrations. See the Alarm API for that.
WebFM API installed Non-standard
Provides support for a device's FM radio functionality, if available.
Camera API Certification required Non-standard
Allows apps to take photographs and/or record video using the device's built-in camera.
Power Management API Certification required Non-standard
Lets apps turn on and off the screen, CPU, device power, and so forth. Also provides support for listening for and inspecting resource lock events.

View All...

Data management APIs

FileHandle API Non-standard
Provides support for writable files with locking support.
IndexedDB
Client-side storage of structured data with support for high-performance searches.
Contacts API Privileged
Provides access to the user's contacts database, with support for adding, reading, and modifying contact information.
Device Storage API Privileged Non-standard
Allows apps to create, read, and change files stored in a central location on the device, such as the "pictures" folder on modern desktop platforms or the photo storage on mobile devices.
Settings API Certification required Non-standard
Lets apps examine and change system-wide configuration options that are permanently stored on the device.

Other APIs

Alarm API
Lets apps schedule notifications. Also provides support for automatically launching an app at a specific time.
Simple Push API
Lets the platform send notification messages to specific applications.
Web Notifications
Lets applications send notifications displayed at the system level.
Apps API Non-standard
The Open WebApps API provides support for installing and managing Web apps. In addition, support is provided to let apps determine payment information.
Web Activities Non-standard
Lets an app delegate an activity to another app; for example, an app might ask another app to select (or create) and return a photo. Typically the user is able to configure what apps are used for which activities.
WebPayment API Non-standard
Lets Web content initiate payments and refunds for virtual goods.
Browser API Privileged Non-standard
Provides support for building a Web browser completely using Web technologies (in essence, a browser within a browser).
Idle API Certification required
Lets apps receive notifications when the user is not actively using the device.
Permissions API Certification required Non-standard
Manages app permissions in a centralized location. Used by the Settings app.
Time/Clock API Certification required Non-standard
Provides support for setting the current time. The time zone is set using the Settings API.

WebAPI community

If you need help with these APIs, there are several ways you can talk to other developers making use of them.

Don't forget about the netiquette...

 

Document Tags and Contributors

Last updated by: Sole,