Amazon DataZone Datazone Rules API

The Datazone Rules API from Amazon DataZone — 2 operation(s) for datazone rules.

Business capability
Data Governance Management BC-610.10

Operations 4

POST /v2/domains/{domainIdentifier}/rules Create Rule #
GET /v2/domains/{domainIdentifier}/rules/{identifier} Get Rule #
PATCH /v2/domains/{domainIdentifier}/rules/{identifier} Update Rule #
DELETE /v2/domains/{domainIdentifier}/rules/{identifier} Delete Rule #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-datazone:amazon-datazone-rules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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 Specification

amazon-datazone-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Amazon DataZone Rules API
  version: '2018-05-10'
  description: Generated from AWS's published Smithy model for Amazon DataZone. 4 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://datazone.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Rules
paths:
  /v2/domains/{domainIdentifier}/rules:
    post:
      operationId: CreateRule
      summary: Create Rule
      description: Creates a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateRuleOutput'
        '403':
          description: AccessDeniedException; AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException; ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRuleInput'
      tags:
      - Rules
  /v2/domains/{domainIdentifier}/rules/{identifier}:
    get:
      operationId: GetRule
      summary: Get Rule
      description: Gets the details of a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRuleOutput'
        '403':
          description: AccessDeniedException; AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException; ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetRuleInput'
      tags:
      - Rules
    patch:
      operationId: UpdateRule
      summary: Update Rule
      description: Updates a rule. In Amazon DataZone, a rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateRuleOutput'
        '403':
          description: AccessDeniedException; AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '402':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '429':
          description: ThrottlingException; ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRuleInput'
      tags:
      - Rules
    delete:
      operationId: DeleteRule
      summary: Delete Rule
      description: Deletes a rule in Amazon DataZone. A rule is a formal agreement that enforces specific requirements across user workflows (e.g., publishing assets to the catalog, requesting subscriptions, creating projects) within the Amazon DataZone data portal. These rules help maintain consistency, ensure compliance, and uphold governance standards in data management processes. For instance, a metadata enforcement rule can specify the required information for creating a subscription request or publishing a data asset to the catalog, ensuring alignment with organizational standards.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteRuleOutput'
        '403':
          description: AccessDeniedException; AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '409':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '500':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
        '404':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '429':
          description: ThrottlingException; ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '401':
          description: UnauthorizedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRuleInput'
      tags:
      - Rules
components:
  schemas:
    GetRuleInput:
      type: object
      properties:
        domainIdentifier:
          type: string
          description: The ID of the domain where the GetRule action is to be invoked.
        identifier:
          type: string
          description: The ID of the rule.
        revision:
          type: string
          description: The revision of the rule.
      required:
      - domainIdentifier
      - identifier
    ValidationException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ProjectsForRule:
      type: object
      properties:
        selectionMode:
          type: string
          enum:
          - ALL
          - SPECIFIC
          description: The selection mode of the rule.
        specificProjects:
          type: array
          items:
            type: string
          description: The specific projects in which the rule is created.
      required:
      - selectionMode
    DeleteRuleOutput:
      type: object
      properties: {}
    UpdateRuleInput:
      type: object
      properties:
        domainIdentifier:
          type: string
          description: The ID of the domain in which a rule is to be updated.
        identifier:
          type: string
          description: The ID of the rule that is to be updated
        name:
          type: string
          description: The name of the rule.
        description:
          type: string
          description: The description of the rule.
        scope:
          $ref: '#/components/schemas/RuleScope'
        detail:
          $ref: '#/components/schemas/RuleDetail'
        includeChildDomainUnits:
          type: boolean
          description: Specifies whether to update this rule in the child domain units.
      required:
      - domainIdentifier
      - identifier
    MetadataFormReference:
      type: object
      properties:
        typeIdentifier:
          type: string
          description: The type ID of the metadata form reference.
        typeRevision:
          type: string
          description: The type revision of the metadata form reference.
      required:
      - typeIdentifier
      - typeRevision
    DeleteRuleInput:
      type: object
      properties:
        domainIdentifier:
          type: string
          description: The ID of the domain that where the rule is to be deleted.
        identifier:
          type: string
          description: The ID of the rule that is to be deleted.
      required:
      - domainIdentifier
      - identifier
    CreateRuleInput:
      type: object
      properties:
        domainIdentifier:
          type: string
          description: The ID of the domain where the rule is created.
        name:
          type: string
          description: The name of the rule.
        target:
          $ref: '#/components/schemas/RuleTarget'
        action:
          type: string
          enum:
          - CREATE_LISTING_CHANGE_SET
          - CREATE_SUBSCRIPTION_REQUEST
          description: The action of the rule.
        scope:
          $ref: '#/components/schemas/RuleScope'
        detail:
          $ref: '#/components/schemas/RuleDetail'
        description:
          type: string
          description: The description of the rule.
        clientToken:
          type: string
          description: A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.
      required:
      - domainIdentifier
      - name
      - target
      - action
      - scope
      - detail
    RuleTarget:
      type: object
      properties:
        domainUnitTarget:
          $ref: '#/components/schemas/DomainUnitTarget'
      description: Exactly one member is set.
    UnauthorizedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    DomainUnitTarget:
      type: object
      properties:
        domainUnitId:
          type: string
          description: The ID of the domain unit.
        includeChildDomainUnits:
          type: boolean
          description: Specifies whether to apply a rule to the child domain units.
      required:
      - domainUnitId
    MetadataFormEnforcementDetail:
      type: object
      properties:
        requiredMetadataForms:
          type: array
          items:
            $ref: '#/components/schemas/MetadataFormReference'
          description: The required metadata forms.
    ThrottlingException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    CreateRuleOutput:
      type: object
      properties:
        identifier:
          type: string
          description: The ID of the rule.
        name:
          type: string
          description: The name of the rule.
        ruleType:
          type: string
          enum:
          - METADATA_FORM_ENFORCEMENT
          - GLOSSARY_TERM_ENFORCEMENT
          description: The type of the rule.
        target:
          $ref: '#/components/schemas/RuleTarget'
        action:
          type: string
          enum:
          - CREATE_LISTING_CHANGE_SET
          - CREATE_SUBSCRIPTION_REQUEST
          description: The action of the rule.
        scope:
          $ref: '#/components/schemas/RuleScope'
        detail:
          $ref: '#/components/schemas/RuleDetail'
        targetType:
          type: string
          enum:
          - DOMAIN_UNIT
          description: The target type of the rule.
        description:
          type: string
          description: The description of the rule.
        createdAt:
          type: string
          format: date-time
          description: The timestamp at which the rule is created.
        createdBy:
          type: string
          description: The user who creates the rule.
      required:
      - identifier
      - name
      - ruleType
      - target
      - action
      - scope
      - detail
      - createdAt
      - createdBy
    AssetTypesForRule:
      type: object
      properties:
        selectionMode:
          type: string
          enum:
          - ALL
          - SPECIFIC
          description: The selection mode for the rule.
        specificAssetTypes:
          type: array
          items:
            type: string
          description: The specific asset types that are included in the rule.
      required:
      - selectionMode
    UpdateRuleOutput:
      type: object
      properties:
        identifier:
          type: string
          description: The ID of the rule.
        revision:
          type: string
          description: The revision of the rule.
        name:
          type: string
          description: The name of the rule.
        ruleType:
          type: string
          enum:
          - METADATA_FORM_ENFORCEMENT
          - GLOSSARY_TERM_ENFORCEMENT
          description: The type of the rule.
        target:
          $ref: '#/components/schemas/RuleTarget'
        action:
          type: string
          enum:
          - CREATE_LISTING_CHANGE_SET
          - CREATE_SUBSCRIPTION_REQUEST
          description: The action of the rule.
        scope:
          $ref: '#/components/schemas/RuleScope'
        detail:
          $ref: '#/components/schemas/RuleDetail'
        description:
          type: string
          description: The description of the rule.
        createdAt:
          type: string
          format: date-time
          description: The timestamp at which the rule was created.
        updatedAt:
          type: string
          format: date-time
          description: The timestamp at which the rule was last updated.
        createdBy:
          type: string
          description: The user who created the rule.
        lastUpdatedBy:
          type: string
          description: The timestamp at which the rule was last updated.
      required:
      - identifier
      - revision
      - name
      - ruleType
      - target
      - action
      - scope
      - detail
      - createdAt
      - updatedAt
      - createdBy
      - lastUpdatedBy
    GetRuleOutput:
      type: object
      properties:
        identifier:
          type: string
          description: The ID of the rule.
        revision:
          type: string
          description: The revision of the rule.
        name:
          type: string
          description: The name of the rule.
        ruleType:
          type: string
          enum:
          - METADATA_FORM_ENFORCEMENT
          - GLOSSARY_TERM_ENFORCEMENT
          description: The type of the rule.
        target:
          $ref: '#/components/schemas/RuleTarget'
        action:
          type: string
          enum:
          - CREATE_LISTING_CHANGE_SET
          - CREATE_SUBSCRIPTION_REQUEST
          description: The action of the rule.
        scope:
          $ref: '#/components/schemas/RuleScope'
        detail:
          $ref: '#/components/schemas/RuleDetail'
        targetType:
          type: string
          enum:
          - DOMAIN_UNIT
          description: The target type of the rule.
        description:
          type: string
          description: The description of the rule.
        createdAt:
          type: string
          format: date-time
          description: The timestamp at which the rule was created.
        updatedAt:
          type: string
          format: date-time
          description: The timestamp at which the rule was last updated.
        createdBy:
          type: string
          description: The user who created the rule.
        lastUpdatedBy:
          type: string
          description: The timestamp at which the rule was last updated.
      required:
      - identifier
      - revision
      - name
      - ruleType
      - target
      - action
      - scope
      - detail
      - createdAt
      - updatedAt
      - createdBy
      - lastUpdatedBy
    RuleDetail:
      type: object
      properties:
        metadataFormEnforcementDetail:
          $ref: '#/components/schemas/MetadataFormEnforcementDetail'
        glossaryTermEnforcementDetail:
          $ref: '#/components/schemas/GlossaryTermEnforcementDetail'
      description: Exactly one member is set.
    AccessDeniedException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    GlossaryTermEnforcementDetail:
      type: object
      properties:
        requiredGlossaryTermIds:
          type: array
          items:
            type: string
          description: The ID of the required glossary term.
    InternalServerException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    RuleScope:
      type: object
      properties:
        assetType:
          $ref: '#/components/schemas/AssetTypesForRule'
        dataProduct:
          type: boolean
          description: The data product included in the rule scope.
        project:
          $ref: '#/components/schemas/ProjectsForRule'
    ResourceNotFoundException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ServiceQuotaExceededException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
    ConflictException:
      type: object
      properties:
        message:
          type: string
      required:
      - message
  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: datazone
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/datazone/service/2018-05-10/datazone-2018-05-10.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)