External API¶
The ARD External API lets you drive the platform programmatically — submit simulations, retrieve results, and read or switch the current vehicle — so you can integrate ARD into your own analysis tools and automate parameter studies.
It's a standard REST API that speaks JSON, and it's fully documented with an interactive, always-up-to-date OpenAPI schema (see Live API Reference below).
Availability
API access is available on Team Plus and Enterprise plans. Each API key is scoped to a single user and team.
Authentication¶
Every request is authenticated with an API key passed as a Bearer token in the Authorization header:
Generate and manage your key from the API Access tab in User Settings. Your key is shown only once, so copy and store it securely.
You can confirm a key works with the test-auth endpoint:
curl -X POST "https://api.appliedracingdynamics.com/external-api/test-auth" \
-H "Authorization: Bearer YOUR_API_KEY"
A 200 response means your key is valid.
What you can do¶
The API mirrors core platform actions, including:
- Read the current vehicle selected in your account
- Look up a vehicle by ID or name from your team library
- Set the current vehicle
- Submit simulations and poll their status
- Retrieve results once a simulation completes
All requests are scoped to the team your API key belongs to, with the same access rules as the app.
Live API Reference¶
The complete, interactive reference is generated directly from the running API, so it always reflects the current endpoints, request/response schemas, and example payloads.
- Interactive docs: https://api.appliedracingdynamics.com/external-api/docs
- OpenAPI schema (JSON): https://api.appliedracingdynamics.com/external-api/openapi.json
Generate a client
The OpenAPI JSON can be fed into tools like openapi-generator or Postman to scaffold a typed client in your language of choice.
Example¶
A minimal Python example that authenticates and fetches your currently selected vehicle:
import requests
API_KEY = "your-api-key-here"
BASE_URL = "https://api.appliedracingdynamics.com/external-api"
headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.get(f"{BASE_URL}/current-vehicle", headers=headers)
response.raise_for_status()
print(response.json())
Keep keys out of source
Store API keys in environment variables or a secret manager — never commit them to version control or share them publicly. If a key is exposed, regenerate it from User Settings to invalidate the old one immediately.