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

# Get a credential

> Fetch a single credential by id, including its provider-account label and its observed-use record.

The observed-use record is the honest answer to "what can this credential do". For every service the credential has been used with it reports when it was last used, when it last succeeded, when it last failed and what class of failure that was — recorded as the work actually happened. Read it here to see a credential's real capabilities and health without running a flow to find out, and without a second request per row: the same record travels on every row of `GET /credentials`.

Cross-tenant access returns 404.



## OpenAPI

````yaml /openapi.json get /credentials/{credential_id}
openapi: 3.1.0
info:
  title: GetDialed API
  version: 0.1.0
servers:
  - url: https://api.getdialed.ai/v1
    description: Production
security: []
paths:
  /credentials/{credential_id}:
    get:
      tags:
        - credentials
      summary: Get a credential
      description: >-
        Fetch a single credential by id, including its provider-account label
        and its observed-use record.


        The observed-use record is the honest answer to "what can this
        credential do". For every service the credential has been used with it
        reports when it was last used, when it last succeeded, when it last
        failed and what class of failure that was — recorded as the work
        actually happened. Read it here to see a credential's real capabilities
        and health without running a flow to find out, and without a second
        request per row: the same record travels on every row of `GET
        /credentials`.


        Cross-tenant access returns 404.
      operationId: get_credential_credentials__credential_id__get
      parameters:
        - name: credential_id
          in: path
          required: true
          schema:
            type: string
            title: Credential Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CredentialResponse'
        '401':
          description: Missing or invalid authentication
          content:
            application/json:
              example:
                detail: Authentication required
        '404':
          description: >-
            No such credential for this organization (cross-tenant access also
            returns 404)
          content:
            application/json:
              example:
                detail: Credential not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: Rate limit exceeded — retry after the Retry-After header
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
          content:
            application/json:
              example:
                detail: 'Rate limit exceeded: 100 per 1 minute'
      security:
        - APIKeyHeader: []
        - HTTPBearer: []
components:
  schemas:
    CredentialResponse:
      properties:
        id:
          type: string
          title: Id
        org_id:
          type: string
          title: Org Id
        name:
          type: string
          title: Name
        platform_id:
          type: string
          title: Platform Id
        auth_method:
          type: string
          title: Auth Method
        credentials_ref:
          type: string
          title: Credentials Ref
        tenancy_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Tenancy Id
        tenant:
          anyOf:
            - $ref: '#/components/schemas/CredentialTenantSummary'
            - type: 'null'
        grant_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Grant Type
        token_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Url
        scopes:
          items:
            type: string
          type: array
          title: Scopes
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Audience
        api_key_placement:
          anyOf:
            - $ref: '#/components/schemas/ApiKeyPlacement'
            - type: 'null'
        aws_region:
          anyOf:
            - type: string
            - type: 'null'
          title: Aws Region
        aws_default_bucket:
          anyOf:
            - type: string
            - type: 'null'
          title: Aws Default Bucket
        aws_endpoint_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Aws Endpoint Url
        telemetry:
          additionalProperties:
            $ref: '#/components/schemas/CredentialTelemetrySummary'
          type: object
          title: Telemetry
        status:
          type: string
          title: Status
        created_by:
          type: string
          title: Created By
        last_verified:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Verified
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
      type: object
      required:
        - id
        - org_id
        - name
        - platform_id
        - auth_method
        - credentials_ref
        - status
        - created_by
      title: CredentialResponse
      example:
        auth_method: basic_auth
        created_at: '2026-08-01T12:00:00Z'
        created_by: user_11223344
        credentials_ref: getdialed/acme/five9/cred_e5f6g7h8
        id: cred_e5f6g7h8
        last_verified: '2026-08-22T09:00:00Z'
        name: Five9 Production
        org_id: org_a1b2c3d4
        platform_id: five9
        scopes: []
        status: active
        telemetry:
          five9__configuration_service:
            last_stamped_at: '2026-08-22T09:00:00Z'
            last_succeeded_at: '2026-08-22T09:00:00Z'
            last_used_at: '2026-08-22T09:00:00Z'
        tenancy_id: ten_1a2b3c4d5e6f7890
        tenant:
          id: ten_1a2b3c4d5e6f7890
          is_manual: false
          label: Acme VCC
          platform_id: five9
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CredentialTenantSummary:
      properties:
        id:
          type: string
          title: Id
        label:
          type: string
          title: Label
        platform_id:
          type: string
          title: Platform Id
        is_manual:
          type: boolean
          title: Is Manual
      type: object
      required:
        - id
        - label
        - platform_id
        - is_manual
      title: CredentialTenantSummary
      description: >-
        The provider account or customer-named tenant this credential belongs
        to.
      example:
        id: ten_1a2b3c4d5e6f7890
        is_manual: false
        label: Acme VCC
        platform_id: five9
    ApiKeyPlacement:
      properties:
        header_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Header Name
        scheme:
          anyOf:
            - type: string
            - type: 'null'
          title: Scheme
        query_param:
          anyOf:
            - type: string
            - type: 'null'
          title: Query Param
      type: object
      title: ApiKeyPlacement
      description: >-
        Where an API-key credential puts its key.


        This is presentation configuration, not secret material: it holds the
        header

        NAME (and optionally a scheme such as `Bearer` prefixed to the value),
        or the

        query-parameter NAME. A form renders straight from it.


        It is declared ONCE, on the credential, so every task that selects this

        credential injects the key identically and no task configuration ever

        mentions authentication. Exactly one of `header_name` or `query_param`
        is

        set; `scheme` is legal only alongside `header_name`.
    CredentialTelemetrySummary:
      properties:
        last_used_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Used At
        last_succeeded_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Succeeded At
        last_failed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Failed At
        last_error_class:
          anyOf:
            - type: string
            - type: 'null'
          title: Last Error Class
        last_stamped_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Stamped At
      type: object
      title: CredentialTelemetrySummary
      description: |-
        Observed use of one credential against one service.

        Read straight off the credential, so a client can show health without a
        second call.
      example:
        last_stamped_at: '2026-08-22T09:00:00Z'
        last_succeeded_at: '2026-08-22T09:00:00Z'
        last_used_at: '2026-08-22T09:00:00Z'
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````