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

# List API keys

> Retrieve a list of API keys accessible by the authenticated user.
  - **Organization owner/admin**: Can view all API keys within the organization.
  - **Organization user**: Can only see their own API keys.




## OpenAPI

````yaml /api-spec/ias-public-api.yaml get /organizations/{orgId}/api-keys
openapi: 3.0.3
info:
  title: IAM Service API
  description: APIs for IAM Service.
  version: 2.4.0
servers:
  - url: https://console.gmicloud.ai/api/v1
    description: IAM Service API
security: []
paths:
  /organizations/{orgId}/api-keys:
    get:
      tags:
        - organizations
      summary: List API keys
      description: |
        Retrieve a list of API keys accessible by the authenticated user.
          - **Organization owner/admin**: Can view all API keys within the organization.
          - **Organization user**: Can only see their own API keys.
      operationId: listApiKeys
      parameters:
        - $ref: '#/components/parameters/orgIdParam'
      responses:
        '200':
          description: Successfully retrieved the list of API keys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/listApiKeysResponse'
        '400':
          description: |
            - [group:**request**, code:**0**]: Invalid field in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrStatusMsg'
              examples:
                Invalid field in the request:
                  summary: Invalid field in the request.
                  value:
                    group: request
                    code: 0
                    validationDetail:
                      - field: orgId
                        expression: uuid
                        originalValue: orgId
                        reason: Should be a valid UUID.
        '404':
          description: |
            - [group:**organization**, code:**2**]: Organization does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrStatusMsg'
              examples:
                Organization does not exist:
                  summary: Organization does not exist.
                  value:
                    group: organization
                    code: 2
                    message: Organization does not exist.
        '500':
          description: >
            - [group:**api-key**, code:**1200**]: Get API key list encountered
            DB error.

            - [group:**organization**, code:**1201**]: Get organization
            encountered DB error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrStatusMsg'
              examples:
                Get API key list encountered DB error:
                  summary: Get API key list encountered DB error.
                  value:
                    group: api-key
                    code: 1200
                    message: Get API key list encountered DB error.
                    traces:
                      - DB error occurred.
      security:
        - bearerAuth: []
components:
  parameters:
    orgIdParam:
      name: orgId
      in: path
      schema:
        type: string
        format: uuid
        x-go-type: uuid.UUID
        example: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
      required: true
      description: |
        The organization's ID.
        - Must be a valid UUID.
  schemas:
    listApiKeysResponse:
      type: object
      x-go-name: listApiKeysResponse
      properties:
        keys:
          type: array
          description: A list of API keys.
          items:
            $ref: '#/components/schemas/apiKeyListItem'
      required:
        - keys
    ErrStatusMsg:
      type: object
      properties:
        group:
          type: string
          description: >-
            API function group\n -Will be "request" if there are invalid request
            parameters.
          x-oapi-codegen-extra-tags:
            binding: required
        code:
          type: integer
          description: The substatus error code for the API response.
          x-oapi-codegen-extra-tags:
            binding: required
        message:
          type: string
          description: The substatus error Message for API response.
          x-go-type-skip-optional-pointer: true
        traces:
          type: array
          items:
            type: string
          description: The original error messages.
          x-go-type-skip-optional-pointer: true
        validationDetail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationDetail'
          description: >-
            Returned when there are invalid request
            paremeters(group="request")\n List of invalid fields and the reason
            of error.
          x-go-type-skip-optional-pointer: true
      example:
        group: request
        code: 0
        validationDetail:
          - field: email
            expression: required
            originalValue: ''
            reason: This field is required.
      required:
        - group
        - code
    apiKeyListItem:
      type: object
      description: Information about the API key.
      properties:
        id:
          type: string
          format: uuid
          x-go-type: uuid.UUID
          description: The unique identifier for the API key.
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: The API key name.
          example: My Service API Key
        type:
          type: string
          deprecated: true
          x-go-type-skip-optional-pointer: true
          description: >
            The API key type. This field is deprecated and will be removed in a
            future version.

            Use the `scope` field instead to specify the API key's scope.
          enum:
            - ie_model
          x-go-type: ceCommonLibTypes.IasAPIKeyScope
          x-go-type-import:
            path: >-
              us-central1-go.pkg.dev/gmi-cloud-cicd/go-dev/ce-common-lib-go/pkg/types
            name: ceCommonLibTypes
          example: ie_model
        scope:
          type: string
          description: The API key scope.
          enum:
            - ie_model
            - ce_resource
          x-go-type: ceCommonLibTypes.IasAPIKeyScope
          x-go-type-import:
            path: >-
              us-central1-go.pkg.dev/gmi-cloud-cicd/go-dev/ce-common-lib-go/pkg/types
            name: ceCommonLibTypes
          example: ie_model
        partialKey:
          type: string
          description: The last 10 characters of the API key.
          example: 3D6l27ChEA
        createdAt:
          type: integer
          x-go-type: int64
          description: The UNIX timestamp in seconds when the API key was created (UTC).
          example: 1738812775
        expiresAt:
          type: integer
          x-go-type: int64
          description: >
            The UNIX timestamp (in seconds) indicating when the API key will
            expire (UTC).

            If the value is `-1`, the API key does not expire.
          example: 1738812775
        owner:
          $ref: '#/components/schemas/apiKeyListOwnerInfo'
          type: object
      required:
        - id
        - name
        - scope
        - partialKey
        - createdAt
        - expiresAt
        - owner
    ValidationDetail:
      type: object
      properties:
        field:
          type: string
          description: The field of the request data.
          x-go-type-skip-optional-pointer: true
        expression:
          type: string
          description: The form of violation.
          x-go-type-skip-optional-pointer: true
        argument:
          type: string
          description: The number or data to support the expression.
          x-go-type-skip-optional-pointer: true
        originalValue:
          description: The original value from the request.
          x-go-type-skip-optional-pointer: true
        reason:
          type: string
          description: The reason for the validation error.
          x-go-type-skip-optional-pointer: true
      example:
        - field: fieldXXX
          expression: required
          originalValue: ''
          reason: This field is required.
    apiKeyListOwnerInfo:
      type: object
      description: Information about the user who owns this API key.
      properties:
        id:
          type: string
          format: uuid
          x-go-type: uuid.UUID
          description: The user ID.
          example: a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
        firstName:
          type: string
          description: The user first name.
          example: john
        lastName:
          type: string
          description: The user last name.
          example: doe
      required:
        - id
        - firstName
        - lastName
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        An access token used to authenticate a user and grant access to
        restricted APIs. It is issued by session APIs.

        For status codes related to this header, refer to the 

        [Common Headers
        Documentation](https://gmicloud.atlassian.net/wiki/spaces/CE/pages/47199534/Common+Headers#Authorization).

````