CloudFront Field Level Encryption Profile API

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

Operations 6

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

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-profile-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-profile-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon CloudFront Field Level Encryption Profile 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-profile:
    post:
      operationId: CreateFieldLevelEncryptionProfile
      summary: Create Field Level Encryption Profile
      description: Create a field-level encryption profile.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/CreateFieldLevelEncryptionProfileResult'
        '409':
          description: FieldLevelEncryptionProfileAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/FieldLevelEncryptionProfileAlreadyExists'
        '400':
          description: FieldLevelEncryptionProfileSizeExceeded; InconsistentQuantities; InvalidArgument; TooManyFieldLevelEncryptionEncryptionEntities;
            TooManyFieldLevelEncryptionFieldPatterns; TooManyFieldLevelEncryptionProfiles
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/FieldLevelEncryptionProfileSizeExceeded'
        '404':
          description: NoSuchPublicKey
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchPublicKey'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateFieldLevelEncryptionProfileRequest'
      tags:
      - Field Level Encryption Profile
    get:
      operationId: ListFieldLevelEncryptionProfiles
      summary: List Field Level Encryption Profiles
      description: Request a list of field-level encryption profiles that have been created in CloudFront for this account.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/ListFieldLevelEncryptionProfilesResult'
        '400':
          description: InvalidArgument
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidArgument'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/ListFieldLevelEncryptionProfilesRequest'
      tags:
      - Field Level Encryption Profile
  /2020-05-31/field-level-encryption-profile/{Id}:
    delete:
      operationId: DeleteFieldLevelEncryptionProfile
      summary: Delete Field Level Encryption Profile
      description: Remove a field-level encryption profile.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                type: string
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: FieldLevelEncryptionProfileInUse
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/FieldLevelEncryptionProfileInUse'
        '400':
          description: InvalidIfMatchVersion
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/InvalidIfMatchVersion'
        '404':
          description: NoSuchFieldLevelEncryptionProfile
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchFieldLevelEncryptionProfile'
        '412':
          description: PreconditionFailed
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PreconditionFailed'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/DeleteFieldLevelEncryptionProfileRequest'
      tags:
      - Field Level Encryption Profile
    get:
      operationId: GetFieldLevelEncryptionProfile
      summary: Get Field Level Encryption Profile
      description: Get the field-level encryption profile information.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetFieldLevelEncryptionProfileResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '404':
          description: NoSuchFieldLevelEncryptionProfile
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchFieldLevelEncryptionProfile'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetFieldLevelEncryptionProfileRequest'
      tags:
      - Field Level Encryption Profile
  /2020-05-31/field-level-encryption-profile/{Id}/config:
    get:
      operationId: GetFieldLevelEncryptionProfileConfig
      summary: Get Field Level Encryption Profile Config
      description: Get the field-level encryption profile configuration information.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/GetFieldLevelEncryptionProfileConfigResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '404':
          description: NoSuchFieldLevelEncryptionProfile
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchFieldLevelEncryptionProfile'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/GetFieldLevelEncryptionProfileConfigRequest'
      tags:
      - Field Level Encryption Profile
    put:
      operationId: UpdateFieldLevelEncryptionProfile
      summary: Update Field Level Encryption Profile
      description: Update a field-level encryption profile.
      responses:
        '200':
          description: Success
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/UpdateFieldLevelEncryptionProfileResult'
        '403':
          description: AccessDenied
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/AccessDenied'
        '409':
          description: FieldLevelEncryptionProfileAlreadyExists
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/FieldLevelEncryptionProfileAlreadyExists'
        '400':
          description: FieldLevelEncryptionProfileSizeExceeded; IllegalUpdate; InconsistentQuantities; InvalidArgument; InvalidIfMatchVersion;
            TooManyFieldLevelEncryptionEncryptionEntities; TooManyFieldLevelEncryptionFieldPatterns
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/FieldLevelEncryptionProfileSizeExceeded'
        '404':
          description: NoSuchFieldLevelEncryptionProfile; NoSuchPublicKey
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/NoSuchFieldLevelEncryptionProfile'
        '412':
          description: PreconditionFailed
          content:
            text/xml:
              schema:
                $ref: '#/components/schemas/PreconditionFailed'
      requestBody:
        content:
          application/xml:
            schema:
              $ref: '#/components/schemas/UpdateFieldLevelEncryptionProfileRequest'
      tags:
      - Field Level Encryption Profile
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
    CreateFieldLevelEncryptionProfileRequest:
      type: object
      properties:
        FieldLevelEncryptionProfileConfig:
          $ref: '#/components/schemas/FieldLevelEncryptionProfileConfig'
      required:
      - FieldLevelEncryptionProfileConfig
    CreateFieldLevelEncryptionProfileResult:
      type: object
      properties:
        FieldLevelEncryptionProfile:
          $ref: '#/components/schemas/FieldLevelEncryptionProfile'
        Location:
          type: string
          description: The fully qualified URI of the new profile resource just created.
        ETag:
          type: string
          description: 'The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.'
    DeleteFieldLevelEncryptionProfileRequest:
      type: object
      properties:
        Id:
          type: string
          description: Request the ID of the profile you want to delete from CloudFront.
        IfMatch:
          type: string
          description: 'The value of the ETag header that you received when retrieving the profile to delete. For example:
            E2QWRUHAPOMQZL.'
      required:
      - Id
    EncryptionEntities:
      type: object
      properties:
        Quantity:
          type: integer
          description: Number of field pattern items in a field-level encryption content type-profile mapping.
        Items:
          type: array
          items:
            $ref: '#/components/schemas/EncryptionEntity'
          description: An array of field patterns in a field-level encryption content type-profile mapping.
      required:
      - Quantity
    EncryptionEntity:
      type: object
      properties:
        PublicKeyId:
          type: string
          description: The public key associated with a set of field-level encryption patterns, to be used when encrypting
            the fields that match the patterns.
        ProviderId:
          type: string
          description: The provider associated with the public key being used for encryption. This value must also be provided
            with the private key for applications to be able to decrypt data.
        FieldPatterns:
          $ref: '#/components/schemas/FieldPatterns'
      required:
      - PublicKeyId
      - ProviderId
      - FieldPatterns
    FieldLevelEncryptionProfile:
      type: object
      properties:
        Id:
          type: string
          description: The ID for a field-level encryption profile 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 profile was updated.
        FieldLevelEncryptionProfileConfig:
          $ref: '#/components/schemas/FieldLevelEncryptionProfileConfig'
      required:
      - Id
      - LastModifiedTime
      - FieldLevelEncryptionProfileConfig
    FieldLevelEncryptionProfileAlreadyExists:
      type: object
      properties:
        Message:
          type: string
    FieldLevelEncryptionProfileConfig:
      type: object
      properties:
        Name:
          type: string
          description: Profile name for the field-level encryption profile.
        CallerReference:
          type: string
          description: A unique number that ensures that the request can't be replayed.
        Comment:
          type: string
          description: An optional comment for the field-level encryption profile. The comment cannot be longer than 128 characters.
        EncryptionEntities:
          $ref: '#/components/schemas/EncryptionEntities'
      required:
      - Name
      - CallerReference
      - EncryptionEntities
    FieldLevelEncryptionProfileInUse:
      type: object
      properties:
        Message:
          type: string
    FieldLevelEncryptionProfileList:
      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 profiles where you left off.
        MaxItems:
          type: integer
          description: The maximum number of field-level encryption profiles you want in the response body.
        Quantity:
          type: integer
          description: The number of field-level encryption profiles.
        Items:
          type: array
          items:
            $ref: '#/components/schemas/FieldLevelEncryptionProfileSummary'
          description: The field-level encryption profile items.
      required:
      - MaxItems
      - Quantity
    FieldLevelEncryptionProfileSizeExceeded:
      type: object
      properties:
        Message:
          type: string
    FieldLevelEncryptionProfileSummary:
      type: object
      properties:
        Id:
          type: string
          description: ID for the field-level encryption profile summary.
        LastModifiedTime:
          type: string
          format: date-time
          description: The time when the field-level encryption profile summary was last updated.
        Name:
          type: string
          description: Name for the field-level encryption profile summary.
        EncryptionEntities:
          $ref: '#/components/schemas/EncryptionEntities'
        Comment:
          type: string
          description: An optional comment for the field-level encryption profile summary. The comment cannot be longer than
            128 characters.
      required:
      - Id
      - LastModifiedTime
      - Name
      - EncryptionEntities
    FieldPatterns:
      type: object
      properties:
        Quantity:
          type: integer
          description: The number of field-level encryption field patterns.
        Items:
          type: array
          items:
            type: string
          description: An array of the field-level encryption field patterns.
      required:
      - Quantity
    GetFieldLevelEncryptionProfileConfigRequest:
      type: object
      properties:
        Id:
          type: string
          description: Get the ID for the field-level encryption profile configuration information.
      required:
      - Id
    GetFieldLevelEncryptionProfileConfigResult:
      type: object
      properties:
        FieldLevelEncryptionProfileConfig:
          $ref: '#/components/schemas/FieldLevelEncryptionProfileConfig'
        ETag:
          type: string
          description: 'The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.'
    GetFieldLevelEncryptionProfileRequest:
      type: object
      properties:
        Id:
          type: string
          description: Get the ID for the field-level encryption profile information.
      required:
      - Id
    GetFieldLevelEncryptionProfileResult:
      type: object
      properties:
        FieldLevelEncryptionProfile:
          $ref: '#/components/schemas/FieldLevelEncryptionProfile'
        ETag:
          type: string
          description: 'The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.'
    InvalidArgument:
      type: object
      properties:
        Message:
          type: string
    InvalidIfMatchVersion:
      type: object
      properties:
        Message:
          type: string
    ListFieldLevelEncryptionProfilesRequest:
      type: object
      properties:
        Marker:
          type: string
          description: Use this when paginating results to indicate where to begin in your list of profiles. The results include
            profiles 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 profile on that page).
        MaxItems:
          type: integer
          description: The maximum number of field-level encryption profiles you want in the response body.
    ListFieldLevelEncryptionProfilesResult:
      type: object
      properties:
        FieldLevelEncryptionProfileList:
          $ref: '#/components/schemas/FieldLevelEncryptionProfileList'
    NoSuchFieldLevelEncryptionProfile:
      type: object
      properties:
        Message:
          type: string
    NoSuchPublicKey:
      type: object
      properties:
        Message:
          type: string
    PreconditionFailed:
      type: object
      properties:
        Message:
          type: string
    UpdateFieldLevelEncryptionProfileRequest:
      type: object
      properties:
        FieldLevelEncryptionProfileConfig:
          $ref: '#/components/schemas/FieldLevelEncryptionProfileConfig'
        Id:
          type: string
          description: The ID of the field-level encryption profile request.
        IfMatch:
          type: string
          description: 'The value of the ETag header that you received when retrieving the profile identity to update. For
            example: E2QWRUHAPOMQZL.'
      required:
      - FieldLevelEncryptionProfileConfig
      - Id
    UpdateFieldLevelEncryptionProfileResult:
      type: object
      properties:
        FieldLevelEncryptionProfile:
          $ref: '#/components/schemas/FieldLevelEncryptionProfile'
        ETag:
          type: string
          description: The result of the field-level encryption profile request.
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)