We know you are a bunch of amazing, creative people and we want to give you the chance to shine. If you have any idea for an extension or a plugin you'd like to develop for Bitport, register your project now and contact us for a free month of Bitport Premium for development purposes! For any good extensions and plugins, you manage to develop for Bitport, we will give you up to a year of the Bitport premium plan.
If you have any questions about the development process or if you want the free premium month, send us a message here.

Authentication and Access

1. Application registration

Register your new application at https://bitport.io/api/create-application

You can find list of your current applications at https://bitport.io/api/list-of-applications

2. Obtaining an access token (OAuth Token)

a) Redirect users who wish to authenticate to https://api.bitport.io/v2/oauth2/authorize?response_type=code&client_id=YOUR_APPLICATION_ID

b) If a user accepts, he will be redirected back to https://YOUR_REDIRECT_URI/?code=GENERATED_CODE

c) In the next step, your server will make a POST request (with content type application/x-www-form-urlencoded) for: https://api.bitport.io/v2/oauth2/access-token with parameters client_id=YOUR_APPLICATION_ID&client_secret=YOUR_APPLICATION_SECRET&grant_type=authorization_code&code=CODE_FROM_PREVIEW_STEP.

Response: {'access_token': ACCESS_TOKEN}

TIP: If you are building an application for a device where the user is usually not logged in to Bitport.io, please ask the user to visit http://bitport.io/get-access to obtain the code (USER_CODE), thanks to which you can get access_token. You will acquire the access token by sending POST request (with content type application/x-www-form-urlencoded) for:https://api.bitport.io/v2/oauth2/access-token with parameters client_id=YOUR_APPLICATION_ID&client_secret=YOUR_APPLICATION_SECRET&grant_type=code&code=USER_CODE

3. Using API

You're ready to use the API.
All methods are listed here. The endpoint is https://api.bitport.io/v2/
Methods are always called with the header "Authorization: Bearer ACCESS_TOKEN".

Responses and Errors

All successful responses will look like this:

{ "status" => "success", "data" => [ data... ], "errors" => null }

All error responses will look like this:

{ "status" => "error", "data" => null, "errors" => [ { 'message': message..., 'code': 101 } ] }