Skip to content

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:

Authorization: Bearer YOUR_API_KEY

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.

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.