API constructor subpage template

Remove before publishing

Title and slug

An API constructor subpage should have a title of NameOfTheParentInterface + "." + NameOfTheParentInterface + "()". For example, the Request() constructor has a title of Request.Request().

The Slug (the last segment at the end of the URL) should be filled in as NameOfTheParentInterface without the parentheses, so Request()'s slug is Request.

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.


In an API constructor subpage, you need to include the following tags (see the Tags section at the bottom of the editor UI): API, Reference, Constructor, the name of the API (e.g. WebVR), the name of the parent interface (e.g. IDBIndex), 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 method with a {{Compat()}} macro call.


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.


This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. 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 constructor, and saying what it does. This should ideally be 1 or 2 short sentences. You could copy most of this from the constructor's summary on the corresponding API reference page.


Fill in a syntax box, according to the guidance in our syntax sections article.


parameter1 Optional
Include a brief description of the parameter and what it does here. Include one term and definition for each parameter. If the parameter is not optional, remove the {{optional_inline}} macro call.

Return value

Include a description of the constructor's return value, including data type and what it represents. This is normally just "An instance of the NameOfTheParentInterface object."


Include a list of all the exceptions that the constructor can raise, along with descriptions of how that exception is raised. Include one term and definition for each exception.


Fill in a simple example that nicely shows a typical usage of the constructor, 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


Specification Status Comment
The definition of 'NameOfTheConstructor' in that specification.
Unknown Initial definition.

Browser compatibility

No compatibility data found for path.to.feature.NameOfTheConstructor.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

See also

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