---
title: "POST /v1/jobs"
method: POST
path: "/v1/jobs"
---

# POST /v1/jobs

`POST /v1/jobs`

This operation creates a job.

## Request body

- object
  - `Details` object, required — The details for the request.
    - `ExportAssetToSignedUrl` object — Details about the export to signed URL request.
      - `AssetId` string, required — The unique identifier for the asset that is exported to a signed URL.
      - `DataSetId` string, required — The unique identifier for the data set associated with this export job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this export request.
    - `ExportAssetsToS3` object — Details about the export to Amazon S3 request.
      - `AssetDestinations` AssetDestinationEntry[], required — The destination for the asset.
        - `AssetId` string, required — The unique identifier for the asset.
        - `Bucket` string, required — The Amazon S3 bucket that is the destination for the asset.
        - `Key` string — The name of the object in Amazon S3 for the asset.
      - `DataSetId` string, required — The unique identifier for the data set associated with this export job.
      - `Encryption` object — Encryption configuration for the export job.
        - `KmsKeyArn` string — The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.
        - `Type` 'aws:kms' | 'AES256', required — The type of server side encryption used for encrypting the objects in Amazon S3.
      - `RevisionId` string, required — The unique identifier for the revision associated with this export request.
    - `ExportRevisionsToS3` object — Details about the export to Amazon S3 request.
      - `DataSetId` string, required — The unique identifier for the data set associated with this export job.
      - `Encryption` object — Encryption configuration for the export job.
        - `KmsKeyArn` string — The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.
        - `Type` 'aws:kms' | 'AES256', required — The type of server side encryption used for encrypting the objects in Amazon S3.
      - `RevisionDestinations` RevisionDestinationEntry[], required — The destination for the revision.
        - `Bucket` string, required — The Amazon S3 bucket that is the destination for the assets in the revision.
        - `KeyPattern` string — A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see <a href="https://docs.aws.amazon.com/data-exchange/latest/userguide/jobs.html#revision-export-keypatterns">Key patterns when exporting revisions</a>.
        - `RevisionId` string, required — The unique identifier for the revision.
    - `ImportAssetFromSignedUrl` object — Details about the import from Amazon S3 request.
      - `AssetName` string, required — The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used as the asset name.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `Md5Hash` string, required — The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import request.
    - `ImportAssetsFromS3` object — Details about the import asset from API Gateway API request.
      - `AssetSources` AssetSourceEntry[], required — Is a list of Amazon S3 bucket and object key pairs.
        - `Bucket` string, required — The Amazon S3 bucket that's part of the source of the asset.
        - `Key` string, required — The name of the object in Amazon S3 for the asset.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import request.
    - `ImportAssetsFromRedshiftDataShares` object — Details from an import from Amazon Redshift datashare request.
      - `AssetSources` RedshiftDataShareAssetSourceEntry[], required — A list of Amazon Redshift datashare assets.
        - `DataShareArn` string, required — The Amazon Resource Name (ARN) of the datashare asset.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import job.
    - `ImportAssetFromApiGatewayApi` object — Details about the import from signed URL request.
      - `ApiDescription` string — The API description. Markdown supported.
      - `ApiId` string, required — The API Gateway API ID.
      - `ApiKey` string — The API Gateway API key.
      - `ApiName` string, required — The API name.
      - `ApiSpecificationMd5Hash` string, required — The Base64-encoded MD5 hash of the OpenAPI 3.0 JSON API specification file. It is used to ensure the integrity of the file.
      - `DataSetId` string, required — The data set ID.
      - `ProtocolType` 'REST', required — The protocol type.
      - `RevisionId` string, required — The revision ID.
      - `Stage` string, required — The API stage.
    - `CreateS3DataAccessFromS3Bucket` object — Details of the request to create S3 data access from the Amazon S3 bucket.
      - `AssetSource` object, required — Details about the S3 data access source asset.
        - `Bucket` string, required — The Amazon S3 bucket used for hosting shared data in the Amazon S3 data access.
        - `KeyPrefixes` String[] — Organizes Amazon S3 asset key prefixes stored in an Amazon S3 bucket.
        - `Keys` String[] — The keys used to create the Amazon S3 data access.
        - `KmsKeysToGrant` KmsKeyToGrant[] — List of AWS KMS CMKs (Key Management System Customer Managed Keys) and ARNs used to encrypt S3 objects being shared in this S3 Data Access asset.
          - `KmsKeyArn` string, required — The AWS KMS CMK (Key Management System Customer Managed Key) used to encrypt S3 objects in the shared S3 Bucket. AWS Data exchange will create a KMS grant for each subscriber to allow them to access and decrypt their entitled data that is encrypted using this KMS key specified.
      - `DataSetId` string, required — The unique identifier for the data set associated with the creation of this Amazon S3 data access.
      - `RevisionId` string, required — The unique identifier for a revision.
    - `ImportAssetsFromLakeFormationTagPolicy` object — Request details for the ImportAssetsFromLakeFormationTagPolicy job.
      - `CatalogId` string, required — The identifier for the AWS Glue Data Catalog.
      - `Database` object — A structure for the database object.
        - `Expression` LFTag[], required — A list of LF-tag conditions that apply to database resources.
          - `TagKey` string, required — The key name for the LF-tag.
          - `TagValues` String[], required — A list of LF-tag values.
        - `Permissions` DatabaseLFTagPolicyPermission[], required — The permissions granted to subscribers on database resources.
      - `Table` object — A structure for the table object.
        - `Expression` LFTag[], required — A list of LF-tag conditions that apply to table resources.
          - `TagKey` string, required — The key name for the LF-tag.
          - `TagValues` String[], required — A list of LF-tag values.
        - `Permissions` TableTagPolicyLFPermission[], required — The permissions granted to subscribers on table resources.
      - `RoleArn` string, required — The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions of subscribers to AWS Lake Formation data permissions.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import job.
  - `Type` 'IMPORT_ASSETS_FROM_S3' | 'IMPORT_ASSET_FROM_SIGNED_URL' | 'EXPORT_ASSETS_TO_S3' | 'EXPORT_ASSET_TO_SIGNED_URL' | 'EXPORT_REVISIONS_TO_S3' | 'IMPORT_ASSETS_FROM_REDSHIFT_DATA_SHARES' | 'IMPORT_ASSET_FROM_API_GATEWAY_API' | 'CREATE_S3_DATA_ACCESS_FROM_S3_BUCKET' | 'IMPORT_ASSETS_FROM_LAKE_FORMATION_TAG_POLICY', required — The type of job to be created.

## Response `201`

Success

- CreateJobResponse
  - `Arn` string — The ARN for the job.
  - `CreatedAt` string, date-time — The date and time that the job was created, in ISO 8601 format.
  - `Details` object — Details about the job.
    - `ExportAssetToSignedUrl` object — Details for the export to signed URL response.
      - `AssetId` string, required — The unique identifier for the asset associated with this export job.
      - `DataSetId` string, required — The unique identifier for the data set associated with this export job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this export response.
      - `SignedUrl` string — The signed URL for the export request.
      - `SignedUrlExpiresAt` string, date-time — The date and time that the signed URL expires, in ISO 8601 format.
    - `ExportAssetsToS3` object — Details for the export to Amazon S3 response.
      - `AssetDestinations` AssetDestinationEntry[], required — The destination in Amazon S3 where the asset is exported.
        - `AssetId` string, required — The unique identifier for the asset.
        - `Bucket` string, required — The Amazon S3 bucket that is the destination for the asset.
        - `Key` string — The name of the object in Amazon S3 for the asset.
      - `DataSetId` string, required — The unique identifier for the data set associated with this export job.
      - `Encryption` object — Encryption configuration of the export job.
        - `KmsKeyArn` string — The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.
        - `Type` 'aws:kms' | 'AES256', required — The type of server side encryption used for encrypting the objects in Amazon S3.
      - `RevisionId` string, required — The unique identifier for the revision associated with this export response.
    - `ExportRevisionsToS3` object — Details for the export revisions to Amazon S3 response.
      - `DataSetId` string, required — The unique identifier for the data set associated with this export job.
      - `Encryption` object — Encryption configuration of the export job.
        - `KmsKeyArn` string — The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.
        - `Type` 'aws:kms' | 'AES256', required — The type of server side encryption used for encrypting the objects in Amazon S3.
      - `RevisionDestinations` RevisionDestinationEntry[], required — The destination in Amazon S3 where the revision is exported.
        - `Bucket` string, required — The Amazon S3 bucket that is the destination for the assets in the revision.
        - `KeyPattern` string — A string representing the pattern for generated names of the individual assets in the revision. For more information about key patterns, see <a href="https://docs.aws.amazon.com/data-exchange/latest/userguide/jobs.html#revision-export-keypatterns">Key patterns when exporting revisions</a>.
        - `RevisionId` string, required — The unique identifier for the revision.
      - `EventActionArn` string — The Amazon Resource Name (ARN) of the event action.
    - `ImportAssetFromSignedUrl` object — Details for the import from signed URL response.
      - `AssetName` string, required — The name for the asset associated with this import job.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `Md5Hash` string — The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import response.
      - `SignedUrl` string — The signed URL.
      - `SignedUrlExpiresAt` string, date-time — The time and date at which the signed URL expires, in ISO 8601 format.
    - `ImportAssetsFromS3` object — Details for the import from Amazon S3 response.
      - `AssetSources` AssetSourceEntry[], required — Is a list of Amazon S3 bucket and object key pairs.
        - `Bucket` string, required — The Amazon S3 bucket that's part of the source of the asset.
        - `Key` string, required — The name of the object in Amazon S3 for the asset.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import response.
    - `ImportAssetsFromRedshiftDataShares` object — Details from an import from Amazon Redshift datashare response.
      - `AssetSources` RedshiftDataShareAssetSourceEntry[], required — A list of Amazon Redshift datashare asset sources.
        - `DataShareArn` string, required — The Amazon Resource Name (ARN) of the datashare asset.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import job.
    - `ImportAssetFromApiGatewayApi` object — The response details.
      - `ApiDescription` string — The API description.
      - `ApiId` string, required — The API ID.
      - `ApiKey` string — The API key.
      - `ApiName` string, required — The API name.
      - `ApiSpecificationMd5Hash` string, required — The Base64-encoded Md5 hash for the API asset, used to ensure the integrity of the API at that location.
      - `ApiSpecificationUploadUrl` string, required — The upload URL of the API specification.
      - `ApiSpecificationUploadUrlExpiresAt` string, date-time, required — The date and time that the upload URL expires, in ISO 8601 format.
      - `DataSetId` string, required — The data set ID.
      - `ProtocolType` 'REST', required — The protocol type.
      - `RevisionId` string, required — The revision ID.
      - `Stage` string, required — The API stage.
    - `CreateS3DataAccessFromS3Bucket` object — Response details from the CreateS3DataAccessFromS3Bucket job.
      - `AssetSource` object, required — Details about the asset source from an Amazon S3 bucket.
        - `Bucket` string, required — The Amazon S3 bucket used for hosting shared data in the Amazon S3 data access.
        - `KeyPrefixes` String[] — Organizes Amazon S3 asset key prefixes stored in an Amazon S3 bucket.
        - `Keys` String[] — The keys used to create the Amazon S3 data access.
        - `KmsKeysToGrant` KmsKeyToGrant[] — List of AWS KMS CMKs (Key Management System Customer Managed Keys) and ARNs used to encrypt S3 objects being shared in this S3 Data Access asset.
          - `KmsKeyArn` string, required — The AWS KMS CMK (Key Management System Customer Managed Key) used to encrypt S3 objects in the shared S3 Bucket. AWS Data exchange will create a KMS grant for each subscriber to allow them to access and decrypt their entitled data that is encrypted using this KMS key specified.
      - `DataSetId` string, required — The unique identifier for this data set.
      - `RevisionId` string, required — The unique identifier for the revision.
    - `ImportAssetsFromLakeFormationTagPolicy` object — Response details from the ImportAssetsFromLakeFormationTagPolicy job.
      - `CatalogId` string, required — The identifier for the AWS Glue Data Catalog.
      - `Database` object — A structure for the database object.
        - `Expression` LFTag[], required — A list of LF-tag conditions that apply to database resources.
          - `TagKey` string, required — The key name for the LF-tag.
          - `TagValues` String[], required — A list of LF-tag values.
        - `Permissions` DatabaseLFTagPolicyPermission[], required — The permissions granted to subscribers on database resources.
      - `Table` object — A structure for the table object.
        - `Expression` LFTag[], required — A list of LF-tag conditions that apply to table resources.
          - `TagKey` string, required — The key name for the LF-tag.
          - `TagValues` String[], required — A list of LF-tag values.
        - `Permissions` TableTagPolicyLFPermission[], required — The permissions granted to subscribers on table resources.
      - `RoleArn` string, required — The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke permissions to AWS Lake Formation data permissions.
      - `DataSetId` string, required — The unique identifier for the data set associated with this import job.
      - `RevisionId` string, required — The unique identifier for the revision associated with this import job.
  - `Errors` JobError[] — The errors associated with jobs.
    - `Code` 'ACCESS_DENIED_EXCEPTION' | 'INTERNAL_SERVER_EXCEPTION' | 'MALWARE_DETECTED' | 'RESOURCE_NOT_FOUND_EXCEPTION' | 'SERVICE_QUOTA_EXCEEDED_EXCEPTION' | 'VALIDATION_EXCEPTION' | 'MALWARE_SCAN_ENCRYPTED_FILE', required — The code for the job error.
    - `Details` object — The details about the job error.
      - `ImportAssetFromSignedUrlJobErrorDetails` object — Information about the job error.
        - `AssetName` string, required — Details about the job error.
      - `ImportAssetsFromS3JobErrorDetails` AssetSourceEntry[] — Details about the job error.
        - `Bucket` string, required — The Amazon S3 bucket that's part of the source of the asset.
        - `Key` string, required — The name of the object in Amazon S3 for the asset.
    - `LimitName` 'Assets per revision' | 'Asset size in GB' | 'Amazon Redshift datashare assets per revision' | 'AWS Lake Formation data permission assets per revision' | 'Amazon S3 data access assets per revision' — The name of the limit that was reached.
    - `LimitValue` number, double — The value of the exceeded limit.
    - `Message` string, required — The message related to the job error.
    - `ResourceId` string — The unique identifier for the resource related to the error.
    - `ResourceType` 'REVISION' | 'ASSET' | 'DATA_SET' — The type of resource related to the error.
  - `Id` string — The unique identifier for the job.
  - `State` 'WAITING' | 'IN_PROGRESS' | 'ERROR' | 'COMPLETED' | 'CANCELLED' | 'TIMED_OUT' — The state of the job.
  - `Type` 'IMPORT_ASSETS_FROM_S3' | 'IMPORT_ASSET_FROM_SIGNED_URL' | 'EXPORT_ASSETS_TO_S3' | 'EXPORT_ASSET_TO_SIGNED_URL' | 'EXPORT_REVISIONS_TO_S3' | 'IMPORT_ASSETS_FROM_REDSHIFT_DATA_SHARES' | 'IMPORT_ASSET_FROM_API_GATEWAY_API' | 'CREATE_S3_DATA_ACCESS_FROM_S3_BUCKET' | 'IMPORT_ASSETS_FROM_LAKE_FORMATION_TAG_POLICY' — The job type.
  - `UpdatedAt` string, date-time — The date and time that the job was last updated, in ISO 8601 format.

## Other responses

- `480` — ResourceNotFoundException
- `481` — ThrottlingException
- `482` — AccessDeniedException
- `483` — ConflictException
- `484` — ValidationException
- `485` — InternalServerException

---

[API](https://skmtc.net/aws/apis/dataexchange.md) · [All operations](https://skmtc.net/aws/apis/dataexchange/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/dataexchange/versions/8430cce2f89e/schema)
