Amazon Data Exchange Data Exchange Operations API

The Data Exchange Operations API from Amazon Data Exchange — 6 operation(s) for data exchange operations.

Operations 6

POST /v1 Send Api Asset #
POST /v1/data-grants/{DataGrantArn}/accept Accept Data Grant #
GET /v1/received-data-grants/{DataGrantArn} Get Received Data Grant #
GET /v1/received-data-grants List Received Data Grants #
POST /v1/data-sets/{DataSetId}/revisions/{RevisionId}/revoke Revoke Revision #
POST /v1/data-sets/{DataSetId}/notification Send Data Set Notification #

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-data-exchange:amazon-data-exchange-operations-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-data-exchange-operations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWS Data Exchange Operations API
  version: '2017-07-25'
  description: Generated from AWS's published Smithy model for AWS Data Exchange. 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://dataexchange.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Operations
paths:
  /v1:
    post:
      operationId: SendApiAsset
      summary: Send Api Asset
      description: This operation invokes an API Gateway API asset. The request is proxied to the provider’s API Gateway API.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendApiAssetResponse'
        '403':
          description: 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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendApiAssetRequest'
      tags:
      - Operations
  /v1/data-grants/{DataGrantArn}/accept:
    post:
      operationId: AcceptDataGrant
      summary: Accept Data Grant
      description: This operation accepts a data grant.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptDataGrantResponse'
        '403':
          description: 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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptDataGrantRequest'
      tags:
      - Operations
  /v1/received-data-grants/{DataGrantArn}:
    get:
      operationId: GetReceivedDataGrant
      summary: Get Received Data Grant
      description: This operation returns information about a received data grant.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetReceivedDataGrantResponse'
        '403':
          description: 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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetReceivedDataGrantRequest'
      tags:
      - Operations
  /v1/received-data-grants:
    get:
      operationId: ListReceivedDataGrants
      summary: List Received Data Grants
      description: This operation returns information about all received data grants.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListReceivedDataGrantsResponse'
        '403':
          description: 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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ListReceivedDataGrantsRequest'
      tags:
      - Operations
  /v1/data-sets/{DataSetId}/revisions/{RevisionId}/revoke:
    post:
      operationId: RevokeRevision
      summary: Revoke Revision
      description: This operation revokes subscribers' access to a revision.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RevokeRevisionResponse'
        '403':
          description: 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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevokeRevisionRequest'
      tags:
      - Operations
  /v1/data-sets/{DataSetId}/notification:
    post:
      operationId: SendDataSetNotification
      summary: Send Data Set Notification
      description: The type of event associated with the data set.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendDataSetNotificationResponse'
        '403':
          description: 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
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '400':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendDataSetNotificationRequest'
      tags:
      - Operations
components:
  schemas:
    S3DataAccessDetails:
      type: object
      properties:
        KeyPrefixes:
          type: array
          items:
            type: string
          description: A list of the key prefixes affected by this notification. This can have up to 50 entries.
        Keys:
          type: array
          items:
            type: string
          description: A list of the keys affected by this notification. This can have up to 50 entries.
    ResourceNotFoundException:
      type: object
      properties:
        Message:
          type: string
          description: The resource couldn't be found.
        ResourceId:
          type: string
          description: The unique identifier for the resource that couldn't be found.
        ResourceType:
          type: string
          description: The type of resource that couldn't be found.
      required:
      - Message
    RevokeRevisionRequest:
      type: object
      properties:
        DataSetId:
          type: string
          description: The unique identifier for a data set.
        RevisionId:
          type: string
          description: The unique identifier for a revision.
        RevocationComment:
          type: string
          description: A required comment to inform subscribers of the reason their access to the revision was revoked.
      required:
      - DataSetId
      - RevisionId
      - RevocationComment
    ValidationException:
      type: object
      properties:
        Message:
          type: string
          description: The message that informs you about what was invalid about the request.
        ExceptionCause:
          type: string
          description: The unique identifier for the resource that couldn't be found.
      required:
      - Message
    AcceptDataGrantRequest:
      type: object
      properties:
        DataGrantArn:
          type: string
          description: The Amazon Resource Name (ARN) of the data grant to accept.
      required:
      - DataGrantArn
    SendApiAssetResponse:
      type: object
      properties:
        Body:
          type: string
          description: The response body from the underlying API tracked by the API asset.
        ResponseHeaders:
          type: object
          additionalProperties:
            type: string
          description: The response headers from the underlying API tracked by the API asset.
    ScopeDetails:
      type: object
      properties:
        LakeFormationTagPolicies:
          type: array
          items:
            $ref: '#/components/schemas/LakeFormationTagPolicyDetails'
          description: Underlying LF resources that will be affected by this notification.
        RedshiftDataShares:
          type: array
          items:
            $ref: '#/components/schemas/RedshiftDataShareDetails'
          description: Underlying Redshift resources that will be affected by this notification.
        S3DataAccesses:
          type: array
          items:
            $ref: '#/components/schemas/S3DataAccessDetails'
          description: Underlying S3 resources that will be affected by this notification.
    ListReceivedDataGrantsResponse:
      type: object
      properties:
        DataGrantSummaries:
          type: array
          items:
            $ref: '#/components/schemas/ReceivedDataGrantSummariesEntry'
          description: An object that contains a list of received data grant information.
        NextToken:
          type: string
          description: The pagination token used to retrieve the next page of results for this operation.
    LakeFormationTagPolicyDetails:
      type: object
      properties:
        Database:
          type: string
          description: The underlying Glue database that the notification is referring to.
        Table:
          type: string
          description: The underlying Glue table that the notification is referring to.
    GetReceivedDataGrantRequest:
      type: object
      properties:
        DataGrantArn:
          type: string
          description: The Amazon Resource Name (ARN) of the data grant.
      required:
      - DataGrantArn
    GetReceivedDataGrantResponse:
      type: object
      properties:
        Name:
          type: string
          description: The name of the data grant.
        SenderPrincipal:
          type: string
          description: The Amazon Web Services account ID of the data grant sender.
        ReceiverPrincipal:
          type: string
          description: The Amazon Web Services account ID of the data grant receiver.
        Description:
          type: string
          description: The description of the data grant.
        AcceptanceState:
          type: string
          description: The acceptance state of the data grant.
        AcceptedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was accepted.
        EndsAt:
          type: string
          format: date-time
          description: The timestamp of when access to the associated data set ends.
        GrantDistributionScope:
          type: string
          description: The distribution scope for the data grant.
        DataSetId:
          type: string
          description: The ID of the data set associated to the data grant.
        Id:
          type: string
          description: The ID of the data grant.
        Arn:
          type: string
          description: The Amazon Resource Name (ARN) of the data grant.
        CreatedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was created.
        UpdatedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was last updated.
      required:
      - Name
      - ReceiverPrincipal
      - AcceptanceState
      - GrantDistributionScope
      - DataSetId
      - Id
      - Arn
      - CreatedAt
      - UpdatedAt
    ReceivedDataGrantSummariesEntry:
      type: object
      properties:
        Name:
          type: string
          description: The name of the data grant.
        SenderPrincipal:
          type: string
          description: The Amazon Web Services account ID of the data grant sender.
        ReceiverPrincipal:
          type: string
          description: The Amazon Web Services account ID of the data grant receiver.
        AcceptanceState:
          type: string
          description: The acceptance state of the data grant.
        AcceptedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was accepted.
        EndsAt:
          type: string
          format: date-time
          description: The timestamp of when access to the associated data set ends.
        DataSetId:
          type: string
          description: The ID of the data set associated to the data grant.
        Id:
          type: string
          description: The ID of the data grant.
        Arn:
          type: string
          description: The Amazon Resource Name (ARN) of the data grant.
        CreatedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was created.
        UpdatedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was last updated.
      required:
      - Name
      - SenderPrincipal
      - ReceiverPrincipal
      - AcceptanceState
      - DataSetId
      - Id
      - Arn
      - CreatedAt
      - UpdatedAt
    AccessDeniedException:
      type: object
      properties:
        Message:
          type: string
          description: Access to the resource is denied.
      required:
      - Message
    SchemaChangeDetails:
      type: object
      properties:
        Name:
          type: string
          description: Name of the changing field. This value can be up to 255 characters long.
        Type:
          type: string
          description: Is the field being added, removed, or modified?
        Description:
          type: string
          description: Description of what's changing about this field. This value can be up to 512 characters long.
      required:
      - Name
      - Type
    AcceptDataGrantResponse:
      type: object
      properties:
        Name:
          type: string
          description: The name of the accepted data grant.
        SenderPrincipal:
          type: string
          description: The Amazon Web Services account ID of the data grant sender.
        ReceiverPrincipal:
          type: string
          description: The Amazon Web Services account ID of the data grant receiver.
        Description:
          type: string
          description: The description of the accepted data grant.
        AcceptanceState:
          type: string
          description: The acceptance state of the data grant.
        AcceptedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was accepted.
        EndsAt:
          type: string
          format: date-time
          description: The timestamp of when access to the associated data set ends.
        GrantDistributionScope:
          type: string
          description: The distribution scope for the data grant.
        DataSetId:
          type: string
          description: The ID of the data set associated to the data grant.
        Id:
          type: string
          description: The ID of the data grant.
        Arn:
          type: string
          description: The Amazon Resource Name (ARN) of the accepted data grant.
        CreatedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was created.
        UpdatedAt:
          type: string
          format: date-time
          description: The timestamp of when the data grant was last updated.
      required:
      - Name
      - ReceiverPrincipal
      - AcceptanceState
      - GrantDistributionScope
      - DataSetId
      - Id
      - Arn
      - CreatedAt
      - UpdatedAt
    ThrottlingException:
      type: object
      properties:
        Message:
          type: string
          description: The limit on the number of requests per second was exceeded.
      required:
      - Message
    ConflictException:
      type: object
      properties:
        Message:
          type: string
          description: The request couldn't be completed because it conflicted with the current state of the resource.
        ResourceId:
          type: string
          description: The unique identifier for the resource with the conflict.
        ResourceType:
          type: string
          description: The type of the resource with the conflict.
      required:
      - Message
    DataUpdateRequestDetails:
      type: object
      properties:
        DataUpdatedAt:
          type: string
          format: date-time
          description: A datetime in the past when the data was updated. This typically means that the underlying resource supporting the data set was updated.
    SendApiAssetRequest:
      type: object
      properties:
        Body:
          type: string
          description: The request body.
        QueryStringParameters:
          type: object
          additionalProperties:
            type: string
          description: Attach query string parameters to the end of the URI (for example, /v1/examplePath?exampleParam=exampleValue).
        AssetId:
          type: string
          description: Asset ID value for the API request.
        DataSetId:
          type: string
          description: Data set ID value for the API request.
        RequestHeaders:
          type: object
          additionalProperties:
            type: string
          description: Any header value prefixed with x-amzn-dataexchange-header- will have that stripped before sending the Asset API request. Use this when you want to override a header that AWS Data Exchange uses. Alternatively, you can use the header without a prefix to the HTTP request.
        Method:
          type: string
          description: HTTP method value for the API request. Alternatively, you can use the appropriate verb in your request.
        Path:
          type: string
          description: URI path value for the API request. Alternatively, you can set the URI path directly by invoking /v1/{pathValue}.
        RevisionId:
          type: string
          description: Revision ID value for the API request.
      required:
      - AssetId
      - DataSetId
      - RevisionId
    SchemaChangeRequestDetails:
      type: object
      properties:
        Changes:
          type: array
          items:
            $ref: '#/components/schemas/SchemaChangeDetails'
          description: List of schema changes happening in the scope of this notification. This can have up to 100 entries.
        SchemaChangeAt:
          type: string
          format: date-time
          description: A date in the future when the schema change is taking effect.
      required:
      - SchemaChangeAt
    RedshiftDataShareDetails:
      type: object
      properties:
        Arn:
          type: string
          description: The ARN of the underlying Redshift data share that is being affected by this notification.
        Database:
          type: string
          description: The database name in the Redshift data share that is being affected by this notification.
        Function:
          type: string
          description: A function name in the Redshift database that is being affected by this notification.
        Table:
          type: string
          description: A table name in the Redshift database that is being affected by this notification.
        Schema:
          type: string
          description: A schema name in the Redshift database that is being affected by this notification.
        View:
          type: string
          description: A view name in the Redshift database that is being affected by this notification.
      required:
      - Arn
      - Database
    InternalServerException:
      type: object
      properties:
        Message:
          type: string
          description: The message identifying the service exception that occurred.
      required:
      - Message
    DeprecationRequestDetails:
      type: object
      properties:
        DeprecationAt:
          type: string
          format: date-time
          description: A datetime in the future when the data set will be deprecated.
      required:
      - DeprecationAt
    RevokeRevisionResponse:
      type: object
      properties:
        Arn:
          type: string
          description: The ARN for the revision.
        Comment:
          type: string
          description: An optional comment about the revision.
        CreatedAt:
          type: string
          format: date-time
          description: The date and time that the revision was created, in ISO 8601 format.
        DataSetId:
          type: string
          description: The unique identifier for the data set associated with the data set revision.
        Finalized:
          type: boolean
          description: To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products. Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.
        Id:
          type: string
          description: The unique identifier for the revision.
        SourceId:
          type: string
          description: The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.
        UpdatedAt:
          type: string
          format: date-time
          description: The date and time that the revision was last updated, in ISO 8601 format.
        RevocationComment:
          type: string
          description: A required comment to inform subscribers of the reason their access to the revision was revoked.
        Revoked:
          type: boolean
          description: A status indicating that subscribers' access to the revision was revoked.
        RevokedAt:
          type: string
          format: date-time
          description: The date and time that the revision was revoked, in ISO 8601 format.
    SendDataSetNotificationResponse:
      type: object
      properties: {}
    SendDataSetNotificationRequest:
      type: object
      properties:
        Scope:
          $ref: '#/components/schemas/ScopeDetails'
        ClientToken:
          type: string
          description: Idempotency key for the notification, this key allows us to deduplicate notifications that are sent in quick succession erroneously.
        Comment:
          type: string
          description: Free-form text field for providers to add information about their notifications.
        DataSetId:
          type: string
          description: Affected data set of the notification.
        Details:
          $ref: '#/components/schemas/NotificationDetails'
        Type:
          type: string
          description: The type of the notification. Describing the kind of event the notification is alerting you to.
      required:
      - DataSetId
      - Type
    ListReceivedDataGrantsRequest:
      type: object
      properties:
        MaxResults:
          type: integer
          description: The maximum number of results to be included in the next page.
        NextToken:
          type: string
          description: The pagination token used to retrieve the next page of results for this operation.
        AcceptanceState:
          type: array
          items:
            type: string
          description: The acceptance state of the data grants to list.
    NotificationDetails:
      type: object
      properties:
        DataUpdate:
          $ref: '#/components/schemas/DataUpdateRequestDetails'
        Deprecation:
          $ref: '#/components/schemas/DeprecationRequestDetails'
        SchemaChange:
          $ref: '#/components/schemas/SchemaChangeRequestDetails'
  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: dataexchange
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/dataexchange/service/2017-07-25/dataexchange-2017-07-25.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)