AWS Glue Glue Catalog API
The Glue Catalog API from AWS Glue — 5 operation(s) for glue catalog.
The Glue Catalog API from AWS Glue — 5 operation(s) for glue catalog.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/aws-glue:aws-glue-catalog-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AWS Glue Catalog API
version: '2017-03-31'
description: Generated from AWS's published Smithy model for AWS Glue. 6 operation(s).
contact:
name: Amazon Web Services
url: https://aws.amazon.com/contact-us/
license:
name: Apache 2.0
identifier: Apache-2.0
url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://glue.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
tags:
- name: Catalog
paths:
/#CreateCatalog:
post:
operationId: CreateCatalog
summary: Create Catalog
description: Creates a new catalog in the Glue Data Catalog.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/CreateCatalogResponse'
'400':
description: AccessDeniedException; AlreadyExistsException; ConcurrentModificationException; EntityNotFoundException; FederatedResourceAlreadyExistsException; FederationSourceException; GlueEncryptionException; InvalidInputException; OperationTimeoutException; ResourceNumberLimitExceededException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServiceException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/InternalServiceException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSGlue.CreateCatalog
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/CreateCatalogRequest'
tags:
- Catalog
/#DeleteCatalog:
post:
operationId: DeleteCatalog
summary: Delete Catalog
description: Removes the specified catalog from the Glue Data Catalog. After completing this operation, you no longer have access to the databases, tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted catalog. Glue deletes these "orphaned" resources asynchronously in a timely manner, at the discretion of the service. To ensure the immediate deletion of all related resources before calling the DeleteCatalog operation, use DeleteTableVersion (or BatchDeleteTableVersion), DeletePartition (or BatchDeletePartition), DeleteTable (or BatchDeleteTable), DeleteUserDefinedFunction and DeleteDatabase to delete any resources that belong to the catalog.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/DeleteCatalogResponse'
'400':
description: AccessDeniedException; ConcurrentModificationException; EntityNotFoundException; FederationSourceException; GlueEncryptionException; InvalidInputException; OperationTimeoutException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServiceException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/InternalServiceException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSGlue.DeleteCatalog
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/DeleteCatalogRequest'
tags:
- Catalog
/#GetCatalog:
post:
operationId: GetCatalog
summary: Get Catalog
description: The name of the Catalog to retrieve. This should be all lowercase.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/GetCatalogResponse'
'400':
description: AccessDeniedException; EntityNotFoundException; FederationSourceException; FederationSourceRetryableException; GlueEncryptionException; InvalidInputException; OperationTimeoutException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServiceException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/InternalServiceException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSGlue.GetCatalog
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/GetCatalogRequest'
tags:
- Catalog
/#GetCatalogs:
post:
operationId: GetCatalogs
summary: Get Catalogs
description: Retrieves all catalogs defined in a catalog in the Glue Data Catalog. For a Redshift-federated catalog use case, this operation returns the list of catalogs mapped to Redshift databases in the Redshift namespace catalog.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/GetCatalogsResponse'
'400':
description: AccessDeniedException; EntityNotFoundException; FederationSourceException; FederationSourceRetryableException; GlueEncryptionException; InvalidInputException; OperationTimeoutException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServiceException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/InternalServiceException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSGlue.GetCatalogs
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/GetCatalogsRequest'
tags:
- Catalog
/#UpdateCatalog:
post:
operationId: UpdateCatalog
summary: Update Catalog
description: Updates an existing catalog's properties in the Glue Data Catalog.
responses:
'200':
description: Success
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/UpdateCatalogResponse'
'400':
description: AccessDeniedException; ConcurrentModificationException; EntityNotFoundException; FederationSourceException; GlueEncryptionException; InvalidInputException; OperationTimeoutException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'500':
description: InternalServiceException
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/InternalServiceException'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AWSGlue.UpdateCatalog
requestBody:
required: true
content:
application/x-amz-json-1.1:
schema:
$ref: '#/components/schemas/UpdateCatalogRequest'
tags:
- Catalog
components:
schemas:
PrincipalPermissions:
type: object
properties:
Principal:
$ref: '#/components/schemas/DataLakePrincipal'
Permissions:
type: array
items:
type: string
enum:
- ALL
- SELECT
- ALTER
- DROP
- DELETE
- INSERT
- CREATE_DATABASE
- CREATE_TABLE
- DATA_LOCATION_ACCESS
description: The permissions that are granted to the principal.
Catalog:
type: object
properties:
CatalogId:
type: string
description: The ID of the catalog. To grant access to the default catalog, this field should not be provided.
Name:
type: string
description: The name of the catalog. Cannot be the same as the account ID.
ResourceArn:
type: string
description: The Amazon Resource Name (ARN) assigned to the catalog resource.
Description:
type: string
description: Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern. A description of the catalog.
Parameters:
type: object
additionalProperties:
type: string
description: A map array of key-value pairs that define parameters and properties of the catalog.
CreateTime:
type: string
format: date-time
description: The time at which the catalog was created.
UpdateTime:
type: string
format: date-time
description: The time at which the catalog was last updated.
TargetRedshiftCatalog:
$ref: '#/components/schemas/TargetRedshiftCatalog'
FederatedCatalog:
$ref: '#/components/schemas/FederatedCatalog'
CatalogProperties:
$ref: '#/components/schemas/CatalogPropertiesOutput'
CreateTableDefaultPermissions:
type: array
items:
$ref: '#/components/schemas/PrincipalPermissions'
description: An array of PrincipalPermissions objects. Creates a set of default permissions on the table(s) for principals. Used by Amazon Web Services Lake Formation. Not used in the normal course of Glue operations.
CreateDatabaseDefaultPermissions:
type: array
items:
$ref: '#/components/schemas/PrincipalPermissions'
description: An array of PrincipalPermissions objects. Creates a set of default permissions on the database(s) for principals. Used by Amazon Web Services Lake Formation. Not used in the normal course of Glue operations.
AllowFullTableExternalDataAccess:
type: string
enum:
- 'True'
- 'False'
description: Allows third-party engines to access data in Amazon S3 locations that are registered with Lake Formation.
required:
- Name
IcebergOptimizationPropertiesOutput:
type: object
properties:
RoleArn:
type: string
description: The Amazon Resource Name (ARN) of the IAM role that is used to perform Iceberg table optimization operations.
Compaction:
type: object
additionalProperties:
type: string
description: A map of key-value pairs that specify configuration parameters for Iceberg table compaction operations, which optimize the layout of data files to improve query performance.
Retention:
type: object
additionalProperties:
type: string
description: A map of key-value pairs that specify configuration parameters for Iceberg table retention operations, which manage the lifecycle of table snapshots to control storage costs.
OrphanFileDeletion:
type: object
additionalProperties:
type: string
description: A map of key-value pairs that specify configuration parameters for Iceberg orphan file deletion operations, which identify and remove files that are no longer referenced by the table metadata.
LastUpdatedTime:
type: string
format: date-time
description: The timestamp when the Iceberg optimization properties were last updated.
CatalogProperties:
type: object
properties:
DataLakeAccessProperties:
$ref: '#/components/schemas/DataLakeAccessProperties'
IcebergOptimizationProperties:
$ref: '#/components/schemas/IcebergOptimizationProperties'
CustomProperties:
type: object
additionalProperties:
type: string
description: Additional key-value properties for the catalog, such as column statistics optimizations.
GetCatalogRequest:
type: object
properties:
CatalogId:
type: string
description: The ID of the parent catalog in which the catalog resides. If none is provided, the Amazon Web Services Account Number is used by default.
required:
- CatalogId
GetCatalogsResponse:
type: object
properties:
CatalogList:
type: array
items:
$ref: '#/components/schemas/Catalog'
description: An array of Catalog objects. A list of Catalog objects from the specified parent catalog.
NextToken:
type: string
description: A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.
required:
- CatalogList
UpdateCatalogResponse:
type: object
properties: {}
DataLakePrincipal:
type: object
properties:
DataLakePrincipalIdentifier:
type: string
description: An identifier for the Lake Formation principal.
DataLakeAccessPropertiesOutput:
type: object
properties:
DataLakeAccess:
type: boolean
description: Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog.
DataTransferRole:
type: string
description: A role that will be assumed by Glue for transferring data into/out of the staging bucket during a query.
KmsKey:
type: string
description: An encryption key that will be used for the staging bucket that will be created along with the catalog.
ManagedWorkgroupName:
type: string
description: The managed Redshift Serverless compute name that is created for your catalog resource.
ManagedWorkgroupStatus:
type: string
description: The managed Redshift Serverless compute status.
RedshiftDatabaseName:
type: string
description: The default Redshift database resource name in the managed compute.
StatusMessage:
type: string
description: A message that gives more detailed information about the managed workgroup status.
CatalogType:
type: string
description: Specifies a federated catalog type for the native catalog resource. The currently supported type is aws:redshift.
GetCatalogResponse:
type: object
properties:
Catalog:
$ref: '#/components/schemas/Catalog'
TargetRedshiftCatalog:
type: object
properties:
CatalogArn:
type: string
description: The Amazon Resource Name (ARN) of the catalog resource.
required:
- CatalogArn
GetCatalogsRequest:
type: object
properties:
ParentCatalogId:
type: string
description: The ID of the parent catalog in which the catalog resides. If none is provided, the Amazon Web Services Account Number is used by default.
NextToken:
type: string
description: A continuation token, if this is a continuation call.
MaxResults:
type: integer
description: The maximum number of catalogs to return in one response.
Recursive:
type: boolean
description: Whether to list all catalogs across the catalog hierarchy, starting from the ParentCatalogId. Defaults to false . When true, all catalog objects in the ParentCatalogID hierarchy are enumerated in the response.
IncludeRoot:
type: boolean
description: Whether to list the default catalog in the account and region in the response. Defaults to false. When true and ParentCatalogId = NULL | Amazon Web Services Account ID, all catalogs and the default catalog are enumerated in the response. When the ParentCatalogId is not equal to null, and this attribute is passed as false or true, an InvalidInputException is thrown.
HasDatabases:
type: boolean
description: When true, the response only includes catalogs that can contain databases. Some catalogs are organizational containers that hold only other catalogs, not databases. When this parameter is set to true, those container-only catalogs are excluded, and only catalogs capable of containing databases are returned. Defaults to false.
CreateCatalogRequest:
type: object
properties:
Name:
type: string
description: The name of the catalog to create.
CatalogInput:
$ref: '#/components/schemas/CatalogInput'
Tags:
type: object
additionalProperties:
type: string
description: A map array of key-value pairs, not more than 50 pairs. Each key is a UTF-8 string, not less than 1 or more than 128 bytes long. Each value is a UTF-8 string, not more than 256 bytes long. The tags you assign to the catalog.
required:
- Name
- CatalogInput
CreateCatalogResponse:
type: object
properties: {}
DeleteCatalogResponse:
type: object
properties: {}
IcebergOptimizationProperties:
type: object
properties:
RoleArn:
type: string
description: The Amazon Resource Name (ARN) of the IAM role that will be assumed to perform Iceberg table optimization operations.
Compaction:
type: object
additionalProperties:
type: string
description: A map of key-value pairs that specify configuration parameters for Iceberg table compaction operations, which optimize the layout of data files to improve query performance.
Retention:
type: object
additionalProperties:
type: string
description: A map of key-value pairs that specify configuration parameters for Iceberg table retention operations, which manage the lifecycle of table snapshots to control storage costs.
OrphanFileDeletion:
type: object
additionalProperties:
type: string
description: A map of key-value pairs that specify configuration parameters for Iceberg orphan file deletion operations, which identify and remove files that are no longer referenced by the table metadata.
FederatedCatalog:
type: object
properties:
Identifier:
type: string
description: A unique identifier for the federated catalog.
ConnectionName:
type: string
description: The name of the connection to an external data source, for example a Redshift-federated catalog.
ConnectionType:
type: string
description: The type of connection used to access the federated catalog, specifying the protocol or method for connection to the external data source.
CatalogInput:
type: object
properties:
Description:
type: string
description: Description string, not more than 2048 bytes long, matching the URI address multi-line string pattern. A description of the catalog.
FederatedCatalog:
$ref: '#/components/schemas/FederatedCatalog'
Parameters:
type: object
additionalProperties:
type: string
description: A map array of key-value pairs that define the parameters and properties of the catalog.
TargetRedshiftCatalog:
$ref: '#/components/schemas/TargetRedshiftCatalog'
CatalogProperties:
$ref: '#/components/schemas/CatalogProperties'
CreateTableDefaultPermissions:
type: array
items:
$ref: '#/components/schemas/PrincipalPermissions'
description: An array of PrincipalPermissions objects. Creates a set of default permissions on the table(s) for principals. Used by Amazon Web Services Lake Formation. Typically should be explicitly set as an empty list.
CreateDatabaseDefaultPermissions:
type: array
items:
$ref: '#/components/schemas/PrincipalPermissions'
description: An array of PrincipalPermissions objects. Creates a set of default permissions on the database(s) for principals. Used by Amazon Web Services Lake Formation. Typically should be explicitly set as an empty list.
AllowFullTableExternalDataAccess:
type: string
enum:
- 'True'
- 'False'
description: Allows third-party engines to access data in Amazon S3 locations that are registered with Lake Formation.
OverwriteChildResourcePermissionsWithDefault:
type: string
enum:
- Accept
- Deny
description: Overwrites existing Amazon Web Services Lake Formation permissions with CatalogInput$CreateTableDefaultPermissions and CatalogInput$CreateDatabaseDefaultPermissions for all child resources.
DataLakeAccessProperties:
type: object
properties:
DataLakeAccess:
type: boolean
description: Turns on or off data lake access for Apache Spark applications that access Amazon Redshift databases in the Data Catalog from any non-Redshift engine, such as Amazon Athena, Amazon EMR, or Glue ETL.
DataTransferRole:
type: string
description: A role that will be assumed by Glue for transferring data into/out of the staging bucket during a query.
KmsKey:
type: string
description: An encryption key that will be used for the staging bucket that will be created along with the catalog.
CatalogType:
type: string
description: Specifies a federated catalog type for the native catalog resource. The currently supported type is aws:redshift.
UpdateCatalogRequest:
type: object
properties:
CatalogId:
type: string
description: The ID of the catalog.
CatalogInput:
$ref: '#/components/schemas/CatalogInput'
required:
- CatalogId
- CatalogInput
CatalogPropertiesOutput:
type: object
properties:
DataLakeAccessProperties:
$ref: '#/components/schemas/DataLakeAccessPropertiesOutput'
IcebergOptimizationProperties:
$ref: '#/components/schemas/IcebergOptimizationPropertiesOutput'
CustomProperties:
type: object
additionalProperties:
type: string
description: Additional key-value properties for the catalog, such as column statistics optimizations.
AccessDeniedException:
type: object
properties:
Message:
type: string
description: A message describing the problem.
InternalServiceException:
type: object
properties:
Message:
type: string
description: A message describing the problem.
DeleteCatalogRequest:
type: object
properties:
CatalogId:
type: string
description: The ID of the catalog.
required:
- CatalogId
securitySchemes:
sigv4:
type: apiKey
in: header
name: Authorization
description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
x-aws-sigv4:
signingName: glue
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/glue/service/2017-03-31/glue-2017-03-31.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)