Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/gh-pages-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
- main
types:
- completed
repository_dispatch:
types:
- admin-api-spec-updated
concurrency:
group: "pages"
cancel-in-progress: false
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/index-main-content.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
- main
paths:
- "fern/docs.yml"
workflow_dispatch: {}

jobs:
index-main:
Expand Down
22 changes: 22 additions & 0 deletions fern/admin-api/authentication.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: Authentication
subtitle: How to authenticate with the Admin API.
slug: authentication
---

All Admin API requests require authentication via a bearer token in the `Authorization` header.

## Getting Your Token

1. Go to the [Alchemy Dashboard](https://dashboard.alchemy.com)
2. Navigate to your team settings
3. Generate an Admin API token

## Making Requests

Include the token in the `Authorization` header:

```bash
curl -X GET "https://admin-api.alchemy.com/v1/apps" \
-H "Authorization: Bearer YOUR_TOKEN"
```
20 changes: 20 additions & 0 deletions fern/admin-api/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Admin API Overview
subtitle: Programmatically manage your Alchemy apps and configurations.
slug: overview
---

The Admin API lets you create and manage Alchemy apps, configure network allowlists, and control access settings programmatically.

## Base URL

```

Check warning on line 11 in fern/admin-api/overview.mdx

View workflow job for this annotation

GitHub Actions / Lint Files

Unexpected missing fenced code language flag in info string, expected keyword
https://admin-api.alchemy.com
```

## Features

- **App Management** — Create, update, and delete apps

Check warning on line 17 in fern/admin-api/overview.mdx

View workflow job for this annotation

GitHub Actions / Lint Files

Unexpected unordered list marker `-`, expected `*`
- **Network Configuration** — Manage which blockchain networks an app can access

Check warning on line 18 in fern/admin-api/overview.mdx

View workflow job for this annotation

GitHub Actions / Lint Files

Unexpected unordered list marker `-`, expected `*`
- **Access Controls** — Configure IP, origin, and address allowlists

Check warning on line 19 in fern/admin-api/overview.mdx

View workflow job for this annotation

GitHub Actions / Lint Files

Unexpected unordered list marker `-`, expected `*`
- **Chain Discovery** — List all available blockchain networks

Check warning on line 20 in fern/admin-api/overview.mdx

View workflow job for this annotation

GitHub Actions / Lint Files

Unexpected unordered list marker `-`, expected `*`
15 changes: 15 additions & 0 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@ tabs:
rollups:
display-name: Rollups
slug: rollups
admin-api:
display-name: Admin API
slug: admin-api
changelog:
display-name: Changelog
changelog: ./changelog
Expand Down Expand Up @@ -2153,6 +2156,18 @@ navigation:
api-name: mythos
slug: mythos

- tab: admin-api
layout:
- section: Admin API
contents:
- page: Overview
path: admin-api/overview.mdx
- page: Authentication
path: admin-api/authentication.mdx
- api: Admin API Endpoints
api-name: admin-api
flattened: true

- tab: changelog

analytics:
Expand Down
21 changes: 21 additions & 0 deletions scripts/generate-open-api.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,27 @@ for dir in ${input_dir}/*/; do
fi
done

# --- Remote specs ---
# Specs hosted externally that should be included alongside local specs.
# Format: "URL|output-name"
remote_specs=("https://admin-api.alchemy.com/openapi.yaml|admin-api")

for entry in "${remote_specs[@]}"; do
IFS='|' read -r url name <<< "$entry"
filename="${output_dir}/alchemy/rest/${name}.json"
(
if [ "$validate_only" = true ]; then
echo "Skipping remote spec: ${name} (validate-only mode)"
else
if ! pnpm exec redocly bundle "$url" --dereferenced --output "$filename" --ext json --remove-unused-components; then
exit 1
fi
jq '{"x-generated-warning": "⚠️ Auto-generated from remote spec. Do not edit."} + .' "$filename" > "$filename.tmp" && mv "$filename.tmp" "$filename" || exit 1
fi
) &
pids+=($!)
done

# Wait for all background processes and check their exit codes
for pid in "${pids[@]}"; do
if ! wait $pid; then
Expand Down
Loading