Keboola Internal API

The Internal API from Keboola — 2 operation(s) for internal.

OpenAPI Specification

keboola-internal-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: AI Service Actions Internal API
  version: 1.0.0
  contact:
    email: devel@keboola.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
tags:
- name: Internal
paths:
  /manage/internal/auth-bridge/resolve-storage-token:
    post:
      tags:
      - Internal
      summary: Resolve a legacy Storage token for auth bridge
      description: Validates a programmatic Connection bearer token and returns its decrypted legacy Storage token together with the full token detail (same payload as GET /v2/storage/tokens/verify), so callers do not need a follow-up verify call.
      operationId: post_/manage/internal/auth-bridge/resolve-storage-token::AuthBridgeStorageTokenResolveAction
      parameters:
      - name: X-Subject-Token
        in: header
        description: Programmatic Connection bearer token to resolve.
        required: true
        schema:
          type: string
          example: Bearer kbc_at_...
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthBridgeStorageTokenResolveRequest'
      responses:
        '200':
          description: Resolved legacy Storage token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthBridgeStorageTokenResolveResponse'
        '400':
          description: Returned when request data is invalid.
        '401':
          description: Returned when the subject token is missing or invalid.
        '403':
          description: Returned when the caller is not Kubernetes-authenticated or cannot access the project.
  /v1/branches/{branchId}/aggregation/sources:
    get:
      summary: Aggregation endpoint for sources
      operationId: AggregationSources
      tags:
      - Internal
      description: Details about sources for the UI.
      parameters:
      - name: afterId
        in: query
        required: false
        description: Request records after the ID.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Maximum number of returned records.
        schema:
          type: integer
      - name: branchId
        in: path
        required: true
        description: ID of the branch or "default".
        schema:
          type: string
      responses:
        '200':
          description: OK response.
          content:
            application/json:
              schema:
                $ref: '#/definitions/AggregatedSourcesResult'
                required:
                - projectId
                - branchId
                - page
                - sources
      security:
      - storage-api-token: []
components:
  schemas:
    AuthBridgeStorageTokenResolveRequest:
      required:
      - projectId
      properties:
        projectId:
          description: Project identifier whose Storage token should be resolved.
          type: integer
      type: object
    TokenVerifyResponse:
      required:
      - id
      - token
      - created
      - refreshed
      - uri
      - isMasterToken
      - isBYODB
      - canManageBuckets
      - canManageTokens
      - canReadAllFileUploads
      - canPurgeTrash
      - isExpired
      - isDisabled
      - dailyCapacity
      - creatorToken
      - bucketPermissions
      - canManageProtectedDefaultBranch
      - canCreateJobs
      - canReadAllProjectEvents
      - canManageDevBranches
      - owner
      - organization
      properties:
        id:
          type: string
        token:
          description: Optional provided only in specific cases.
          type: string
        created:
          type: string
          format: date-time
        refreshed:
          type: string
          format: date-time
        description:
          description: Optional user-provided description of the token.
          type: string
          nullable: true
        uri:
          type: string
        isMasterToken:
          type: boolean
        isBYODB:
          description: Indicates whether the project uses Bring Your Own Database (BYODB) storage backends
          type: boolean
        canManageBuckets:
          type: boolean
        canManageTokens:
          type: boolean
        canReadAllFileUploads:
          type: boolean
        canPurgeTrash:
          type: boolean
        expires:
          description: Optional expiration date/time of the token.
          type: string
          format: date-time
          nullable: true
        isExpired:
          type: boolean
        isDisabled:
          type: boolean
        dailyCapacity:
          type: integer
        creatorToken:
          properties:
            id:
              type: integer
            description:
              type: string
          type: object
        bucketPermissions:
          type: object
          additionalProperties:
            type: string
        canManageProtectedDefaultBranch:
          type: boolean
        canCreateJobs:
          type: boolean
        canReadAllProjectEvents:
          type: boolean
        canManageDevBranches:
          type: boolean
        owner:
          properties:
            id:
              type: integer
            name:
              type: string
          type: object
        organization:
          properties:
            id:
              type: integer
          type: object
        admin:
          properties:
            name:
              type: string
            id:
              type: integer
            features:
              type: array
              items:
                type: string
            isOrganizationMember:
              type: boolean
            role:
              type: string
            samlParameters:
              type: object
              nullable: true
          type: object
          nullable: true
        adminOwner:
          type: object
          nullable: true
      type: object
    AuthBridgeStorageTokenResolveResponse:
      required:
      - storageToken
      - projectId
      - tokenId
      - userId
      - tokenDetail
      properties:
        storageToken:
          type: string
        projectId:
          type: integer
        tokenId:
          type: string
        userId:
          type: string
        expiresAt:
          type: string
          nullable: true
        tokenDetail:
          $ref: '#/components/schemas/TokenVerifyResponse'
      type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-StorageApi-Token