Open and update various types of accounts.

ACH Profiles

Create, update, and verify account ACH profiles.


Manage deposit and withdrawal transactions on an account.


Fetch statements, tax documents and trade confirmations for customers.


Manage and test evented webhooks.

Virtual Accounts

Create and update paper trading accounts.

ACAT Transfers

Manage ACAT Transfers on an account.


Examples, response types, property details and explanations.


In the interest of simplicity, we’ve done our best to follow standard REST structures for our APIs. This entails leveraging simple resource endpoints and employing HTTP verbs where possible to make the endpoints intutitive.


All endpoints require authentication and should include the Authorization header and be authenticated using HTTP Basic Authentication. See Authentication.

Path parameters are widely used throughout the API. Mostly for specifying Id’s of ownership. I.e. /a/v1/accounts/54685251/balances would be a request for balances on account 54685251.

Additional parameters may be sent on the query string for GET requests.

GET /a/v1/accounts?filter=approved HTTP/1.1
Authorization: Basic a2FHQTY1c0lsNzlJZFh4cjNsbkdzN0oyQzlDeXdRdEo6dWVlS3pKT0VoMGZoNkRoOA==
Host: api.tradier.com
Connection: close

When submitting POST or PUT requests for creating or updating records all bodies must be valid, well-formed JSON. Typically, it will be the same JSON you can expect for a GET request from the same resource.

For example, to create a new webhook, you would send the following request:

POST /a/v1/webhooks HTTP/1.1
Authorization: Basic a2FHQTY1c0lsNzlJZFh4cjNsbkdzN0oyQzlDeXdRdEo6dWVlS3pKT0VoMGZoNkRoOA==
Content-Type: application/json
Host: api.tradier.com
Connection: close

    "url": "http://tradier.com/example/webhook",