Making requests

BASE URL

All API access are over HTTPS, and accessed from the sync.bankin.com/v2 domain.
Any non-secure requests are met with a redirect (HTTP 301) to the HTTPS equivalent URI.

HTTP VERBS

As per RESTful design patterns, the Bridge API implements following HTTP verbs:

  • GET - Read resources
  • POST - Create new resources
  • PUT - Modify existing resources
  • DELETE - Remove resources

PARAMETERS

Many API methods take parameters.
For GET requests, any parameters not specified as a segment in the path can be passed as an HTTP query string parameter:

curl "https://sync.bankin.com/v2/users/f3cce1aa-be0d-11e5-af4e-104c2aec0665/transactions?limit=100&before=123456789" \
	-H 'Bankin-Version: VERSION'

In this example, the f3cce1aa-be0d-11e5-af4e-104c2aec0665 value is provided for the :uuid parameter in the path while :limit and :before are passed in the query string.

For POST, PUT, and DELETE requests, parameters not included in the URL should be encoded as JSON with a Content-Type header of application/json:

curl "https://sync.bankin.com/v2/items" \
	-X POST \
	-H 'Authorization: Bearer TOP_SECRET_ACCESS_TOKEN' \
	-H 'Bankin-Version: VERSION' \
	-H 'Content-Type: application/json' \
	-d '{"bank_id":123,"credentials": {...}}'

STATUS CODES

All responses use standard HTTP status codes.

Usually, codes in the 2xx range indicate success, codes in the 4xx range are for client-related failures, and 5xx codes are for Bankin-related issues (these are rare).

  • 200 OK Successful request.
  • 201 Created New resource created.
  • 202 Accepted The request has been accepted for processing, but the processing has not been completed.
  • 204 No Content Resource deleted.
  • 400 Bad Request The request is malformed. Check the parameters or the syntax.
  • 401 Unauthorized Couldn’t authenticate the request.
  • 403 Forbidden The request is not allowed.
  • 404 Not Found No such resource.
  • 409 Conflict The resource already exists.
  • 415 Unsupported media type The resource requires Content-Type: application/json header and a JSON body.
  • 422 Unprocessable entity The provided JSON is not valid.
  • 429 Too Many Requests Too many requests hit the API too quickly. See Rate limiting.
  • 500 Internal Server Error Something went wrong on our end (these are rare).