API reference page template

Remove before publishing

Title and slug

An API reference page should have a Title of Name of the interface the page is about. For example, the Request interface page has a title of Request.

The Slug (the last segment at the end of the URL) should also be filled in as Name of the interface the page is about, so Request's slug is Request. This is usually filled in for you automatically.

Top macros

There are five macro calls at the top of the template by default. You should update or delete them according to the advice below:

  • {{draft()}} — this generates a Draft banner that indicates that the page is not yet complete, and should only be removed when the first draft of the page is completely finished. After it is ready to be published, you can remove this.
  • {{SeeCompatTable}} — this generates a This is an experimental technology banner that indicates the technology is experimental). If the technology you are documenting is not experimental, you can remove this. If it is experimental, and the technology is hidden behind a pref in Firefox, you should also fill in an entry for it in the Experimental features in Firefox page.
  • {{securecontext_header}} — this generates a Secure context banner that indicates the technology is only available in a secure context. If it isn't, then you can remove the macro call. If it is, then you should also fill in an entry for it in the Features restricted to secure contexts page.
  • {{deprecated_header}} — this generates a Deprecated banner that indicates the technology is deprecated. If it isn't, then you can remove the macro call.
  • {{APIRef("GroupDataName")}} — this generates the left hand reference sidebar showing quick reference links related to the current page. For example, every page in the WebVR API has the same sidebar, which points to the other pages in the API. To generate the correct sidebar for your API, you need to add a GroupData entry to our KumaScript GitHub repo, and include the entry's name inside the macro call in place of GroupDataName. See our API reference sidebars guide for information on how to do this.

Tags

In an API reference page, you need to include the following tags (see the Tags section at the bottom of the editor UI): API, Reference, Interface, the name of the API (e.g. WebVR), the name of the interface (e.g. Request), Experimental (if the technology is experimental), Secure context (if it is available in a secure context only), and Deprecated (if it is deprecated).

Optionally, you can elect to include some other tags that effective represent terms people might search for when looking for information on that technology. For example on WebVR interface pages we include VR and Virtual reality.

Browser compatibility

To fill in the browser compat data, you first need to fill in an entry for the API into our Browser compat data repo — see our guide on how to do this.

Once that is done, you can show the compat data for the interface with a {{Compat()}} macro call.

Draft
This page is not complete.

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Deprecated
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The summary paragraph — start by naming the interface, saying what API it is part of, and saying what it does. This should ideally be 1 or 2 short sentences. You could copy most of this from the Interface's summary on the corresponding API landing page.

Constructor

NameOfTheInterface.NameOfTheInterface
Creates a new instance of the NameOfTheInterface object.

Properties

Also inherits properties from its parent interface, NameOfParentInterface. (Note: If the interface doesn't inherit from another interface, remove this whole line.)

NameOfTheInterface.property1 Read only
Include a brief description of the property and what it does here. Include one term and definition for each property. If the property is not readonly/experimental/deprecated, remove the relevant macro calls.
NameOfTheInterface.property2
etc.

Event handlers

NameOfTheInterface.eventhandler1
Include a brief description of the evet handler and what it does here. Include one term and definition for each event handler.

Methods

Also inherits methods from its parent interface, NameOfParentInterface. (Note: If the interface doesn't inherit from another interface, remove this whole line.)

NameOfTheInterface.method1
Include a brief description of the method and what it does here. Include one term and definition for each method. If the method is not experimental/deprecated, remove the relevant macro calls.
NameOfTheInterface.method2
etc.

Examples

Fill in a simple example that nicely shows a typical usage of the interfaces, then perhaps some more complex examples (see our guide on how to add code examples for more information).

my code block

And/or include a list of links to useful code samples that live elsewhere:

  • x
  • y
  • z

Specifications

Specification Status Comment
Unknown
The definition of 'NameOfTheFeature' in that specification.
Unknown Defines blah blah feature. If no other specs define specific subfeatures of this interface, you can delete this table row.
Unknown
The definition of 'NameOfTheInterface' in that specification.
Unknown Initial definition.

Browser compatibility

No compatibility data found. Please contribute data for "path.to.feature.NameOfTheInterface" (depth: 1) to the MDN compatibility data repository.

See also

  • Include list of
  • other links related to
  • this API that might
  • be useful

Document Tags and Contributors

 Contributors to this page: chrisdavidmills
 Last updated by: chrisdavidmills,