Last updated: July 29, 2026
REST API
Everything you can do in the FIXSIM portal can also be driven programmatically through the REST API — create and configure sessions, send and act on orders, inject raw FIX messages, and query executions. This is how teams plug FIXSIM into CI/CD pipelines for automated regression testing, or script repeatable test scenarios from any language.
API access is included in the Pro and Enterprise plans, and is available during the free trial.
Authentication and base URL
All endpoints are served from https://portal.fixsim.com/v1/ and authenticated with an API key passed in the apiKey HTTP header.
Your API key is available in the FIXSIM portal after signing up.
curl -H "apiKey: YOUR_API_KEY" "https://portal.fixsim.com/v1/Instances"
Core concepts
- Instance — a FIXSIM simulator environment in your account. Most endpoints take the instance name as the first path segment.
GET /v1/Instanceslists yours. - Session — a FIX session within an instance, identified by its session name (the same names shown in the portal sidebar).
-
In vs. Out — direction is always from FIXSIM's perspective: In = into FIXSIM, Out = out of FIXSIM.
- OrdersIn — orders your application sent into FIXSIM.
- OrdersOut — orders FIXSIM sent out to your application.
- ExecutionsIn — execution reports your application sent into FIXSIM.
- ExecutionsOut — execution reports FIXSIM sent out to your application.
Endpoint groups
| Group | What it does |
|---|---|
| Instances | List the FIXSIM instances in your account. |
| Sessions | List, create, configure, and remove FIX sessions. A dedicated endpoint adjusts the session's sending / received sequence numbers — the API equivalent of the FIX Session Settings report. |
| SessionSettings | Read and update per-session application settings — the API equivalent of the App Settings report. |
| OrdersIn | Query orders received by FIXSIM, and act on them: acknowledge, fully or partially execute, or cancel the remaining quantity. |
| OrdersOut | Create orders sent from FIXSIM (New Order Single, 35=D), and issue cancels (35=F) and cancel/replaces (35=G) against them. |
| ExecutionsIn / ExecutionsOut | Query execution reports by session, order, or execution ID — ExecutionsIn covers exec reports received by FIXSIM; ExecutionsOut covers exec reports FIXSIM sent, which can also be busted or corrected. |
| RawMessages | Inject raw FIX message strings into a session — see the example below. |
| Securities | List, add, and update the simulated securities (symbol, last price, CUSIP, ISIN) used for pricing. |
The complete endpoint list with request/response schemas is in the interactive Swagger reference.
Example: inject a raw FIX message
POST an array of raw FIX strings to a session. Use the pipe character | as the SOH delimiter — FIXSIM handles the conversion, and regenerates the session-level fields
(SenderCompID, TargetCompID, MsgSeqNum, SendingTime, BodyLength, CheckSum) so approximate values are fine.
curl -X POST "https://portal.fixsim.com/v1/RawMessages/{instance}/{session}" \
-H "Content-Type: application/json" \
-H "apiKey: YOUR_API_KEY" \
-d '{
"fixMessages": [
"8=FIX.4.4|9=148|35=D|34=1|49=OMS|52=20240115-14:30:01.000|56=BROKER|11=ORD-001|21=1|38=500|40=2|44=150.25|54=1|55=AAPL|60=20240115-14:30:01.000|10=088|"
]
}'
Messages are processed in order, so a multi-element array replays an entire sequence in one call. For a fuller walkthrough, see Test FIX Protocol with curl.
Example: act on a received order
When your application sends an order to FIXSIM, it appears in Blotter In.
Instead of clicking in the GUI, act on it via OrdersInAction — for example, fully execute it:
curl -X POST "https://portal.fixsim.com/v1/OrdersInAction/{instance}/{session}" \
-H "Content-Type: application/json" \
-H "apiKey: YOUR_API_KEY" \
-d '{
"action": "FullyExecute",
"clOrdIds": ["ORD-001"]
}'
Actions include acknowledging (Ack), fully or partially executing (with optional lastPx / lastQty), and cancelling the remaining quantity.
The full action list is in the Swagger reference.
Example: verify the results
Query the execution reports FIXSIM sent back for a given order, and assert against them in your test suite:
curl -H "apiKey: YOUR_API_KEY" \
"https://portal.fixsim.com/v1/ExecutionsOut/{instance}/{session}/ORD-001"
Using the API in CI/CD
A typical automated regression loop: your pipeline starts your application, points it at its FIXSIM session, sends test orders (from your app or via RawMessages),
drives fills / cancels / rejects through OrdersInAction, then queries executions and orders to assert the final state.
See Automate FIX Regression Testing in CI/CD for the full pattern.