Partner API
You don't need to experiment against live data. We can set up a dedicated Sandbox environment for you, so you can build, test, break things, and try again without affecting production. Just reach out to the Halogen team and we'll get one ready for you.
When you're ready to start integrating, manage your API
access from the Partner Portal. Use
/query when you want to read data, and
/command when you want to make changes.
You can call the API directly over HTTP, or use one of our official client libraries to get up and running a little faster.
Start building
Your API endpoint and official SDKs, ready to use.
go get github.com/halogencapital/partner-go
Authentication
Set up API access
Set up your API key from the Partner Portal, then use the generated Key ID when connecting to Halogen.
-
Sign in to the Partner Portal Log in to the Partner Portal with your account.
-
Go to API Keys Open Settings → API Keys to view and manage your API access.
-
Create a new API key Create a Certificate Signing Request (CSR), then provide it when setting up your API key.
-
Use your Key ID Once your API key is created, Halogen will generate a Key ID for it. You can find the Key ID anytime in the Partner Portal and use it with your private key when making API requests.
Keep your private key somewhere safe and never share it. You'll use it to sign requests from your application.
mkdir -p .key
openssl ecparam -name prime256v1 -genkey -noout -out .key/ec_private_key.pem
openssl req -new -key .key/ec_private_key.pem -out .key/ec_csr.pem -sha256 \
-subj "/C=MY/ST=State/L=City/O=Organization/OU=Unit/CN=example.com"
mkdir -p .key
openssl req -new -newkey rsa:4096 -nodes \
-keyout .key/rsa_private_key.pem \
-out .key/rsa_csr.pem \
-subj "/C=MY/ST=State/L=City/O=Organization/OU=Unit/CN=example.com"
API Endpoints
Execute read-only operations to retrieve data from the API
Request payload
Response body
Successful Response
Error Responses
Request payload
Response body
Successful Response
Error Responses
Idempotency
The API supports idempotency to help avoid duplicate side effects when the same operation is submitted more than once using the same idempotency key. When multiple requests are received with the same idempotency key:
- If the original request completed successfully, the API does not perform the operation again and instead returns the stored response.
- If the original request failed, the request may be submitted again and processed as a new attempt.
A request is treated as an idempotent replay of an earlier request when all of the following conditions are met:
- The same idempotency key is used for the same command.
- The request is made by the same API client.
- The request is made within 24 hours of the original request.
To provide an idempotency key, include the
Idempotency-Key
header with a unique value representing the operation. We
recommend using a sufficiently random
64-character hexadecimal value.
Idempotency records are retained for 24 hours. Once a record has expired, using the same key again may result in the request being processed as a new operation.
All /command requests accept idempotency keys
and behave idempotently when a key is provided.
/query requests are read-only and idempotent by
definition, so sending an idempotency key has no effect.