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