AWS Glue API

Programmatic interface for managing the Glue Data Catalog, crawlers, ETL jobs, triggers, workflows, development endpoints, and data quality rulesets. Requests are signed with AWS Signature Version 4 and sent to regional Glue endpoints (glue..amazonaws.com).

OpenAPI Specification

aws-glue-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AWS Glue API
  version: '2017-03-31'
  description: |
    AWS Glue is a fully managed serverless ETL service. The Glue API uses an
    AWS JSON 1.1 RPC protocol: operations are POST requests to the root path
    with the operation name specified in the X-Amz-Target header (e.g.
    `AWSGlue.GetDatabases`). All requests are signed with AWS Signature
    Version 4 (SigV4).

    See https://docs.aws.amazon.com/glue/latest/webapi/WebAPI_Welcome.html
servers:
  - url: https://glue.{region}.amazonaws.com
    description: AWS Glue regional endpoint
    variables:
      region:
        default: us-east-1
tags:
  - name: Databases
  - name: Tables
  - name: Partitions
  - name: Connections
  - name: Crawlers
  - name: Classifiers
  - name: Jobs
  - name: Triggers
  - name: Workflows
  - name: Schema Registry
  - name: Sessions
  - name: Data Quality
  - name: Integrations
security:
  - SigV4: []
paths:
  /:
    post:
      summary: AWS Glue JSON RPC entry point
      description: |
        All AWS Glue operations are POST requests to the root path with the
        operation name in the `X-Amz-Target` header in the form
        `AWSGlue.<OperationName>`. The body is a JSON object containing
        operation input parameters. A representative subset of supported
        operations is enumerated below.
      operationId: invokeAction
      parameters:
        - name: X-Amz-Target
          in: header
          required: true
          schema:
            type: string
            enum:
              - AWSGlue.CreateDatabase
              - AWSGlue.UpdateDatabase
              - AWSGlue.DeleteDatabase
              - AWSGlue.GetDatabase
              - AWSGlue.GetDatabases
              - AWSGlue.CreateTable
              - AWSGlue.UpdateTable
              - AWSGlue.DeleteTable
              - AWSGlue.GetTable
              - AWSGlue.GetTables
              - AWSGlue.SearchTables
              - AWSGlue.GetTableVersion
              - AWSGlue.GetTableVersions
              - AWSGlue.DeleteTableVersion
              - AWSGlue.BatchDeleteTable
              - AWSGlue.BatchDeleteTableVersion
              - AWSGlue.CreatePartition
              - AWSGlue.UpdatePartition
              - AWSGlue.DeletePartition
              - AWSGlue.GetPartition
              - AWSGlue.GetPartitions
              - AWSGlue.BatchCreatePartition
              - AWSGlue.BatchDeletePartition
              - AWSGlue.BatchGetPartition
              - AWSGlue.BatchUpdatePartition
              - AWSGlue.CreateConnection
              - AWSGlue.UpdateConnection
              - AWSGlue.DeleteConnection
              - AWSGlue.GetConnection
              - AWSGlue.GetConnections
              - AWSGlue.BatchDeleteConnection
              - AWSGlue.TestConnection
              - AWSGlue.CreateCrawler
              - AWSGlue.UpdateCrawler
              - AWSGlue.DeleteCrawler
              - AWSGlue.GetCrawler
              - AWSGlue.GetCrawlers
              - AWSGlue.ListCrawlers
              - AWSGlue.StartCrawler
              - AWSGlue.StopCrawler
              - AWSGlue.GetCrawlerMetrics
              - AWSGlue.StartCrawlerSchedule
              - AWSGlue.StopCrawlerSchedule
              - AWSGlue.UpdateCrawlerSchedule
              - AWSGlue.CreateClassifier
              - AWSGlue.UpdateClassifier
              - AWSGlue.DeleteClassifier
              - AWSGlue.GetClassifier
              - AWSGlue.GetClassifiers
              - AWSGlue.CreateJob
              - AWSGlue.UpdateJob
              - AWSGlue.DeleteJob
              - AWSGlue.GetJob
              - AWSGlue.GetJobs
              - AWSGlue.ListJobs
              - AWSGlue.StartJobRun
              - AWSGlue.GetJobRun
              - AWSGlue.GetJobRuns
              - AWSGlue.BatchStopJobRun
              - AWSGlue.ResetJobBookmark
              - AWSGlue.GetJobBookmark
              - AWSGlue.CreateTrigger
              - AWSGlue.UpdateTrigger
              - AWSGlue.DeleteTrigger
              - AWSGlue.GetTrigger
              - AWSGlue.GetTriggers
              - AWSGlue.ListTriggers
              - AWSGlue.StartTrigger
              - AWSGlue.StopTrigger
              - AWSGlue.CreateWorkflow
              - AWSGlue.UpdateWorkflow
              - AWSGlue.DeleteWorkflow
              - AWSGlue.GetWorkflow
              - AWSGlue.ListWorkflows
              - AWSGlue.StartWorkflowRun
              - AWSGlue.StopWorkflowRun
              - AWSGlue.GetWorkflowRun
              - AWSGlue.GetWorkflowRuns
              - AWSGlue.ResumeWorkflowRun
              - AWSGlue.CreateRegistry
              - AWSGlue.UpdateRegistry
              - AWSGlue.DeleteRegistry
              - AWSGlue.GetRegistry
              - AWSGlue.ListRegistries
              - AWSGlue.CreateSchema
              - AWSGlue.UpdateSchema
              - AWSGlue.DeleteSchema
              - AWSGlue.GetSchema
              - AWSGlue.ListSchemas
              - AWSGlue.RegisterSchemaVersion
              - AWSGlue.GetSchemaVersion
              - AWSGlue.ListSchemaVersions
              - AWSGlue.DeleteSchemaVersions
              - AWSGlue.GetSchemaVersionsDiff
              - AWSGlue.CheckSchemaVersionValidity
              - AWSGlue.PutSchemaVersionMetadata
              - AWSGlue.QuerySchemaVersionMetadata
              - AWSGlue.RemoveSchemaVersionMetadata
              - AWSGlue.CreateSession
              - AWSGlue.DeleteSession
              - AWSGlue.GetSession
              - AWSGlue.ListSessions
              - AWSGlue.StopSession
              - AWSGlue.RunStatement
              - AWSGlue.CancelStatement
              - AWSGlue.GetStatement
              - AWSGlue.ListStatements
              - AWSGlue.CreateDataQualityRuleset
              - AWSGlue.UpdateDataQualityRuleset
              - AWSGlue.DeleteDataQualityRuleset
              - AWSGlue.GetDataQualityRuleset
              - AWSGlue.ListDataQualityRulesets
              - AWSGlue.GetDataQualityResult
              - AWSGlue.ListDataQualityResults
              - AWSGlue.StartDataQualityRulesetEvaluationRun
              - AWSGlue.StartDataQualityRuleRecommendationRun
              - AWSGlue.CreateIntegration
              - AWSGlue.DeleteIntegration
              - AWSGlue.DescribeIntegrations
              - AWSGlue.ModifyIntegration
              - AWSGlue.TagResource
              - AWSGlue.UntagResource
              - AWSGlue.GetTags
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
            enum: [application/x-amz-json-1.1]
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              type: object
              additionalProperties: true
              description: Operation-specific JSON input
      responses:
        '200':
          description: Successful response
          content:
            application/x-amz-json-1.1:
              schema:
                type: object
                additionalProperties: true
        '400':
          description: Client error
        '500':
          description: Server error
components:
  securitySchemes:
    SigV4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4 signed Authorization header