coinapi-openapi-skill

Operate CoinAPI market data reads through UXC with a curated OpenAPI schema, API-key auth, and read-first guardrails.

holon-run/uxc9 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI
---
name: coinapi-openapi-skill
description: Operate CoinAPI market data reads through UXC with a curated OpenAPI schema, API-key auth, and read-first guardrails.
license: MIT
---

# CoinAPI REST Skill

Use this skill to run CoinAPI REST market data operations through `uxc` + OpenAPI.

Reuse the `uxc` skill for shared execution, auth, and error-handling guidance.

## Prerequisites

- `uxc` is installed and available in `PATH`.
- Network access to `https://rest.coinapi.io`.
- Access to the curated OpenAPI schema URL:
  - `https://raw.githubusercontent.com/holon-run/uxc/main/skills/coinapi-openapi-skill/references/coinapi-market.openapi.json`
- A CoinAPI key.

## Scope

This skill covers a read-first market data surface:

- current exchange rates
- current quote snapshots
- latest OHLCV candles
- latest trades
- latest order books

This skill does **not** cover:

- FIX, WebSocket, or MCP transport surfaces
- write operations
- the broader CoinAPI catalog

## Authentication

CoinAPI uses `X-CoinAPI-Key` header auth.

Configure one API-key credential and bind it to `rest.coinapi.io`:

```bash
uxc auth credential set coinapi \
  --auth-type api_key \
  --api-key-header X-CoinAPI-Key \
  --secret-env COINAPI_KEY

uxc auth binding add \
  --id coinapi \
  --host rest.coinapi.io \
  --scheme https \
  --credential coinapi \
  --priority 100
```

Validate the active mapping when auth looks wrong:

```bash
uxc auth binding match https://rest.coinapi.io
```

## Core Workflow

1. Use the fixed link command by default:
   - `command -v coinapi-openapi-cli`
   - If missing, create it:
     `uxc link coinapi-openapi-cli https://rest.coinapi.io --schema-url https://raw.githubusercontent.com/holon-run/uxc/main/skills/coinapi-openapi-skill/references/coinapi-market.openapi.json`
   - `coinapi-openapi-cli -h`

2. Inspect operation schema first:
   - `coinapi-openapi-cli get:/v1/exchangerate/{asset_id_base}/{asset_id_quote} -h`
   - `coinapi-openapi-cli get:/v1/ohlcv/{symbol_id}/latest -h`
   - `coinapi-openapi-cli get:/v1/trades/{symbol_id}/latest -h`

3. Prefer narrow spot and latest reads before broader crawls:
   - `coinapi-openapi-cli get:/v1/exchangerate/{asset_id_base}/{asset_id_quote} asset_id_base=BTC asset_id_quote=USD`
   - `coinapi-openapi-cli get:/v1/quotes/current filter_symbol_id=BINANCE_SPOT_BTC_USDT`

4. Execute with key/value parameters:
   - `coinapi-openapi-cli get:/v1/ohlcv/{symbol_id}/latest symbol_id=BINANCE_SPOT_BTC_USDT period_id=1DAY limit=10`
   - `coinapi-openapi-cli get:/v1/orderbooks/{symbol_id}/latest symbol_id=BINANCE_SPOT_BTC_USDT limit_levels=20`

## Operations

- `get:/v1/exchangerate/{asset_id_base}/{asset_id_quote}`
- `get:/v1/quotes/current`
- `get:/v1/ohlcv/{symbol_id}/latest`
- `get:/v1/trades/{symbol_id}/latest`
- `get:/v1/orderbooks/{symbol_id}/latest`

## Guardrails

- Keep automation on the JSON output envelope; do not use `--text`.
- Parse stable fields first: `ok`, `kind`, `protocol`, `data`, `error`.
- Treat this v1 skill as read-only. Do not imply order entry or market connectivity support.
- Keep `filter_symbol_id`, `period_id`, `limit`, and `limit_levels` narrow unless the user explicitly wants larger pulls.
- `coinapi-openapi-cli <operation> ...` is equivalent to `uxc https://rest.coinapi.io --schema-url <coinapi_openapi_schema> <operation> ...`.

## References

- Usage patterns: `references/usage-patterns.md`
- Curated OpenAPI schema: `references/coinapi-market.openapi.json`
- CoinAPI REST docs: https://docs.coinapi.io/market-data/rest-api

More API Design skills

← All API Design skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY