Integrations

Import the OpenAPI Spec into Insomnia and Bruno

Import the CurrencyCore OpenAPI 3.1 spec into Insomnia or Bruno, set baseUrl and apiKey environment variables, send a bearer-authenticated request, and add a CI curl smoke test.


/openapi.json imports into Insomnia and Bruno. CurrencyCore does not publish packaged exports for either tool, and there is no hosted workspace. Import the spec, set two variables, and send a request.

Import the spec

curl -O https://currency-core.com/openapi.json

Insomnia: application menu, Import, From File, then openapi.json. The URL option also works. Name the collection CurrencyCore.

Bruno: Collection, Import Collection, OpenAPI, then openapi.json. Save the collection in your repository so requests travel with the code.

The spec server is https://api.currency-core.com/{version}, with version defaulting to v1. If the importer keeps the placeholder, override it with baseUrl.

Set baseUrl and apiKey

VariableValue
baseUrlhttps://api.currency-core.com/v1
apiKeycc_test_your_key

In Insomnia, open Manage Environments; in Bruno, Collection Settings, then Environments. Add baseUrl and apiKey there.

Set collection or folder auth to Bearer Token with {{apiKey}}. Both tools then send Authorization: Bearer <key>. Do not use an apikey query parameter: CurrencyCore rejects query-string auth.

Send one request

Create GET {{baseUrl}}/rates/USD. The base is fixed at 1:

{ "base": "USD", "date": "2026-11-10", "rates": { "USD": 1, "EUR": 0.8924, "INR": 94.13 } }

For a conversion, call {{baseUrl}}/convert with from=USD, to=EUR,INR, and amount=100; read results[0].result. A 401 usually means the token or environment is missing. See Errors.

Generated Postman collection

The build also publishes a generated Postman v2.1 collection at /postman_collection.json, plus an environment template. That artifact is Postman-specific: there are no packaged Insomnia or Bruno exports and no hosted workspace.

CI curl smoke test

This checks auth, connectivity, and the convert envelope without a client:

#!/usr/bin/env bash
set -euo pipefail
: "${CURRENCYCORE_API_KEY:?set CURRENCYCORE_API_KEY}"
BASE_URL="${CURRENCYCORE_BASE_URL:-https://api.currency-core.com/v1}"
BODY="$(mktemp "${TMPDIR:-/tmp}/cc-smoke.XXXXXX")"
STATUS="$(curl -sS -o "$BODY" -w '%{http_code}' \
  "$BASE_URL/convert?from=USD&to=EUR&amount=1" \
  -H "Authorization: Bearer $CURRENCYCORE_API_KEY")"
if [ "$STATUS" != "200" ]; then
  echo "CurrencyCore smoke test failed: HTTP $STATUS"
  cat "$BODY"
  exit 1
fi
jq -e '.results[0].rate > 0' "$BODY" >/dev/null
rm -f "$BODY"

Free and test keys allow 60 requests per minute, so run this once per pipeline. The API returns no request ID; log the status, response date, and URL on failure.

Usage checklist

  1. Import /openapi.json into Insomnia or Bruno and name the collection.
  2. Add baseUrl and apiKey to the active environment.
  3. Set bearer auth with {{apiKey}}.
  4. Send GET {{baseUrl}}/rates/USD and confirm date and rates.
  5. Add the curl smoke test to CI with the key in a secret.
  6. Commit the Bruno collection without the key; do not store the key in version control.