AiMeCredentialListV1 ai.me-credential-list@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- ai
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/ai/me-credential-list.v1.json
ai.me-credential-list@1 (OpenVibe.AI; L36 Y1): GET /api/v1/me/credentials — every provider key the person holds themselves, without any key. Ordered by provider so a page can render it steadily.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
credentials | ai.me-credential | yes |
|
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: two
{
"credentials": [
{
"provider": "anthropic",
"hint": "a1b2",
"base_url": null,
"budget_usd_per_day": 5,
"status": "ok",
"checked_at": "2026-10-31T09:00:00.000Z",
"last_error": null,
"models_count": 12,
"created_at": "2026-10-31T08:59:00.000Z"
},
{
"provider": "gemini",
"hint": "ZZ99",
"base_url": null,
"budget_usd_per_day": null,
"status": "failing",
"checked_at": "2026-10-31T09:01:00.000Z",
"last_error": "the provider refused the key (401)",
"models_count": 0,
"created_at": "2026-10-31T08:58:00.000Z"
}
]
}Rejected: leaks-key
{
"credentials": [
{
"provider": "openai",
"hint": "a1b2",
"api_key": "sk-EXAMPLE",
"base_url": null,
"budget_usd_per_day": null,
"status": "ok",
"checked_at": null,
"last_error": null,
"models_count": 1,
"created_at": "2026-10-31T08:59:00.000Z"
}
]
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('ai.me-credential-list@1', value); // { valid, errors: [{ path, message }] }