AXIOM Agent Skills

Bearer-token calling guide for Catalog, Perception, Understanding, and Decision Dashboard.

Skill

Axiom Bearer API Skill

# Axiom Bearer API Skill

Use this skill when an agent needs to call this Axiom backend with the bearer token shown on the profile page.

## Instance

- Base URL: `https://axiom-demo.thebridge.ai`
- Token page: `https://axiom-demo.thebridge.ai/account/profile/`
- Header: `Authorization: Bearer <AXIOM_TOKEN>`
- Browser CSRF tokens are not required when the bearer token is valid.
- Send normal form endpoints as `application/x-www-form-urlencoded` or `multipart/form-data`.
- Send JSON endpoints with `Content-Type: application/json`.
- A `401` means the token is missing or invalid.
- A `403` means the user is authenticated but does not have permission for that app.

Set these once before running the examples:

```bash
BASE_URL="https://axiom-demo.thebridge.ai"
AXIOM_TOKEN="paste-token-from-profile"
```

## Catalog

Upload a local file:

```bash
curl -sS -X POST "$BASE_URL/catalog/api/upload/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "file=@/path/to/media.wav" \
  -F "given_name=Board Meeting" \
  -F "description=Uploaded by agent" \
  -F "video_relevant=on"
```

Import YouTube media:

```bash
curl -sS -X POST "$BASE_URL/catalog/api/upload/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "youtube_url=https://www.youtube.com/watch?v=VIDEO_ID" \
  -F "given_name=Customer Call"
```

Save YouTube cookies for imports:

```bash
curl -sS -X POST "$BASE_URL/catalog/api/youtube-cookies/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{"cookies":"# Netscape HTTP Cookie File\n.youtube.com\tTRUE\t/\tTRUE\t2147483647\tSID\tabc"}'
```

Check a YouTube import job:

```bash
curl -sS "$BASE_URL/catalog/youtube-imports/<job_id>/status/" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

## Perception

Start perception processing for a catalog media item:

```bash
curl -sS -X POST "$BASE_URL/perception/<media_item_id>/process/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "whisper_model=base" \
  -F "diarization_provider=pyannote_ai"
```

Cancel a running perception job:

```bash
curl -sS -X POST "$BASE_URL/perception/<media_item_id>/cancel/" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

Save speaker labels:

```bash
curl -sS -X POST "$BASE_URL/perception/<media_item_id>/labels/save/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "speaker_key=SPEAKER_00" \
  -F "speaker_label=Jane"
```

Infer speaker labels:

```bash
curl -sS -X POST "$BASE_URL/perception/<media_item_id>/labels/infer/" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

## Understanding

Run full-file analysis:

```bash
curl -sS -X POST "$BASE_URL/understanding/<perception_result_id>/analyze/full/" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

Run item-level analysis:

```bash
curl -sS -X POST "$BASE_URL/understanding/<perception_result_id>/analyze/items/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "view=segments"
```

Profile speakers:

```bash
curl -sS -X POST "$BASE_URL/understanding/<perception_result_id>/speakers/profile/" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

Analyze one segment:

```bash
curl -sS -X POST "$BASE_URL/understanding/<perception_result_id>/segments/<segment_id>/analyze/" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

## Decision Dashboard

Create a dashboard:

```bash
curl -i -X POST "$BASE_URL/decisions/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "dashboard_name=Untitled"
```

Rename a dashboard:

```bash
curl -sS -X POST "$BASE_URL/decisions/<dashboard_id>/rename/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "name=Pipeline Review"
```

Upload and link media to a dashboard:

```bash
curl -sS -X POST "$BASE_URL/decisions/<dashboard_id>/upload-media/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "file=@/path/to/meeting.wav" \
  -F "given_name=Meeting Recording" \
  -F "video_relevant=on"
```

Start dashboard analysis for linked media:

```bash
curl -sS -X POST "$BASE_URL/decisions/<dashboard_id>/analysis-jobs/start/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "media_ids=<media_item_id>"
```

Check a dashboard analysis job:

```bash
curl -sS "$BASE_URL/decisions/<dashboard_id>/analysis-jobs/status/?job_id=<job_id>" \
  -H "Authorization: Bearer $AXIOM_TOKEN"
```

Cancel a dashboard analysis job:

```bash
curl -sS -X POST "$BASE_URL/decisions/<dashboard_id>/analysis-jobs/cancel/" \
  -H "Authorization: Bearer $AXIOM_TOKEN" \
  -F "job_id=<job_id>"
```

## Recommended Agent Workflow

1. Open `https://axiom-demo.thebridge.ai/account/profile/` and copy the bearer token.
2. Upload or import media with Catalog and keep the returned `id`.
3. Start Perception with `/perception/<media_item_id>/process/`.
4. Poll or open Perception detail until the `PerceptionResult` is completed.
5. Run Understanding actions with the completed `perception_result_id`.
6. Create or choose a Decision Dashboard, link media, and start dashboard analysis.
7. Poll returned status URLs until jobs are completed or failed.