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
| Variable | Value |
|---|---|
baseUrl | https://api.currency-core.com/v1 |
apiKey | cc_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
- Import
/openapi.jsoninto Insomnia or Bruno and name the collection. - Add
baseUrlandapiKeyto the active environment. - Set bearer auth with
{{apiKey}}. - Send
GET {{baseUrl}}/rates/USDand confirmdateandrates. - Add the curl smoke test to CI with the key in a secret.
- Commit the Bruno collection without the key; do not store the key in version control.