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

FieldTypeRequiredDescriptionConstraints
credentialsai.me-credentialyes
  • maxItems 32

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 }] }