openapi: 3.0.0 info: description: lakeFS HTTP API title: lakeFS actions internal API license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html version: 1.0.0 servers: - url: /api/v1 description: lakeFS server endpoint security: - jwt_token: [] - basic_auth: [] - cookie_auth: [] - oidc_auth: [] - saml_auth: [] tags: - name: internal paths: /setup_comm_prefs: post: tags: - internal operationId: setupCommPrefs summary: setup communications preferences security: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommPrefsInput' responses: 200: description: communication preferences saved successfully 400: $ref: '#/components/responses/BadRequest' 409: description: setup was already completed content: application/json: schema: $ref: '#/components/schemas/Error' 412: description: wrong setup state for this operation content: application/json: schema: $ref: '#/components/schemas/Error' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /setup_lakefs: get: tags: - internal operationId: getSetupState summary: check if the lakeFS installation is already set up security: [] responses: 200: description: lakeFS setup state content: application/json: schema: $ref: '#/components/schemas/SetupState' 429: description: too many requests default: $ref: '#/components/responses/ServerError' post: tags: - internal operationId: setup summary: setup lakeFS and create a first user security: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Setup' responses: 200: description: user created successfully content: application/json: schema: $ref: '#/components/schemas/CredentialsWithSecret' 400: $ref: '#/components/responses/BadRequest' 409: description: setup was already called content: application/json: schema: $ref: '#/components/schemas/Error' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /auth/capabilities: get: tags: - internal operationId: getAuthCapabilities summary: list authentication capabilities supported security: [] responses: 200: description: auth capabilities content: application/json: schema: $ref: '#/components/schemas/AuthCapabilities' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/metadata: parameters: - in: path name: repository required: true schema: type: string post: tags: - internal operationId: setRepositoryMetadata summary: set repository metadata description: 'Set repository metadata. This will only add or update the provided keys, and will not remove any existing keys. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RepositoryMetadataSet' responses: 204: description: repository metadata set successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' delete: tags: - internal operationId: deleteRepositoryMetadata summary: delete repository metadata description: 'Delete specified keys from the repository''s metadata. ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RepositoryMetadataKeys' responses: 204: description: repository metadata keys deleted successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/refs/dump: parameters: - in: path name: repository required: true schema: type: string put: tags: - internal operationId: dumpRefs summary: 'Dump repository refs (tags, commits, branches) to object store Deprecated: a new API will introduce long running operations ' responses: 201: description: refs dump content: application/json: schema: $ref: '#/components/schemas/RefsDump' 400: $ref: '#/components/responses/ValidationError' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/refs/restore: parameters: - in: path name: repository required: true schema: type: string put: tags: - internal operationId: restoreRefs summary: 'Restore repository refs (tags, commits, branches) from object store. Deprecated: a new API will introduce long running operations ' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RefsRestore' responses: 200: description: refs successfully loaded 400: $ref: '#/components/responses/ValidationError' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/commits: parameters: - in: path name: repository required: true schema: type: string post: tags: - internal operationId: CreateCommitRecord summary: create commit record requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommitRecordCreation' responses: 204: description: commit record created 400: $ref: '#/components/responses/ValidationError' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/branches/{branch}/objects/stage_allowed: parameters: - in: path name: repository required: true schema: type: string - in: path name: branch required: true schema: type: string - in: query name: path description: relative to the branch required: true schema: type: string get: tags: - internal operationId: uploadObjectPreflight responses: 204: description: User has permissions to upload this object. This does not guarantee that the upload will be successful or even possible. It indicates only the permission at the time of calling this endpoint 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/branches/{branch}/objects: parameters: - in: path name: repository required: true schema: type: string - in: path name: branch required: true schema: type: string - in: query name: path description: relative to the branch required: true schema: type: string put: deprecated: true tags: - internal operationId: stageObject summary: stage an object's metadata for the given branch requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ObjectStageCreation' responses: 201: description: object metadata content: application/json: schema: $ref: '#/components/schemas/ObjectStats' 400: $ref: '#/components/responses/ValidationError' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/refs/{branch}/symlink: parameters: - in: path name: repository required: true schema: type: string - in: path name: branch required: true schema: type: string - in: query name: location schema: type: string description: path to the table data post: tags: - internal operationId: createSymlinkFile summary: creates symlink files corresponding to the given directory responses: 201: description: location created content: application/json: schema: $ref: '#/components/schemas/StorageURI' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/metadata/object/{type}/{object_id}: parameters: - in: path name: repository required: true schema: type: string - in: path name: object_id required: true schema: type: string - in: path name: type required: true schema: type: string enum: - range - meta_range get: tags: - internal operationId: getMetadataObject summary: return a lakeFS metadata object by ID parameters: - in: query name: presign required: false schema: type: boolean responses: 200: description: object content content: application/octet-stream: schema: type: string format: binary headers: Content-Length: schema: type: integer format: int64 302: description: Redirect to a pre-signed URL for the object headers: Location: schema: type: string 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/gc/rules/set_allowed: parameters: - in: path name: repository required: true schema: type: string get: tags: - internal operationId: setGarbageCollectionRulesPreflight responses: 204: description: User has permissions to set garbage collection rules on this repository 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/gc/rules: parameters: - in: path name: repository required: true schema: type: string get: deprecated: true tags: - internal operationId: internalGetGarbageCollectionRules description: Deprecated; use getGCRules. responses: 200: description: gc rule list content: application/json: schema: $ref: '#/components/schemas/GarbageCollectionRules' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' post: deprecated: true tags: - internal operationId: internalSetGarbageCollectionRules description: Deprecated; use setGCRules. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GarbageCollectionRules' responses: 204: description: set garbage collection rules successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' delete: deprecated: true tags: - internal operationId: internalDeleteGarbageCollectionRules description: Deprecated; use deleteGCRules. responses: 204: description: deleted garbage collection rules successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/gc/prepare_commits: parameters: - in: path name: repository required: true schema: type: string post: tags: - internal operationId: prepareGarbageCollectionCommits summary: save lists of active commits for garbage collection responses: 201: description: paths to commit dataset content: application/json: schema: $ref: '#/components/schemas/GarbageCollectionPrepareResponse' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/gc/prepare_commits/async: parameters: - in: path name: repository required: true schema: type: string post: tags: - internal operationId: prepareGarbageCollectionCommitsAsync summary: prepare gc commits responses: 202: description: GC prepare task started content: application/json: schema: $ref: '#/components/schemas/TaskCreation' 400: $ref: '#/components/responses/ValidationError' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/gc/prepare_commits/status: parameters: - in: path name: repository required: true schema: type: string get: tags: - internal operationId: prepareGarbageCollectionCommitsStatus summary: get status of prepare gc commits operation parameters: - in: query name: id description: Unique identifier of the prepare GC commits task schema: type: string required: true responses: 200: description: prepare GC commits task status content: application/json: schema: $ref: '#/components/schemas/PrepareGarbageCollectionCommitsStatus' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/gc/prepare_uncommited: parameters: - in: path name: repository required: true schema: type: string post: requestBody: content: application/json: schema: $ref: '#/components/schemas/PrepareGCUncommittedRequest' tags: - internal operationId: prepareGarbageCollectionUncommitted summary: save repository uncommitted metadata for garbage collection responses: 201: description: paths to commit dataset content: application/json: schema: $ref: '#/components/schemas/PrepareGCUncommittedResponse' 400: $ref: '#/components/responses/ValidationError' 401: $ref: '#/components/responses/Unauthorized' 403: $ref: '#/components/responses/Forbidden' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/branch_protection/set_allowed: parameters: - in: path name: repository required: true schema: type: string get: tags: - internal operationId: createBranchProtectionRulePreflight responses: 204: description: User has permissions to create a branch protection rule in this repository 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 409: $ref: '#/components/responses/Conflict' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /repositories/{repository}/branch_protection: parameters: - in: path name: repository required: true schema: type: string get: deprecated: true tags: - internal operationId: internalGetBranchProtectionRules summary: get branch protection rules responses: 200: description: branch protection rules content: application/json: schema: type: array items: $ref: '#/components/schemas/BranchProtectionRule' 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' post: deprecated: true tags: - internal operationId: internalCreateBranchProtectionRule requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BranchProtectionRule' responses: 204: description: branch protection rule created successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' delete: deprecated: true tags: - internal operationId: internalDeleteBranchProtectionRule requestBody: required: true content: application/json: schema: type: object properties: pattern: type: string required: - pattern responses: 204: description: branch protection rule deleted successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /config/version: get: tags: - internal operationId: getLakeFSVersion description: get version of lakeFS server deprecated: true responses: 200: description: lakeFS version content: application/json: schema: $ref: '#/components/schemas/VersionConfig' 401: $ref: '#/components/responses/Unauthorized' /config/storage: get: tags: - internal operationId: getStorageConfig description: retrieve lakeFS storage configuration deprecated: true responses: 200: description: lakeFS storage configuration content: application/json: schema: $ref: '#/components/schemas/StorageConfig' 401: $ref: '#/components/responses/Unauthorized' /config/garbage-collection: get: tags: - internal operationId: getGarbageCollectionConfig description: get information of gc settings responses: 200: description: lakeFS garbage collection config content: application/json: schema: $ref: '#/components/schemas/GarbageCollectionConfig' 401: $ref: '#/components/responses/Unauthorized' /statistics: post: tags: - internal operationId: postStatsEvents summary: post stats events, this endpoint is meant for internal use only requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/StatsEventsList' responses: 204: description: reported successfully 400: $ref: '#/components/responses/BadRequest' 401: $ref: '#/components/responses/Unauthorized' 429: description: too many requests default: $ref: '#/components/responses/ServerError' /usage-report/summary: get: tags: - internal operationId: getUsageReportSummary summary: get usage report summary responses: 200: description: Usage report content: application/json: schema: $ref: '#/components/schemas/InstallationUsageReport' application/text: schema: type: string 401: $ref: '#/components/responses/Unauthorized' 404: $ref: '#/components/responses/NotFound' 429: description: too many requests default: $ref: '#/components/responses/ServerError' components: responses: Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' ServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/Error' Conflict: description: Resource Conflicts With Target content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' ValidationError: description: Validation Error content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' schemas: AuthCapabilities: type: object properties: invite_user: type: boolean forgot_password: type: boolean StorageConfig: type: object required: - blockstore_type - blockstore_namespace_example - blockstore_namespace_ValidityRegex - pre_sign_support - pre_sign_support_ui - import_support - import_validity_regex properties: blockstore_type: type: string blockstore_namespace_example: type: string blockstore_namespace_ValidityRegex: type: string default_namespace_prefix: type: string pre_sign_support: type: boolean pre_sign_support_ui: type: boolean import_support: type: boolean import_validity_regex: type: string pre_sign_multipart_upload: type: boolean blockstore_id: type: string blockstore_description: type: string ObjectStats: type: object required: - checksum - physical_address - path - path_type - mtime properties: path: type: string path_type: type: string enum: - common_prefix - object physical_address: type: string description: 'The location of the object on the underlying object store. Formatted as a native URI with the object store type as scheme ("s3://...", "gs://...", etc.) Or, in the case of presign=true, will be an HTTP URL to be consumed via regular HTTP GET ' physical_address_expiry: type: integer format: int64 description: 'If present and nonzero, physical_address is a pre-signed URL and will expire at this Unix Epoch time. This will be shorter than the pre-signed URL lifetime if an authentication token is about to expire. This field is *optional*. ' checksum: type: string size_bytes: type: integer format: int64 description: 'The number of bytes in the object. lakeFS always populates this field when returning ObjectStats. This field is optional _for the client_ to supply, for instance on upload. ' mtime: type: integer format: int64 description: Unix Epoch in seconds metadata: $ref: '#/components/schemas/ObjectUserMetadata' content_type: type: string description: Object media type PrepareGCUncommittedResponse: type: object properties: run_id: type: string gc_uncommitted_location: type: string description: location of uncommitted information data continuation_token: type: string required: - run_id - gc_uncommitted_location CommitRecordCreation: type: object required: - commit_id - version - committer - message - metarange_id - creation_date - parents - generation properties: commit_id: type: string description: id of the commit record version: type: integer minimum: 0 maximum: 1 description: version of the commit record committer: type: string description: committer of the commit record message: type: string description: message of the commit record metarange_id: type: string description: metarange_id of the commit record creation_date: type: integer format: int64 description: Unix Epoch in seconds parents: type: array items: type: string description: parents of the commit record metadata: type: object additionalProperties: type: string description: metadata of the commit record generation: type: integer format: int64 description: generation of the commit record force: type: boolean default: false RepositoryMetadataSet: type: object required: - metadata properties: metadata: type: object additionalProperties: type: string GarbageCollectionRule: type: object properties: branch_id: type: string retention_days: type: integer required: - branch_id - retention_days UsageReport: type: object properties: year: type: integer month: type: integer count: type: integer format: int64 required: - year - month - count StorageURI: description: URI to a path in a storage provider (e.g. "s3://bucket1/path/to/object") required: - location type: object properties: location: type: string SetupState: type: object properties: state: type: string enum: - initialized - not_initialized comm_prefs_missing: type: boolean description: true if the comm prefs are missing. login_config: $ref: '#/components/schemas/LoginConfig' CommPrefsInput: type: object properties: firstName: description: the provided first name type: string lastName: description: the provided last name type: string email: description: the provided email type: string companyName: description: the provided company name type: string featureUpdates: description: user preference to receive feature updates type: boolean securityUpdates: description: user preference to receive security updates type: boolean required: - featureUpdates - securityUpdates ObjectUserMetadata: type: object additionalProperties: type: string GarbageCollectionRules: type: object properties: default_retention_days: type: integer branches: type: array items: $ref: '#/components/schemas/GarbageCollectionRule' required: - default_retention_days - branches RefsRestore: type: object required: - branches_meta_range_id - tags_meta_range_id - commits_meta_range_id properties: commits_meta_range_id: type: string tags_meta_range_id: type: string branches_meta_range_id: type: string force: type: boolean default: false PrepareGCUncommittedRequest: type: object properties: continuation_token: type: string Error: type: object required: - message properties: message: description: short message explaining the error type: string LoginConfig: type: object properties: RBAC: description: 'RBAC will remain enabled on GUI if "external". That only works with an external auth service. ' type: string enum: - none - simplified - internal - external username_ui_placeholder: description: 'Placeholder text to display in the username field of the login form. ' type: string password_ui_placeholder: description: 'Placeholder text to display in the password field of the login form. ' type: string login_url: description: Primary URL to use for login. type: string login_url_method: type: string description: 'Defines login behavior when login_url is set. - none: For OSS users. - redirect: Auto-redirect to login_url. - select: Show a page to choose between logging in via login_url or with lakeFS credentials. Ignored if login_url is not configured. ' enum: - none - redirect - select login_failed_message: description: 'Message to display to users who fail to login; a full sentence that is rendered in HTML and may contain a link to a secondary login method ' type: string fallback_login_url: description: Secondary URL to offer users to use for login. type: string fallback_login_label: description: Label to place on fallback_login_url. type: string login_cookie_names: description: Cookie names used to store JWT type: array items: type: string logout_url: description: URL to use for logging out. type: string required: - login_url - login_cookie_names - logout_url PrepareGarbageCollectionCommitsStatus: type: object properties: task_id: type: string description: the id of the task preparing the GC commits completed: type: boolean description: true if the task has completed (either successfully or with an error) update_time: type: string format: date-time description: last time the task status was updated result: $ref: '#/components/schemas/GarbageCollectionPrepareResponse' error: $ref: '#/components/schemas/Error' required: - task_id - completed - update_time CredentialsWithSecret: type: object required: - access_key_id - creation_date - secret_access_key properties: access_key_id: type: string secret_access_key: type: string creation_date: type: integer format: int64 description: Unix Epoch in seconds ObjectStageCreation: type: object required: - physical_address - checksum - size_bytes properties: physical_address: type: string checksum: type: string size_bytes: type: integer format: int64 mtime: type: integer format: int64 description: Unix Epoch in seconds metadata: $ref: '#/components/schemas/ObjectUserMetadata' content_type: type: string description: Object media type force: type: boolean default: false AccessKeyCredentials: type: object properties: access_key_id: description: access key ID to set for user for use in integration testing. example: AKIAIOSFODNN7EXAMPLE type: string minLength: 1 secret_access_key: description: secret access key to set for user for use in integration testing. example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY type: string minLength: 1 required: - access_key_id - secret_access_key StatsEvent: type: object properties: class: description: stats event class (e.g. "s3_gateway", "openapi_request", "experimental-feature", "ui-event") type: string name: description: stats event name (e.g. "put_object", "create_repository", "") type: string count: description: number of events of the class and name type: integer required: - class - name - count InstallationUsageReport: type: object properties: installation_id: type: string reports: type: array items: $ref: '#/components/schemas/UsageReport' required: - installation_id - reports Setup: type: object properties: username: description: an identifier for the user (e.g. jane.doe) type: string key: $ref: '#/components/schemas/AccessKeyCredentials' firstName: description: the provided first name type: string lastName: description: the provided last name type: string email: description: the provided email type: string companyName: description: the provided company name type: string featureUpdates: description: user preference to receive feature updates type: boolean securityUpdates: description: user preference to receive security updates type: boolean required: - username GarbageCollectionConfig: type: object properties: grace_period: description: Duration in seconds. Objects created in the recent grace_period will not be collected. type: integer StatsEventsList: type: object required: - events properties: events: type: array items: $ref: '#/components/schemas/StatsEvent' RepositoryMetadataKeys: type: object required: - keys properties: keys: type: array items: type: string description: metadata key BranchProtectionRule: type: object properties: pattern: type: string description: fnmatch pattern for the branch name, supporting * and ? wildcards example: stable_* minLength: 1 required: - pattern TaskCreation: type: object properties: id: description: The id of the new task type: string required: - id VersionConfig: type: object properties: version: type: string version_context: type: string latest_version: type: string upgrade_recommended: type: boolean upgrade_url: type: string RefsDump: type: object required: - branches_meta_range_id - tags_meta_range_id - commits_meta_range_id properties: commits_meta_range_id: type: string tags_meta_range_id: type: string branches_meta_range_id: type: string GarbageCollectionPrepareResponse: type: object properties: run_id: type: string description: a unique identifier generated for this GC job example: 64eaa103-d726-4a33-bcb8-7c0b4abfe09e gc_commits_location: type: string description: location of the resulting commits csv table (partitioned by run_id) example: s3://my-storage-namespace/_lakefs/retention/commits gc_addresses_location: type: string description: location to use for expired addresses parquet table (partitioned by run_id) example: s3://my-storage-namespace/_lakefs/retention/addresses gc_commits_presigned_url: type: string description: a presigned url to download the commits csv required: - run_id - gc_commits_location - gc_addresses_location securitySchemes: basic_auth: type: http scheme: basic jwt_token: type: http scheme: bearer bearerFormat: JWT cookie_auth: type: apiKey in: cookie name: internal_auth_session oidc_auth: type: apiKey in: cookie name: oidc_auth_session saml_auth: type: apiKey in: cookie name: saml_auth_session