# Manage AltLLM Portal API Keys

Portal API keys need careful lifecycle control across agents and applications. This skill guides AltLLM CLI tasks for listing, creating, updating, disabling, and revoking keys.

## Install

```bash
npx skillstore add internet-court/altllm-portal-api-keys
```

## Metadata

- Status: approved
- Slug: internet-court-altllm-portal-api-keys
- Skillstore revision: r1
- Version status: missing
- Tree hash: 1f4d4187de0a78923840cc76d24415afebafc3844cd8454953e374dd82e6e8bc
- Author: internet-court
- GitHub username: internet-court
- License: MIT
- Repository: https://github.com/internet-court/internet-court-skill/tree/main/vendored/altlayer/altllm-portal-api-keys
- Ref: 3f6e026a3363e0954ede7bef0cfe88d4475de137
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: confirmation\_required
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: network, external\_commands, filesystem
- Quality score: 38
- Quality tier: warning
- Public page: https://skillstore.pages.dev/skills/internet-court-altllm-portal-api-keys
- Manifest: https://skillstore.pages.dev/api/skills/internet-court-altllm-portal-api-keys/manifest

## Capabilities

- Lists active and disabled Portal API keys through the local altllm CLI.
- Creates new API keys with optional model allowlists.
- Documents inspection, renaming, status updates, and allowlist replacement for existing keys.
- Documents permanent key revocation and reversible disable actions.
- Explains current production limits for single-key routes.
- Shows example CLI flags for the AltLLM Portal API base URL.

## Use Cases

- Set Up Agent Credentials: Create a named Portal API key with a focused model allowlist for an external agent or application.
- Rotate Application Access: List existing keys, create a replacement key, and plan disable or revoke actions for old credentials.
- Review Model Access: Inspect documented allowlist options and status rules before changing which models a key can use.

## Prompt Templates

### List Portal Keys

```
Use the AltLLM Portal API Keys skill to list my Portal API keys for the confirmed account. Summarize active and disabled keys.
```

### Create Scoped Key

```
Create a Portal API key named Codex Agent for altllm-native-fast and altllm-standard. Ask for confirmation before running the command.
```

### Disable Existing Key

```
Update key <key_id> to disabled after confirming the target environment. Then show the resulting status without exposing secrets.
```

### Plan Production Cleanup

```
Review the known production limitation, then propose a safe key cleanup plan before creating any temporary production keys.
```

## Limitations

- The skill depends on a local altllm CLI checkout and valid Portal session.
- Single-key get, update, and revoke routes are documented as broken in production.
- It cannot validate account tier or Flex entitlement beyond backend responses.
- Created full API keys are shown only once and must be stored by the user.

## Best Practices

- Confirm the Portal account, target environment, and key ID before any state-changing command.
- Redact full API key values from chat summaries, logs, screenshots, and tickets.
- Use model allowlists to scope each key to the smallest required access.

## Anti Patterns

- Creating temporary production keys when revoke is unavailable.
- Pasting full API key values back into shared conversations or tickets.
- Using the default model set when an application needs only a narrow allowlist.

## Security Audit

- Audited at: 2026-07-21T02:32:18.531\+00:00
- Summary: All 33 static detections are false positives caused by Markdown formatting, documented HTTPS endpoints, CLI names, placeholders, and relative documentation links. However, the skill requires following shared documents outside the audited package, creating an unreviewed instruction dependency that should be removed or pinned before publication.

## Stats

- Views: 0
- Downloads: 5
- Favorites: 1
- Popularity score: 0
