API
Overview

API

The current article is a general introduction of how to make requests to the FeatBit REST API, for a complete list of the APIs and how to use each of them, we have made a redoc powered document available at https://app-api.featbit.co/docs/index.html (opens in a new tab). If you are running FeatBit locally or on your server, you can also point to the url: URL_OF_API_SERVER/docs. For example, the url should be http://localhost:5000/docs (opens in a new tab) if you are running FeatBit on your local machine without https.

Authentication

All REST API resources are authenticated with either personal or service access tokens. Other authentication mechanisms are not supported. You can manage personal access tokens on Integration/Access tokens page.

Authentication using request header

The only way to authenticate with the API is by adding an Authorization header containing your access token to your requests. The value of the Authorization header must be your access token. To learn how to add this header, please refer to Using FeatBit REST API.

Representations

All resources expect and return JSON response bodies. Error responses also send a JSON body. To learn more about the error format of the API, read Errors.

In practice this means that you always get a response with a Content-Type header set to application/json.

In addition, request bodies for PATCH, POST, and PUT requests must be encoded as JSON with a Content-Type header set to application/json.

Errors

The API always returns errors in a common format. Here's an example:

{
    "success": false,
    "errors": [
        "Unauthorized"
    ],
    "data": null
}

The errors indicates the general class of error.

CORS

The FeatBit API supports Cross Origin Resource Sharing (CORS) for AJAX requests from any origin. If an Origin header is given in a request, it will be echoed as an explicitly allowed origin. Otherwise the request returns a wildcard, Access-Control-Allow-Origin: *. For more information on CORS, read the CORS W3C Recommendation (opens in a new tab). Example CORS headers might look like:

Access-Control-Allow-Headers: Accept, Content-Type, Content-Length, Accept-Encoding, Authorization
Access-Control-Allow-Methods: OPTIONS, GET, DELETE, PATCH
Access-Control-Allow-Origin: *
Access-Control-Max-Age: 300

You can make authenticated CORS calls just as you would make same-origin calls, using either access token authentication. You should never expose your access tokens to untrusted entities.