Akamai API Security Onboarding: Post-activation validation API
Manage your post activations validations and cname your hostnames to akamai in order to go live.
Manage your post activations validations and cname your hostnames to akamai in order to go live.
openapi: 3.0.0
info:
description: 'Manage your configurations for Kona Site Defender,
Web Application Protector, and Client Reputation.
'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: 'Akamai: Application Security Activation history Onboarding: Post-activation validation API'
version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- description: Manage your post activations validations and cname your hostnames to akamai in order to go live.
name: 'Onboarding: Post-activation validation'
paths:
/onboardings/{onboardingId}/certificate-validation:
parameters:
- description: A unique identifier for an onboarding.
example: '{{onboardingId}}'
in: path
name: onboardingId
required: true
schema:
example: 101
type: integer
x-akamai:
file-path: parameters/onboarding-id-path.yaml
x-akamai:
file-path: paths/onboarding-certificate-validation-status.yaml
path-info: /onboardings/{onboardingId}/certificate-validation
get:
description: Returns the information you need to validate your certificate. Add the `TXT` DNS record listed in the response to your DNS record. Adding the `TXT` record won't affect your website. Once you've added the `TXT` record, and before the token expires, run [Validate onboarding certificate](https://techdocs.akamai.com/application-security/docs/post-onboarding-certificate-validation) to validate the certificate.
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/get-onboarding-certificate-validation
operationId: get-onboarding-certificate-validation
parameters:
- description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys).
example: '{{accountSwitchKey}}'
in: query
name: accountSwitchKey
required: false
schema:
example: 1-5C0YLB:1-8BYUX
type: string
responses:
'200':
content:
application/json:
example:
certificateValidateLink: /appsec/v1/onboardings/101/certificate-validation/validate
certificateValidationStatus: VALIDATION_SUCCESS
description: Certificate Validation is complete.Please proceed with next steps.
onboardingLink: /appsec/v1/onboardings/101
records:
- hostname: www.test.com
httpFilePath: http://www.test.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
httpToken: FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA.Q09uXf7yi3IHfsXvV6hGMNKJWtRyUFmUjzd_iQ1vVL0
recordName: _acme-challenge.www.test.com.
recordStatus: VALIDATED
recordTtl: 60
recordType: TXT
recordValue: jSwlQYgkF9Tus6C1us4ysx6QxCB95o3fXHKh9TvqiII
urlRedirectFrom: http://www.test.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
urlRedirectTo: http://dcv.akamai.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
- hostname: www.test1.com
httpFilePath: http://www.test1.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
httpToken: FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA.Q09uXf7yi3IHfsXvV6hGMNKJWtRyUFmUjzd_iQ1vVL0
recordName: _acme-challenge.www.test1.com.
recordStatus: VALIDATED
recordTtl: 60
recordType: TXT
recordValue: jSwlQYgkF9Tus6C1us4ysx6QxCB95o3fXHKh9TvqiII
urlRedirectFrom: http://www.test1.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
urlRedirectTo: http://dcv1.akamai.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
schema:
additionalProperties: false
description: Specifies the challenges necessary to validate the certificate.
properties:
certificateValidateLink:
description: The URL to call to validate your certificate.
format: uri
type: string
certificateValidationStatus:
description: The cumulative status for all certificate validation. If there is more than one certificate and each is valid, you'll see a value of `VALIDATION_SUCCESS`. If one certificate is valid but another is not, it will say `VALIDATION_NEEDED`.
enum:
- VALIDATION_SUCCESS
- VALIDATION_NEEDED
minLength: 1
type: string
description:
description: Details the steps you need to perform to validate your certificate.
minLength: 1
type: string
onboardingLink:
description: The URL to get the onboarding's details.
format: uri
type: string
records:
description: Lists all hostname record information you need to validate your certificate.
items:
additionalProperties: false
properties:
hostname:
description: The hostname the certificate secures.
minLength: 1
type: string
httpFilePath:
description: The path to the http file when validating your certificate with an HTTP token.
minLength: 1
type: string
httpToken:
description: The domain record's HTTP token you'll use to validate your certificate.
minLength: 1
type: string
recordName:
description: The fully qualified domain name (FQDN) of this record.
minLength: 1
type: string
recordStatus:
description: The status of your certificate. When `VALIDATED`, you can proceed to the next step in the onboarding process. When `NOT_VALIDATED`, you may need to validate your site manually.
enum:
- VALIDATED
- NOT_VALIDATED
minLength: 1
type: string
recordTtl:
description: The number of seconds that this record should live in cache before being re-fetched.
type: integer
recordType:
description: The type of domain record. For example, `A`, `TXT`, or `CNAME`.
minLength: 1
type: string
recordValue:
description: The resource record's IP address.
minLength: 1
type: string
urlRedirectFrom:
description: The URL for the site you are redirecting `from` when you validate your origin using a redirect.
minLength: 1
type: string
urlRedirectTo:
description: The URL you are redirecting `to` when you validate your origin using a redirect.
minLength: 1
type: string
required:
- hostname
- recordName
- recordType
- recordValue
- recordTtl
- httpFilePath
- httpToken
- recordStatus
- urlRedirectFrom
- urlRedirectTo
type: object
type: array
uniqueItems: true
required:
- description
- records
- certificateValidateLink
- certificateValidationStatus
- onboardingLink
type: object
x-akamai:
file-path: schemas/onboarding-certificate-validation.yaml
description: Successfully retrieved certificate Challenges.
'403':
content:
application/problem+json:
example:
detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 403
title: Forbidden
type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
additionalProperties:
description: Fields that provide additional details about the problem.
type: string
description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field.
type: object
instance:
description: The non-referenceable URI that indicates the error instance.
example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
type: string
status:
description: The HTTP status code.
example: 404
type: integer
title:
description: The error title.
example: Not Found
type: string
type:
description: The URL for the error type.
example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND
type: string
required:
- title
- type
- detail
- instance
- status
type: object
x-akamai:
file-path: schemas/problem-details.yaml
description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You are not authorized to use this API.'
x-akamai:
file-path: errors/403.yaml
'404':
content:
application/problem+json:
example:
detail: The requested resource is not found
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 404
title: Not Found
type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
additionalProperties:
description: Fields that provide additional details about the problem.
type: string
description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field.
type: object
instance:
description: The non-referenceable URI that indicates the error instance.
example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
type: string
status:
description: The HTTP status code.
example: 404
type: integer
title:
description: The error title.
example: Not Found
type: string
type:
description: The URL for the error type.
example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND
type: string
required:
- title
- type
- detail
- instance
- status
type: object
x-akamai:
file-path: schemas/problem-details.yaml
description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The `onboardingId` was not found.'
x-akamai:
file-path: errors/404.yaml
'500':
content:
application/problem+json:
example:
detail: Could not retrieve validation records
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 500
title: Something went wrong
type: https://problems.luna.akamaiapis.net/appsec/error-types/INTERNAL-SERVER-ERROR
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
additionalProperties:
description: Fields that provide additional details about the problem.
type: string
description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field.
type: object
instance:
description: The non-referenceable URI that indicates the error instance.
example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
type: string
status:
description: The HTTP status code.
example: 404
type: integer
title:
description: The error title.
example: Not Found
type: string
type:
description: The URL for the error type.
example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND
type: string
required:
- title
- type
- detail
- instance
- status
type: object
x-akamai:
file-path: schemas/problem-details.yaml
description: '[Conflict](https://techdocs.akamai.com/application-security/reference/500). Failure to retrieve certificate challenges.'
x-akamai:
file-path: errors/500.yaml
summary: Akamai API Security List Onboarding Certificate Challenges
tags:
- 'Onboarding: Post-activation validation'
/onboardings/{onboardingId}/certificate-validation/validate:
parameters:
- description: A unique identifier for an onboarding.
example: '{{onboardingId}}'
in: path
name: onboardingId
required: true
schema:
example: 101
type: integer
x-akamai:
file-path: parameters/onboarding-id-path.yaml
x-akamai:
file-path: paths/onboarding-certificate-validation.yaml
path-info: /onboardings/{onboardingId}/certificate-validation/validate
post:
description: Validates the certificate's `TXT` DNS record. Once validation completes, it takes about 5 minutes to deploy the certificates across Akamai's global network. You can validate via HTTPhttp token, DNS records, or URL redirect.
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/post-onboarding-certificate-validation
operationId: post-onboarding-certificate-validation
parameters:
- description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys).
example: '{{accountSwitchKey}}'
in: query
name: accountSwitchKey
required: false
schema:
example: 1-5C0YLB:1-8BYUX
type: string
responses:
'200':
content:
application/json:
example:
certificateValidateLink: /appsec/v1/onboardings/101/certificate-validation/validate
certificateValidationStatus: VALIDATION_SUCCESS
description: Certificate Validation is complete.Please proceed with next steps.
onboardingLink: /appsec/v1/onboardings/101
records:
- hostname: www.test.com
httpFilePath: http://www.test.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
httpToken: FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA.Q09uXf7yi3IHfsXvV6hGMNKJWtRyUFmUjzd_iQ1vVL0
recordName: _acme-challenge.www.test.com.
recordStatus: VALIDATED
recordTtl: 60
recordType: TXT
recordValue: jSwlQYgkF9Tus6C1us4ysx6QxCB95o3fXHKh9TvqiII
urlRedirectFrom: http://www.test.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
urlRedirectTo: http://dcv.akamai.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
- hostname: www.test1.com
httpFilePath: http://www.test1.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
httpToken: FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA.Q09uXf7yi3IHfsXvV6hGMNKJWtRyUFmUjzd_iQ1vVL0
recordName: _acme-challenge.www.test1.com.
recordStatus: VALIDATED
recordTtl: 60
recordType: TXT
recordValue: jSwlQYgkF9Tus6C1us4ysx6QxCB95o3fXHKh9TvqiII
urlRedirectFrom: http://www.test1.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
urlRedirectTo: http://dcv1.akamai.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
schema:
additionalProperties: false
description: Specifies the challenges necessary to validate the certificate.
properties:
certificateValidateLink:
description: The URL to call to validate your certificate.
format: uri
type: string
certificateValidationStatus:
description: The cumulative status for all certificate validation. If there is more than one certificate and each is valid, you'll see a value of `VALIDATION_SUCCESS`. If one certificate is valid but another is not, it will say `VALIDATION_NEEDED`.
enum:
- VALIDATION_SUCCESS
- VALIDATION_NEEDED
minLength: 1
type: string
description:
description: Details the steps you need to perform to validate your certificate.
minLength: 1
type: string
onboardingLink:
description: The URL to get the onboarding's details.
format: uri
type: string
records:
description: Lists all hostname record information you need to validate your certificate.
items:
additionalProperties: false
properties:
hostname:
description: The hostname the certificate secures.
minLength: 1
type: string
httpFilePath:
description: The path to the http file when validating your certificate with an HTTP token.
minLength: 1
type: string
httpToken:
description: The domain record's HTTP token you'll use to validate your certificate.
minLength: 1
type: string
recordName:
description: The fully qualified domain name (FQDN) of this record.
minLength: 1
type: string
recordStatus:
description: The status of your certificate. When `VALIDATED`, you can proceed to the next step in the onboarding process. When `NOT_VALIDATED`, you may need to validate your site manually.
enum:
- VALIDATED
- NOT_VALIDATED
minLength: 1
type: string
recordTtl:
description: The number of seconds that this record should live in cache before being re-fetched.
type: integer
recordType:
description: The type of domain record. For example, `A`, `TXT`, or `CNAME`.
minLength: 1
type: string
recordValue:
description: The resource record's IP address.
minLength: 1
type: string
urlRedirectFrom:
description: The URL for the site you are redirecting `from` when you validate your origin using a redirect.
minLength: 1
type: string
urlRedirectTo:
description: The URL you are redirecting `to` when you validate your origin using a redirect.
minLength: 1
type: string
required:
- hostname
- recordName
- recordType
- recordValue
- recordTtl
- httpFilePath
- httpToken
- recordStatus
- urlRedirectFrom
- urlRedirectTo
type: object
type: array
uniqueItems: true
required:
- description
- records
- certificateValidateLink
- certificateValidationStatus
- onboardingLink
type: object
x-akamai:
file-path: schemas/onboarding-certificate-validation.yaml
description: Successfully validated certificate challenges.
'207':
content:
application/json:
example:
certificateValidateLink: /appsec/v1/onboardings/101/certificate-validation/validate
certificateValidationStatus: VALIDATION_SUCCESS
description: Certificate Validation is complete.Please proceed with next steps.
onboardingLink: /appsec/v1/onboardings/101
records:
- hostname: www.test.com
httpFilePath: http://www.test.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
httpToken: FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA.Q09uXf7yi3IHfsXvV6hGMNKJWtRyUFmUjzd_iQ1vVL0
recordName: _acme-challenge.www.test.com.
recordStatus: VALIDATED
recordTtl: 60
recordType: TXT
recordValue: jSwlQYgkF9Tus6C1us4ysx6QxCB95o3fXHKh9TvqiII
urlRedirectFrom: http://www.test.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
urlRedirectTo: http://dcv.akamai.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
- hostname: www.test1.com
httpFilePath: http://www.test1.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
httpToken: FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA.Q09uXf7yi3IHfsXvV6hGMNKJWtRyUFmUjzd_iQ1vVL0
recordName: _acme-challenge.www.test1.com.
recordStatus: VALIDATED
recordTtl: 60
recordType: TXT
recordValue: jSwlQYgkF9Tus6C1us4ysx6QxCB95o3fXHKh9TvqiII
urlRedirectFrom: http://www.test1.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
urlRedirectTo: http://dcv1.akamai.com/.well-known/acme-challenge/FXdQ7d5o-4n156mUdKoWSA7VSsL5RCVbWiAVDUH0YBA
schema:
additionalProperties: false
description: Specifies the challenges necessary to validate the certificate.
properties:
certificateValidateLink:
description: The URL to call to validate your certificate.
format: uri
type: string
certificateValidationStatus:
description: The cumulative status for all certificate validation. If there is more than one certificate and each is valid, you'll see a value of `VALIDATION_SUCCESS`. If one certificate is valid but another is not, it will say `VALIDATION_NEEDED`.
enum:
- VALIDATION_SUCCESS
- VALIDATION_NEEDED
minLength: 1
type: string
description:
description: Details the steps you need to perform to validate your certificate.
minLength: 1
type: string
onboardingLink:
description: The URL to get the onboarding's details.
format: uri
type: string
records:
description: Lists all hostname record information you need to validate your certificate.
items:
additionalProperties: false
properties:
hostname:
description: The hostname the certificate secures.
minLength: 1
type: string
httpFilePath:
description: The path to the http file when validating your certificate with an HTTP token.
minLength: 1
type: string
httpToken:
description: The domain record's HTTP token you'll use to validate your certificate.
minLength: 1
type: string
recordName:
description: The fully qualified domain name (FQDN) of this record.
minLength: 1
type: string
recordStatus:
description: The status of your certificate. When `VALIDATED`, you can proceed to the next step in the onboarding process. When `NOT_VALIDATED`, you may need to validate your site manually.
enum:
- VALIDATED
- NOT_VALIDATED
minLength: 1
type: string
recordTtl:
description: The number of seconds that this record should live in cache before being re-fetched.
type: integer
recordType:
description: The type of domain record. For example, `A`, `TXT`, or `CNAME`.
minLength: 1
type: string
recordValue:
description: The resource record's IP address.
minLength: 1
type: string
urlRedirectFrom:
description: The URL for the site you are redirecting `from` when you validate your origin using a redirect.
minLength: 1
type: string
urlRedirectTo:
description: The URL you are redirecting `to` when you validate your origin using a redirect.
minLength: 1
type: string
required:
- hostname
- recordName
- recordType
- recordValue
- recordTtl
- httpFilePath
- httpToken
- recordStatus
- urlRedirectFrom
- urlRedirectTo
type: object
type: array
uniqueItems: true
required:
- description
- records
- certificateValidateLink
- certificateValidationStatus
- onboardingLink
type: object
x-akamai:
file-path: schemas/onboarding-certificate-validation.yaml
description: "Partially validated\tCertificate Challenges."
'403':
content:
application/problem+json:
example:
detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 403
title: Forbidden
type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
additionalProperties:
description: Fields that provide additional details about the problem.
type: string
description: Pointers to fields
# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/openapi/akamai-api-security-onboarding-post-activation-validation-api-openapi.yml