> ## Documentation Index
> Fetch the complete documentation index at: https://onecli.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# An agent's usable credentials

> Which credentials this agent can actually use, and what each can do under the published policy. Replaces the retired `GET /agents/{agentId}/secrets` and `/connections`: those returned stored assignment rows, so a credential granted by a policy rule was invisible to them.

`mode: all` draws the whole fenced project+organization pool; `selective` returns only what the agent's rules grant.




## OpenAPI

````yaml /openapi.yaml get /agents/{agentId}/effective-credentials
openapi: 3.1.0
info:
  title: OneCLI API
  version: '1.0'
  description: >
    The OneCLI API lets you manage agents, secrets, policy rules, app
    connections, and user settings programmatically.


    **Base URL:** `https://api.onecli.sh/v1` (Cloud) or
    `http://localhost:10254/v1` (self-hosted)


    ## Authentication


    All endpoints require authentication via one of:


    - **API Key** — `Authorization: Bearer <key>` header. Generate keys in the
    dashboard or via `GET /v1/user/api-key`.

    - **Session** — Cookie-based session from the web dashboard.


    For organization-scoped API keys, include the `X-Project-Id` header to
    specify which project to operate on.
servers:
  - url: https://api.onecli.sh/v1
    description: OneCLI Cloud
  - url: http://localhost:10254/v1
    description: Self-hosted (Docker)
security:
  - bearerAuth: []
tags:
  - name: Agents
    description: Manage agents and their access tokens, secrets, and configuration.
  - name: Secrets
    description: Manage credentials that the gateway injects into outbound requests.
  - name: Policy
    description: >-
      Author project policy-engine rules that control how agents interact with
      external services (staged draft → publish).
  - name: Approvals
    description: >-
      Long-poll for pending manual-approval requests and submit approve/deny
      decisions.
  - name: User
    description: Manage your user profile and API keys.
  - name: Projects
    description: >-
      Manage projects within your organization. Requires admin role for
      create/update and owner role for delete. Cloud only.
  - name: Team
    description: Provision team members programmatically. Requires admin role. Cloud only.
  - name: Apps
    description: >-
      Manage app connections (OAuth and direct credentials), BYOC configuration,
      permission catalogs, and blocklists.
  - name: Connections
    description: App connections as a top-level resource.
  - name: Utility
    description: Health check and project resource summaries.
  - name: Agent Setup
    description: >-
      Endpoints agents and orchestrators use to bootstrap gateway access
      (container config, credential stubs, gateway skill).
  - name: Migration
    description: Migrate data from a self-hosted instance to OneCLI Cloud.
  - name: Organization Settings
    description: >-
      Organization-wide policy settings. Available on OneCLI Cloud and
      self-hosted Enterprise.
  - name: Organization Secrets
    description: >-
      Manage secrets at the organization level. Organization secrets apply
      across all projects. Available on OneCLI Cloud and self-hosted Enterprise.
  - name: Organization Policy
    description: >-
      Author policy-engine rules at the organization level. Organization rules
      apply across all projects. Available on OneCLI Cloud and self-hosted
      Enterprise.
  - name: Organization Connections
    description: >-
      Manage app connections at the organization level. Available on OneCLI
      Cloud and self-hosted Enterprise.
  - name: Organization App Config
    description: >-
      Connect apps (OAuth and direct credentials) and manage BYOC app
      configuration at the organization level. Available on OneCLI Cloud and
      self-hosted Enterprise.
  - name: Organization Approvals
    description: >-
      Long-poll for manual-approval requests across every project in the
      organization. Available on OneCLI Cloud and self-hosted Enterprise.
  - name: Partner Organizations
    description: >-
      Create and manage customer organizations as a partner. Requires a Partner
      API key. Cloud only.
  - name: Partner Projects
    description: Manage projects within an unclaimed partner organization. Cloud only.
  - name: Partner Secrets
    description: >-
      Manage partner-level secrets inherited by every organization you manage.
      Cloud only.
  - name: Partner Budgets
    description: >-
      Cap how much an organization can spend on a partner LLM key. Owner or
      admin only. Cloud only.
  - name: Partner Members
    description: >-
      Manage who can sign in to your partner portal. Owner or admin only. Cloud
      only.
  - name: Organization Partner
    description: Inspect and detach an organization's partner relationship. Cloud only.
paths:
  /agents/{agentId}/effective-credentials:
    get:
      tags:
        - Agents
      summary: An agent's usable credentials
      description: >
        Which credentials this agent can actually use, and what each can do
        under the published policy. Replaces the retired `GET
        /agents/{agentId}/secrets` and `/connections`: those returned stored
        assignment rows, so a credential granted by a policy rule was invisible
        to them.


        `mode: all` draws the whole fenced project+organization pool;
        `selective` returns only what the agent's rules grant.
      operationId: getEffectiveCredentials
      parameters:
        - name: agentId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The agent's effective credential set
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EffectiveCredentials'
components:
  schemas:
    EffectiveCredentials:
      type: object
      properties:
        agentId:
          type: string
        mode:
          type: string
          enum:
            - all
            - selective
          description: >-
            `all` draws the whole fenced pool; `selective` only what rules
            grant.
        secrets:
          type: array
          items:
            $ref: '#/components/schemas/EffectiveCredential'
        connections:
          type: array
          items:
            $ref: '#/components/schemas/EffectiveCredential'
    EffectiveCredential:
      type: object
      description: >-
        One credential the agent can use. `kind` selects which fields are
        present.
      properties:
        kind:
          type: string
          enum:
            - secret
            - connection
        id:
          type: string
        name:
          type: string
          description: Secrets only.
        host:
          type: string
          description: Secrets only.
        label:
          type: string
          nullable: true
          description: Connections only.
        provider:
          type: string
          description: Connections only.
        status:
          type: string
          enum:
            - usable
            - limited
            - blocked
            - unknown
        provenance:
          type: array
          items:
            $ref: '#/components/schemas/EffectiveProvenance'
    EffectiveProvenance:
      type: object
      description: >-
        Which rule decided a verdict. An organization rule's name is visible
        only to organization admins; other viewers get `redacted` set instead,
        with the name withheld.
      properties:
        scope:
          type: string
          enum:
            - organization
            - project
        redacted:
          type: boolean
        rule:
          type: object
          properties:
            logicalId:
              type: string
            name:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key obtained from the dashboard or `GET /user/api-key`

````