CloudFront Field Level Encryption API

The Field Level Encryption API from CloudFront — 3 operation(s) for field level encryption.

Operations 6

POST /2020-05-31/field-level-encryption Create Field Level Encryption Config #
GET /2020-05-31/field-level-encryption List Field Level Encryption Configs #
DELETE /2020-05-31/field-level-encryption/{Id} Delete Field Level Encryption Config #
GET /2020-05-31/field-level-encryption/{Id} Get Field Level Encryption #
GET /2020-05-31/field-level-encryption/{Id}/config Get Field Level Encryption Config #
PUT /2020-05-31/field-level-encryption/{Id}/config Update Field Level Encryption Config #

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/cloudfront:cloudfront-field-level-encryption-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

cloudfront-field-level-encryption-api-openapi.yml Raw ↑
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)