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

# List datalakes

> Retrieve list of datalakes.



## OpenAPI

````yaml /generated/openapi-import-generated-2023-12-01.json get /import/datalakes
openapi: 3.1.0
info:
  title: Prequel Data Import
  description: Data Import API spec
  version: '2023-12-01'
servers:
  - url: https://api.prequel.co
    description: Cloud-hosted server (US)
  - url: https://eu-api.prequel.co
    description: Cloud-hosted server (EU)
  - url: https://{custom_host}
    description: Self-hosted Prequel API host
security:
  - ApiKeyAuth: []
paths:
  /import/datalakes:
    get:
      tags:
        - Datalakes
      summary: List datalakes
      description: Retrieve list of datalakes.
      operationId: list-datalakes
      parameters:
        - name: storage
          in: query
          required: false
          description: Filter by storage type (s3, s3_compatible, gcs, abs).
          schema:
            type: string
        - name: page_size
          in: query
          required: false
          description: Number of items to return per page.
          schema:
            type: integer
        - name: order
          in: query
          required: false
          description: Sort order for items
          schema:
            type: string
            enum:
              - asc
              - desc
        - name: cursor
          in: query
          required: false
          description: >-
            Used for pagination - represents last page seen. Value is included
            in response when there is a next page.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: string
                    const: success
                  data:
                    $ref: '#/components/schemas/ListDatalakesResponse'
                    $schema: https://json-schema.org/draft/2020-12/schema
                    $id: >-
                      https://github.com/prequel-co/datafeed/internal/import/api/models/list-datalakes-response
                  message:
                    type: string
                  has_next:
                    type: boolean
                    description: Whether there are more items beyond this page.
                  next_url:
                    type: string
                    description: >-
                      Full URL to fetch the next page. Only present when
                      has_next is true.
                type: object
                required:
                  - status
                  - data
                  - message
                  - has_next
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ListDatalakesResponse:
      properties:
        datalakes:
          items:
            $ref: '#/components/schemas/DatalakeResource'
          type: array
      additionalProperties: false
      type: object
      required:
        - datalakes
    DatalakeResource:
      oneOf:
        - properties:
            storage:
              const: s3
            s3:
              $ref: '#/components/schemas/S3DatalakeResource'
          required:
            - storage
            - s3
          title: s3
        - properties:
            storage:
              const: s3_compatible
            s3_compatible:
              $ref: '#/components/schemas/S3CompatibleDatalakeResource'
          required:
            - storage
            - s3_compatible
          title: s3_compatible
        - properties:
            storage:
              const: gcs
            gcs:
              $ref: '#/components/schemas/GCSDatalakeResource'
          required:
            - storage
            - gcs
          title: gcs
        - properties:
            storage:
              const: abs
            abs:
              $ref: '#/components/schemas/ABSDatalakeResource'
          required:
            - storage
            - abs
          title: abs
      properties:
        id:
          type: string
        name:
          type: string
        retention_window_days:
          type: integer
        created_at:
          type: string
        updated_at:
          type: string
      type: object
      required:
        - id
        - name
        - created_at
        - updated_at
      unevaluatedProperties: false
    ErrorResponse:
      properties:
        status:
          type: string
          const: error
        message:
          type: string
        data:
          type: 'null'
      type: object
      required:
        - status
        - message
    S3DatalakeResource:
      oneOf:
        - $ref: '#/components/schemas/S3DatalakeResourceAWSIAMRole'
        - $ref: '#/components/schemas/S3DatalakeResourceAWSAccessKeys'
      discriminator:
        mapping:
          aws_access_keys:
            $ref: '#/components/schemas/S3DatalakeResourceAWSAccessKeys'
          aws_iam_role:
            $ref: '#/components/schemas/S3DatalakeResourceAWSIAMRole'
        propertyName: auth_method
    S3CompatibleDatalakeResource:
      properties:
        prefix:
          type: string
        bucket_name:
          type: string
        bucket_region:
          type: string
        bucket_host:
          type: string
        bucket_port:
          type: integer
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeysResource'
      additionalProperties: false
      type: object
      required:
        - prefix
        - bucket_name
        - bucket_region
        - bucket_host
        - bucket_port
        - aws_access_keys
    GCSDatalakeResource:
      oneOf:
        - $ref: '#/components/schemas/GCSDatalakeResourceGCPServiceAccountRole'
        - $ref: '#/components/schemas/GCSDatalakeResourceGCPServiceAccountKey'
        - $ref: >-
            #/components/schemas/GCSDatalakeResourceFederatedGCPServiceAccountRole
      discriminator:
        mapping:
          federated_gcp_service_account_role:
            $ref: >-
              #/components/schemas/GCSDatalakeResourceFederatedGCPServiceAccountRole
          gcp_service_account_key:
            $ref: '#/components/schemas/GCSDatalakeResourceGCPServiceAccountKey'
          gcp_service_account_role:
            $ref: '#/components/schemas/GCSDatalakeResourceGCPServiceAccountRole'
        propertyName: auth_method
    ABSDatalakeResource:
      properties:
        prefix:
          type: string
        container_name:
          type: string
        storage_account_name:
          type: string
        auth_method:
          type: string
        azure_storage_account_access_key:
          $ref: '#/components/schemas/AzureStorageAccountAccessKeyResource'
      additionalProperties: false
      type: object
      required:
        - prefix
        - container_name
        - storage_account_name
        - auth_method
    S3DatalakeResourceAWSIAMRole:
      properties:
        prefix:
          type: string
        bucket_name:
          type: string
        bucket_region:
          type: string
        auth_method:
          const: aws_iam_role
        aws_iam_role:
          $ref: '#/components/schemas/AWSIAMRoleResource'
      type: object
      required:
        - prefix
        - bucket_name
        - bucket_region
        - auth_method
        - aws_iam_role
      unevaluatedProperties: false
    S3DatalakeResourceAWSAccessKeys:
      properties:
        prefix:
          type: string
        bucket_name:
          type: string
        bucket_region:
          type: string
        auth_method:
          const: aws_access_keys
        aws_access_keys:
          $ref: '#/components/schemas/AWSAccessKeysResource'
      type: object
      required:
        - prefix
        - bucket_name
        - bucket_region
        - auth_method
        - aws_access_keys
      unevaluatedProperties: false
    AWSAccessKeysResource:
      properties:
        access_key_id:
          type: string
      additionalProperties: false
      type: object
      required:
        - access_key_id
    GCSDatalakeResourceGCPServiceAccountRole:
      properties:
        prefix:
          type: string
        bucket_name:
          type: string
        bucket_region:
          type: string
        auth_method:
          const: gcp_service_account_role
        gcp_service_account_role:
          $ref: '#/components/schemas/GCPDatalakeServiceAccountRoleResource'
      type: object
      required:
        - prefix
        - bucket_name
        - bucket_region
        - auth_method
        - gcp_service_account_role
      unevaluatedProperties: false
    GCSDatalakeResourceGCPServiceAccountKey:
      properties:
        prefix:
          type: string
        bucket_name:
          type: string
        bucket_region:
          type: string
        auth_method:
          const: gcp_service_account_key
        gcp_service_account_key:
          $ref: '#/components/schemas/GCPDatalakeServiceAccountKeyResource'
      type: object
      required:
        - prefix
        - bucket_name
        - bucket_region
        - auth_method
        - gcp_service_account_key
      unevaluatedProperties: false
    GCSDatalakeResourceFederatedGCPServiceAccountRole:
      properties:
        prefix:
          type: string
        bucket_name:
          type: string
        bucket_region:
          type: string
        auth_method:
          const: federated_gcp_service_account_role
        federated_gcp_service_account_role:
          $ref: '#/components/schemas/FederatedGCPDatalakeServiceAccountRoleResource'
      type: object
      required:
        - prefix
        - bucket_name
        - bucket_region
        - auth_method
        - federated_gcp_service_account_role
      unevaluatedProperties: false
    AzureStorageAccountAccessKeyResource:
      properties: {}
      additionalProperties: false
      type: object
    AWSIAMRoleResource:
      properties:
        aws_iam_role:
          type: string
      additionalProperties: false
      type: object
      required:
        - aws_iam_role
    GCPDatalakeServiceAccountRoleResource:
      properties:
        gcp_service_account_email:
          type: string
      additionalProperties: false
      type: object
      required:
        - gcp_service_account_email
    GCPDatalakeServiceAccountKeyResource:
      properties:
        service_account_email:
          type: string
      additionalProperties: false
      type: object
      required:
        - service_account_email
    FederatedGCPDatalakeServiceAccountRoleResource:
      properties:
        gcp_service_account_email:
          type: string
      additionalProperties: false
      type: object
      required:
        - gcp_service_account_email
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````