CloudFront Field Level Encryption API
The Field Level Encryption API from CloudFront — 3 operation(s) for field level encryption.
The Field Level Encryption API from CloudFront — 3 operation(s) for field level encryption.
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/cloudfront:cloudfront-field-level-encryption-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.1.0
info:
title: Amazon CloudFront Field Level Encryption API
version: '2020-05-31'
description: Generated from AWS's published Smithy model for Amazon CloudFront. 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://cloudfront.{region}.amazonaws.com
variables:
region:
default: us-east-1
security:
- sigv4: []
paths:
/2020-05-31/field-level-encryption:
post:
operationId: CreateFieldLevelEncryptionConfig
summary: Create Field Level Encryption Config
description: Create a new field-level encryption configuration.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/CreateFieldLevelEncryptionConfigResult'
'409':
description: FieldLevelEncryptionConfigAlreadyExists
content:
text/xml:
schema:
$ref: '#/components/schemas/FieldLevelEncryptionConfigAlreadyExists'
'400':
description: InconsistentQuantities; InvalidArgument; QueryArgProfileEmpty; TooManyFieldLevelEncryptionConfigs;
TooManyFieldLevelEncryptionContentTypeProfiles; TooManyFieldLevelEncryptionQueryArgProfiles
content:
text/xml:
schema:
$ref: '#/components/schemas/InconsistentQuantities'
'404':
description: NoSuchFieldLevelEncryptionProfile
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchFieldLevelEncryptionProfile'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/CreateFieldLevelEncryptionConfigRequest'
tags:
- Field Level Encryption
get:
operationId: ListFieldLevelEncryptionConfigs
summary: List Field Level Encryption Configs
description: List all field-level encryption configurations that have been created in CloudFront for this account.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ListFieldLevelEncryptionConfigsResult'
'400':
description: InvalidArgument
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidArgument'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/ListFieldLevelEncryptionConfigsRequest'
tags:
- Field Level Encryption
/2020-05-31/field-level-encryption/{Id}:
delete:
operationId: DeleteFieldLevelEncryptionConfig
summary: Delete Field Level Encryption Config
description: Remove a field-level encryption configuration.
responses:
'200':
description: Success
content:
text/xml:
schema:
type: string
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'409':
description: FieldLevelEncryptionConfigInUse
content:
text/xml:
schema:
$ref: '#/components/schemas/FieldLevelEncryptionConfigInUse'
'400':
description: InvalidIfMatchVersion
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidIfMatchVersion'
'404':
description: NoSuchFieldLevelEncryptionConfig
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchFieldLevelEncryptionConfig'
'412':
description: PreconditionFailed
content:
text/xml:
schema:
$ref: '#/components/schemas/PreconditionFailed'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/DeleteFieldLevelEncryptionConfigRequest'
tags:
- Field Level Encryption
get:
operationId: GetFieldLevelEncryption
summary: Get Field Level Encryption
description: Get the field-level encryption configuration information.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetFieldLevelEncryptionResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'404':
description: NoSuchFieldLevelEncryptionConfig
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchFieldLevelEncryptionConfig'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/GetFieldLevelEncryptionRequest'
tags:
- Field Level Encryption
/2020-05-31/field-level-encryption/{Id}/config:
get:
operationId: GetFieldLevelEncryptionConfig
summary: Get Field Level Encryption Config
description: Get the field-level encryption configuration information.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetFieldLevelEncryptionConfigResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'404':
description: NoSuchFieldLevelEncryptionConfig
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchFieldLevelEncryptionConfig'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/GetFieldLevelEncryptionConfigRequest'
tags:
- Field Level Encryption
put:
operationId: UpdateFieldLevelEncryptionConfig
summary: Update Field Level Encryption Config
description: Update a field-level encryption configuration.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/UpdateFieldLevelEncryptionConfigResult'
'403':
description: AccessDenied
content:
text/xml:
schema:
$ref: '#/components/schemas/AccessDenied'
'400':
description: IllegalUpdate; InconsistentQuantities; InvalidArgument; InvalidIfMatchVersion; QueryArgProfileEmpty;
TooManyFieldLevelEncryptionContentTypeProfiles; TooManyFieldLevelEncryptionQueryArgProfiles
content:
text/xml:
schema:
$ref: '#/components/schemas/IllegalUpdate'
'404':
description: NoSuchFieldLevelEncryptionConfig; NoSuchFieldLevelEncryptionProfile
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchFieldLevelEncryptionConfig'
'412':
description: PreconditionFailed
content:
text/xml:
schema:
$ref: '#/components/schemas/PreconditionFailed'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/UpdateFieldLevelEncryptionConfigRequest'
tags:
- Field Level Encryption
components:
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: cloudfront
schemas:
AccessDenied:
type: object
properties:
Message:
type: string
ContentTypeProfile:
type: object
properties:
Format:
type: string
enum:
- URLEncoded
description: The format for a field-level encryption content type-profile mapping.
ProfileId:
type: string
description: The profile ID for a field-level encryption content type-profile mapping.
ContentType:
type: string
description: The content type for a field-level encryption content type-profile mapping.
required:
- Format
- ContentType
ContentTypeProfileConfig:
type: object
properties:
ForwardWhenContentTypeIsUnknown:
type: boolean
description: The setting in a field-level encryption content type-profile mapping that specifies what to do when
an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when
the content type is unknown. If false (the default), an error is returned when the content type is unknown.
ContentTypeProfiles:
$ref: '#/components/schemas/ContentTypeProfiles'
required:
- ForwardWhenContentTypeIsUnknown
ContentTypeProfiles:
type: object
properties:
Quantity:
type: integer
description: The number of field-level encryption content type-profile mappings.
Items:
type: array
items:
$ref: '#/components/schemas/ContentTypeProfile'
description: Items in a field-level encryption content type-profile mapping.
required:
- Quantity
CreateFieldLevelEncryptionConfigRequest:
type: object
properties:
FieldLevelEncryptionConfig:
$ref: '#/components/schemas/FieldLevelEncryptionConfig'
required:
- FieldLevelEncryptionConfig
CreateFieldLevelEncryptionConfigResult:
type: object
properties:
FieldLevelEncryption:
$ref: '#/components/schemas/FieldLevelEncryption'
Location:
type: string
description: The fully qualified URI of the new configuration resource just created.
ETag:
type: string
description: 'The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.'
DeleteFieldLevelEncryptionConfigRequest:
type: object
properties:
Id:
type: string
description: The ID of the configuration you want to delete from CloudFront.
IfMatch:
type: string
description: 'The value of the ETag header that you received when retrieving the configuration identity to delete.
For example: E2QWRUHAPOMQZL.'
required:
- Id
FieldLevelEncryption:
type: object
properties:
Id:
type: string
description: The configuration ID for a field-level encryption configuration which includes a set of profiles that
specify certain selected data fields to be encrypted by specific public keys.
LastModifiedTime:
type: string
format: date-time
description: The last time the field-level encryption configuration was changed.
FieldLevelEncryptionConfig:
$ref: '#/components/schemas/FieldLevelEncryptionConfig'
required:
- Id
- LastModifiedTime
- FieldLevelEncryptionConfig
FieldLevelEncryptionConfig:
type: object
properties:
CallerReference:
type: string
description: A unique number that ensures the request can't be replayed.
Comment:
type: string
description: An optional comment about the configuration. The comment cannot be longer than 128 characters.
QueryArgProfileConfig:
$ref: '#/components/schemas/QueryArgProfileConfig'
ContentTypeProfileConfig:
$ref: '#/components/schemas/ContentTypeProfileConfig'
required:
- CallerReference
FieldLevelEncryptionConfigAlreadyExists:
type: object
properties:
Message:
type: string
FieldLevelEncryptionConfigInUse:
type: object
properties:
Message:
type: string
FieldLevelEncryptionList:
type: object
properties:
NextMarker:
type: string
description: If there are more elements to be listed, this element is present and contains the value that you can
use for the Marker request parameter to continue listing your configurations where you left off.
MaxItems:
type: integer
description: The maximum number of elements you want in the response body.
Quantity:
type: integer
description: The number of field-level encryption items.
Items:
type: array
items:
$ref: '#/components/schemas/FieldLevelEncryptionSummary'
description: An array of field-level encryption items.
required:
- MaxItems
- Quantity
FieldLevelEncryptionSummary:
type: object
properties:
Id:
type: string
description: The unique ID of a field-level encryption item.
LastModifiedTime:
type: string
format: date-time
description: The last time that the summary of field-level encryption items was modified.
Comment:
type: string
description: An optional comment about the field-level encryption item. The comment cannot be longer than 128 characters.
QueryArgProfileConfig:
$ref: '#/components/schemas/QueryArgProfileConfig'
ContentTypeProfileConfig:
$ref: '#/components/schemas/ContentTypeProfileConfig'
required:
- Id
- LastModifiedTime
GetFieldLevelEncryptionConfigRequest:
type: object
properties:
Id:
type: string
description: Request the ID for the field-level encryption configuration information.
required:
- Id
GetFieldLevelEncryptionConfigResult:
type: object
properties:
FieldLevelEncryptionConfig:
$ref: '#/components/schemas/FieldLevelEncryptionConfig'
ETag:
type: string
description: 'The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.'
GetFieldLevelEncryptionRequest:
type: object
properties:
Id:
type: string
description: Request the ID for the field-level encryption configuration information.
required:
- Id
GetFieldLevelEncryptionResult:
type: object
properties:
FieldLevelEncryption:
$ref: '#/components/schemas/FieldLevelEncryption'
ETag:
type: string
description: 'The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.'
IllegalUpdate:
type: object
properties:
Message:
type: string
InconsistentQuantities:
type: object
properties:
Message:
type: string
InvalidArgument:
type: object
properties:
Message:
type: string
InvalidIfMatchVersion:
type: object
properties:
Message:
type: string
ListFieldLevelEncryptionConfigsRequest:
type: object
properties:
Marker:
type: string
description: Use this when paginating results to indicate where to begin in your list of configurations. The results
include configurations in the list that occur after the marker. To get the next page of results, set the Marker
to the value of the NextMarker from the current page's response (which is also the ID of the last configuration
on that page).
MaxItems:
type: integer
description: The maximum number of field-level encryption configurations you want in the response body.
ListFieldLevelEncryptionConfigsResult:
type: object
properties:
FieldLevelEncryptionList:
$ref: '#/components/schemas/FieldLevelEncryptionList'
NoSuchFieldLevelEncryptionConfig:
type: object
properties:
Message:
type: string
NoSuchFieldLevelEncryptionProfile:
type: object
properties:
Message:
type: string
PreconditionFailed:
type: object
properties:
Message:
type: string
QueryArgProfile:
type: object
properties:
QueryArg:
type: string
description: Query argument for field-level encryption query argument-profile mapping.
ProfileId:
type: string
description: ID of profile to use for field-level encryption query argument-profile mapping
required:
- QueryArg
- ProfileId
QueryArgProfileConfig:
type: object
properties:
ForwardWhenQueryArgProfileIsUnknown:
type: boolean
description: Flag to set if you want a request to be forwarded to the origin even if the profile specified by the
field-level encryption query argument, fle-profile, is unknown.
QueryArgProfiles:
$ref: '#/components/schemas/QueryArgProfiles'
required:
- ForwardWhenQueryArgProfileIsUnknown
QueryArgProfiles:
type: object
properties:
Quantity:
type: integer
description: Number of profiles for query argument-profile mapping for field-level encryption.
Items:
type: array
items:
$ref: '#/components/schemas/QueryArgProfile'
description: Number of items for query argument-profile mapping for field-level encryption.
required:
- Quantity
UpdateFieldLevelEncryptionConfigRequest:
type: object
properties:
FieldLevelEncryptionConfig:
$ref: '#/components/schemas/FieldLevelEncryptionConfig'
Id:
type: string
description: The ID of the configuration you want to update.
IfMatch:
type: string
description: 'The value of the ETag header that you received when retrieving the configuration identity to update.
For example: E2QWRUHAPOMQZL.'
required:
- FieldLevelEncryptionConfig
- Id
UpdateFieldLevelEncryptionConfigResult:
type: object
properties:
FieldLevelEncryption:
$ref: '#/components/schemas/FieldLevelEncryption'
ETag:
type: string
description: 'The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.'
x-provenance:
method: harvested
publisher: Amazon Web Services
source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/cloudfront/service/2020-05-31/cloudfront-2020-05-31.json
note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)