Get Started

Quickstart

Learn how to authenticate to the Public API and make your first request.

Example integration

1 Generate a Secret key

Go to the settings page and generate a secret key.

Important: Keep your secret keys secure and never expose them in client-side code.

2 Authorization

Use the secret key to exchange for an access token.

curl --request POST \
  --url https://api.public.com/userapiauthservice/personal/access-tokens \
  --header 'Content-Type: application/json' \
  --data '{
  "validityInMinutes": 123,
  "secret": "YOUR_SECRET_KEY"
}'

Receive an access token in the response:

{
  "accessToken": "YOUR_ACCESS_TOKEN"
}

Subsequently you use the accessToken to authenticate any API request:

Authorization: Bearer YOUR_ACCESS_TOKEN

3 Making your first request

Here's how to make your first API request to get account information:

curl --request GET \
  --url https://api.public.com/userapigateway/trading/account \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  --header 'Content-Type: application/json'

4 Response format

A successful response will return a JSON object with the account information:

{
  "accounts": [
    {
      "accountId": "string",
      "accountType": "BROKERAGE",
      "optionsLevel": "NONE",
      "brokerageAccountType": "CASH",
      "tradePermissions": "BUY_AND_SELL"
    }
  ]
}

5 Error handling

The API returns standard HTTP status codes. Here are some common error responses:

401 Unauthorized

Invalid or missing access token

{
  "error": "Unauthorized",
  "message": "Invalid access token"
}
400 Bad Request

Invalid request parameters

{
  "error": "Bad Request",
  "message": "Error message"
}