CloudFront Key Group API
The Key Group API from CloudFront — 3 operation(s) for key group.
The Key Group API from CloudFront — 3 operation(s) for key group.
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-key-group-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 Key Group 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/key-group:
post:
operationId: CreateKeyGroup
summary: Create Key Group
description: Creates a key group that you can use with CloudFront signed URLs and signed cookies. To create a key group,
you must specify at least one public key for the key group. After you create a key group, you can reference it from
one or more cache behaviors. When you reference a key group in a cache behavior, CloudFront requires signed URLs or
signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key
whose corresponding public key is in the key group. The signed URL or cookie contains information about which public
key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon
CloudFront Developer Guide.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/CreateKeyGroupResult'
'400':
description: InvalidArgument; TooManyKeyGroups; TooManyPublicKeysInKeyGroup
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidArgument'
'409':
description: KeyGroupAlreadyExists
content:
text/xml:
schema:
$ref: '#/components/schemas/KeyGroupAlreadyExists'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/CreateKeyGroupRequest'
tags:
- Key Group
get:
operationId: ListKeyGroups
summary: List Key Groups
description: Gets a list of key groups. You can optionally specify the maximum number of items to receive in the response.
If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response
is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the
current response as the Marker value in the subsequent request.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/ListKeyGroupsResult'
'400':
description: InvalidArgument
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidArgument'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/ListKeyGroupsRequest'
tags:
- Key Group
/2020-05-31/key-group/{Id}:
delete:
operationId: DeleteKeyGroup
summary: Delete Key Group
description: Deletes a key group. You cannot delete a key group that is referenced in a cache behavior. First update
your distributions to remove the key group from all cache behaviors, then delete the key group. To delete a key group,
you must provide the key group's identifier and version. To get these values, use ListKeyGroups followed by GetKeyGroup
or GetKeyGroupConfig.
responses:
'200':
description: Success
content:
text/xml:
schema:
type: string
'400':
description: InvalidIfMatchVersion
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidIfMatchVersion'
'404':
description: NoSuchResource
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchResource'
'412':
description: PreconditionFailed
content:
text/xml:
schema:
$ref: '#/components/schemas/PreconditionFailed'
'409':
description: ResourceInUse
content:
text/xml:
schema:
$ref: '#/components/schemas/ResourceInUse'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/DeleteKeyGroupRequest'
tags:
- Key Group
get:
operationId: GetKeyGroup
summary: Get Key Group
description: Gets a key group, including the date and time when the key group was last modified. To get a key group,
you must provide the key group's identifier. If the key group is referenced in a distribution's cache behavior, you
can get the key group's identifier using ListDistributions or GetDistribution. If the key group is not referenced
in a cache behavior, you can get the identifier using ListKeyGroups.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetKeyGroupResult'
'404':
description: NoSuchResource
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchResource'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/GetKeyGroupRequest'
tags:
- Key Group
put:
operationId: UpdateKeyGroup
summary: Update Key Group
description: 'Updates a key group. When you update a key group, all the fields are updated with the values provided
in the request. You cannot update some fields independent of others. To update a key group: Get the current key group
with GetKeyGroup or GetKeyGroupConfig. Locally modify the fields in the key group that you want to update. For example,
add or remove public key IDs. Call UpdateKeyGroup with the entire key group object, including the fields that you
modified and those that you didn''t.'
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/UpdateKeyGroupResult'
'400':
description: InvalidArgument; InvalidIfMatchVersion; TooManyPublicKeysInKeyGroup
content:
text/xml:
schema:
$ref: '#/components/schemas/InvalidArgument'
'409':
description: KeyGroupAlreadyExists
content:
text/xml:
schema:
$ref: '#/components/schemas/KeyGroupAlreadyExists'
'404':
description: NoSuchResource
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchResource'
'412':
description: PreconditionFailed
content:
text/xml:
schema:
$ref: '#/components/schemas/PreconditionFailed'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/UpdateKeyGroupRequest'
tags:
- Key Group
/2020-05-31/key-group/{Id}/config:
get:
operationId: GetKeyGroupConfig
summary: Get Key Group Config
description: Gets a key group configuration. To get a key group configuration, you must provide the key group's identifier.
If the key group is referenced in a distribution's cache behavior, you can get the key group's identifier using ListDistributions
or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.
responses:
'200':
description: Success
content:
text/xml:
schema:
$ref: '#/components/schemas/GetKeyGroupConfigResult'
'404':
description: NoSuchResource
content:
text/xml:
schema:
$ref: '#/components/schemas/NoSuchResource'
requestBody:
content:
application/xml:
schema:
$ref: '#/components/schemas/GetKeyGroupConfigRequest'
tags:
- Key Group
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:
CreateKeyGroupRequest:
type: object
properties:
KeyGroupConfig:
$ref: '#/components/schemas/KeyGroupConfig'
required:
- KeyGroupConfig
CreateKeyGroupResult:
type: object
properties:
KeyGroup:
$ref: '#/components/schemas/KeyGroup'
Location:
type: string
description: The URL of the key group.
ETag:
type: string
description: The identifier for this version of the key group.
DeleteKeyGroupRequest:
type: object
properties:
Id:
type: string
description: The identifier of the key group that you are deleting. To get the identifier, use ListKeyGroups.
IfMatch:
type: string
description: The version of the key group that you are deleting. The version is the key group's ETag value. To get
the ETag, use GetKeyGroup or GetKeyGroupConfig.
required:
- Id
GetKeyGroupConfigRequest:
type: object
properties:
Id:
type: string
description: The identifier of the key group whose configuration you are getting. To get the identifier, use ListKeyGroups.
required:
- Id
GetKeyGroupConfigResult:
type: object
properties:
KeyGroupConfig:
$ref: '#/components/schemas/KeyGroupConfig'
ETag:
type: string
description: The identifier for this version of the key group.
GetKeyGroupRequest:
type: object
properties:
Id:
type: string
description: The identifier of the key group that you are getting. To get the identifier, use ListKeyGroups.
required:
- Id
GetKeyGroupResult:
type: object
properties:
KeyGroup:
$ref: '#/components/schemas/KeyGroup'
ETag:
type: string
description: The identifier for this version of the key group.
InvalidArgument:
type: object
properties:
Message:
type: string
InvalidIfMatchVersion:
type: object
properties:
Message:
type: string
KeyGroup:
type: object
properties:
Id:
type: string
description: The identifier for the key group.
LastModifiedTime:
type: string
format: date-time
description: The date and time when the key group was last modified.
KeyGroupConfig:
$ref: '#/components/schemas/KeyGroupConfig'
required:
- Id
- LastModifiedTime
- KeyGroupConfig
KeyGroupAlreadyExists:
type: object
properties:
Message:
type: string
KeyGroupConfig:
type: object
properties:
Name:
type: string
description: A name to identify the key group.
Items:
type: array
items:
type: string
description: A list of the identifiers of the public keys in the key group.
Comment:
type: string
description: A comment to describe the key group. The comment cannot be longer than 128 characters.
required:
- Name
- Items
KeyGroupList:
type: object
properties:
NextMarker:
type: string
description: If there are more items in the list than are in this response, this element is present. It contains
the value that you should use in the Marker field of a subsequent request to continue listing key groups.
MaxItems:
type: integer
description: The maximum number of key groups requested.
Quantity:
type: integer
description: The number of key groups returned in the response.
Items:
type: array
items:
$ref: '#/components/schemas/KeyGroupSummary'
description: A list of key groups.
required:
- MaxItems
- Quantity
KeyGroupSummary:
type: object
properties:
KeyGroup:
$ref: '#/components/schemas/KeyGroup'
required:
- KeyGroup
ListKeyGroupsRequest:
type: object
properties:
Marker:
type: string
description: Use this field when paginating results to indicate where to begin in your list of key groups. The response
includes key groups in the list that occur after the marker. To get the next page of the list, set this field's
value to the value of NextMarker from the current page's response.
MaxItems:
type: integer
description: The maximum number of key groups that you want in the response.
ListKeyGroupsResult:
type: object
properties:
KeyGroupList:
$ref: '#/components/schemas/KeyGroupList'
NoSuchResource:
type: object
properties:
Message:
type: string
PreconditionFailed:
type: object
properties:
Message:
type: string
ResourceInUse:
type: object
properties:
Message:
type: string
UpdateKeyGroupRequest:
type: object
properties:
KeyGroupConfig:
$ref: '#/components/schemas/KeyGroupConfig'
Id:
type: string
description: The identifier of the key group that you are updating.
IfMatch:
type: string
description: The version of the key group that you are updating. The version is the key group's ETag value.
required:
- KeyGroupConfig
- Id
UpdateKeyGroupResult:
type: object
properties:
KeyGroup:
$ref: '#/components/schemas/KeyGroup'
ETag:
type: string
description: The identifier for this version of the key group.
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)