openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens EdgeKV status API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://{hostname}/api-definitions/v2 tags: - name: EdgeKV status paths: /initialize: get: description: View the EdgeKV initialization status. operationId: get-initialize summary: Akamai Get the EdgeKV Initialization Status tags: - EdgeKV status externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/get-initialize responses: '200': description: Returns current initialization status. content: application/json: example: accountStatus: INITIALIZED cpcode: '1234567' productionStatus: INITIALIZED stagingStatus: INITIALIZED dataAccessPolicy: allowNamespacePolicyOverride: false restrictDataAccess: true schema: additionalProperties: false description: Lists properties related to EdgeKV initialization. type: object x-akamai: file-path: schemas/initialize-200.yaml allOf: - description: Represents an EdgeKV Data Access Policy. type: object required: - dataAccessPolicy properties: dataAccessPolicy: additionalProperties: false description: Data Access Policy properties effective for new namespaces created in the database. nullable: true type: object required: - restrictDataAccess - allowNamespacePolicyOverride properties: allowNamespacePolicyOverride: description: Overrides the default database Data Access Policy when creating a new namespace. A value of `true` indicates that the database Data Access Policy can be overridden when a namespace is created. A value of `false` prevents new namespaces from overriding the default Data Access Policy setting. type: boolean restrictDataAccess: description: Set Data Access Policy to apply for new namespaces by default. A value of `true` indicates newly created namespaces will only be accessible on Akamai's enhanced secure network. A value of `false` enables access in both the enhanced secure network and the standard secured network. You need a special Standard TLS Support contract entitlement for this value to be set to `false`. type: boolean x-akamai: file-path: schemas/initialize-put.yaml - required: - accountStatus - cpcode - productionStatus - stagingStatus properties: accountStatus: description: The `INITIALIZED` status indicates that the EdgeKV and the CP code have been provisioned in production and staging networks. If EdgeKV has not been initialized in both networks, the value of `UNINITIALIZED` will be shown. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING cpcode: description: CP code created to track the EdgeKV traffic. Make sure you don't purge content associated with this CP code to avoid degradation in your EdgeKV performance. A value of `null` shows that the account has not been initialized. nullable: true type: string productionStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on the production network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING stagingStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on staging network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING '404': description: EdgeKV has not been initialized. content: application/problem+json: example: accountStatus: UNINITIALIZED cpcode: null dataAccessPolicy: null productionStatus: UNINITIALIZED stagingStatus: UNINITIALIZED schema: additionalProperties: false description: Lists properties related to EdgeKV initialization. type: object x-akamai: file-path: schemas/initialize-200.yaml allOf: - description: Represents an EdgeKV Data Access Policy. type: object required: - dataAccessPolicy properties: dataAccessPolicy: additionalProperties: false description: Data Access Policy properties effective for new namespaces created in the database. nullable: true type: object required: - restrictDataAccess - allowNamespacePolicyOverride properties: allowNamespacePolicyOverride: description: Overrides the default database Data Access Policy when creating a new namespace. A value of `true` indicates that the database Data Access Policy can be overridden when a namespace is created. A value of `false` prevents new namespaces from overriding the default Data Access Policy setting. type: boolean restrictDataAccess: description: Set Data Access Policy to apply for new namespaces by default. A value of `true` indicates newly created namespaces will only be accessible on Akamai's enhanced secure network. A value of `false` enables access in both the enhanced secure network and the standard secured network. You need a special Standard TLS Support contract entitlement for this value to be set to `false`. type: boolean x-akamai: file-path: schemas/initialize-put.yaml - required: - accountStatus - cpcode - productionStatus - stagingStatus properties: accountStatus: description: The `INITIALIZED` status indicates that the EdgeKV and the CP code have been provisioned in production and staging networks. If EdgeKV has not been initialized in both networks, the value of `UNINITIALIZED` will be shown. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING cpcode: description: CP code created to track the EdgeKV traffic. Make sure you don't purge content associated with this CP code to avoid degradation in your EdgeKV performance. A value of `null` shows that the account has not been initialized. nullable: true type: string productionStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on the production network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING stagingStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on staging network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING '500': description: Internal error. content: application/problem+json: example: detail: An internal error occurred. errorCode: EKV_0000 instance: /edgekv/error-instances/cdb7767c-817e-4805-9f28-0816eefa0ba8 status: 500 title: Internal Server Error type: /edgekv/error-types/edgekv-internal-server-error additionalDetail: requestId: cd9b61e08148009b schema: additionalProperties: false description: Error messaging. type: object properties: additionalDetail: additionalProperties: false type: object properties: requestId: description: Request identifier. type: string detail: description: A description of the error. type: string errorCode: description: Internal error code used to assist with troubleshooting by Akamai employees. type: string instance: description: Reference to unique instance of the error. type: string status: description: The HTTP code for the error. type: integer title: description: Text representation of the HTTP error code. type: string type: description: Reference to additional documentation. type: string x-akamai: file-path: schemas/error.yaml 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 put: description: You only need to initialize EdgeKV once. This operation adds the `default` EdgeKV namespace to Akamai's `STAGING` and `PRODUCTION` networks. It also creates a new dedicated CP code for you to track your EdgeKV usage. You won't be able to use any of the EdgeKV API operations or your EdgeKV database until initialization completes. You should only use the default namespace for experimentation and testing purposes. When deploying your EdgeKV database in production, use a new namespace with a different name. You need to specify a database Data Access Policy when running this operation. The Data Access Policy determines if new namespaces should be processed only on Akamai's enhanced secure network with high security standards, or both enhanced and standard secure networks. By default, all current existing namespaces in EdgeKV are set to use only the enhanced secure network. To use the standard secure network, you need special contract entitlement for Standard TLS Support. operationId: put-initialize summary: Akamai Initialize EdgeKV tags: - EdgeKV status externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/put-initialize requestBody: content: application/json: example: dataAccessPolicy: allowNamespacePolicyOverride: false restrictDataAccess: true schema: description: Represents an EdgeKV Data Access Policy. type: object required: - dataAccessPolicy properties: dataAccessPolicy: additionalProperties: false description: Data Access Policy properties effective for new namespaces created in the database. nullable: true type: object required: - restrictDataAccess - allowNamespacePolicyOverride properties: allowNamespacePolicyOverride: description: Overrides the default database Data Access Policy when creating a new namespace. A value of `true` indicates that the database Data Access Policy can be overridden when a namespace is created. A value of `false` prevents new namespaces from overriding the default Data Access Policy setting. type: boolean restrictDataAccess: description: Set Data Access Policy to apply for new namespaces by default. A value of `true` indicates newly created namespaces will only be accessible on Akamai's enhanced secure network. A value of `false` enables access in both the enhanced secure network and the standard secured network. You need a special Standard TLS Support contract entitlement for this value to be set to `false`. type: boolean x-akamai: file-path: schemas/initialize-put.yaml responses: '102': description: An existing initialization request is currently processing for current account. content: application/json: example: accountStatus: PENDING cpcode: null dataAccessPolicy: null productionStatus: PENDING stagingStatus: PENDING schema: additionalProperties: false description: Lists properties related to EdgeKV initialization. type: object x-akamai: file-path: schemas/initialize-200.yaml allOf: - description: Represents an EdgeKV Data Access Policy. type: object required: - dataAccessPolicy properties: dataAccessPolicy: additionalProperties: false description: Data Access Policy properties effective for new namespaces created in the database. nullable: true type: object required: - restrictDataAccess - allowNamespacePolicyOverride properties: allowNamespacePolicyOverride: description: Overrides the default database Data Access Policy when creating a new namespace. A value of `true` indicates that the database Data Access Policy can be overridden when a namespace is created. A value of `false` prevents new namespaces from overriding the default Data Access Policy setting. type: boolean restrictDataAccess: description: Set Data Access Policy to apply for new namespaces by default. A value of `true` indicates newly created namespaces will only be accessible on Akamai's enhanced secure network. A value of `false` enables access in both the enhanced secure network and the standard secured network. You need a special Standard TLS Support contract entitlement for this value to be set to `false`. type: boolean x-akamai: file-path: schemas/initialize-put.yaml - required: - accountStatus - cpcode - productionStatus - stagingStatus properties: accountStatus: description: The `INITIALIZED` status indicates that the EdgeKV and the CP code have been provisioned in production and staging networks. If EdgeKV has not been initialized in both networks, the value of `UNINITIALIZED` will be shown. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING cpcode: description: CP code created to track the EdgeKV traffic. Make sure you don't purge content associated with this CP code to avoid degradation in your EdgeKV performance. A value of `null` shows that the account has not been initialized. nullable: true type: string productionStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on the production network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING stagingStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on staging network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING '201': description: On initial successful initialization, returns current initialization status and the assigned CP code. content: application/json: example: accountStatus: INITIALIZED cpcode: '1234567' productionStatus: INITIALIZED stagingStatus: INITIALIZED dataAccessPolicy: allowNamespacePolicyOverride: false restrictDataAccess: true schema: additionalProperties: false description: Lists properties related to EdgeKV initialization. type: object x-akamai: file-path: schemas/initialize-200.yaml allOf: - description: Represents an EdgeKV Data Access Policy. type: object required: - dataAccessPolicy properties: dataAccessPolicy: additionalProperties: false description: Data Access Policy properties effective for new namespaces created in the database. nullable: true type: object required: - restrictDataAccess - allowNamespacePolicyOverride properties: allowNamespacePolicyOverride: description: Overrides the default database Data Access Policy when creating a new namespace. A value of `true` indicates that the database Data Access Policy can be overridden when a namespace is created. A value of `false` prevents new namespaces from overriding the default Data Access Policy setting. type: boolean restrictDataAccess: description: Set Data Access Policy to apply for new namespaces by default. A value of `true` indicates newly created namespaces will only be accessible on Akamai's enhanced secure network. A value of `false` enables access in both the enhanced secure network and the standard secured network. You need a special Standard TLS Support contract entitlement for this value to be set to `false`. type: boolean x-akamai: file-path: schemas/initialize-put.yaml - required: - accountStatus - cpcode - productionStatus - stagingStatus properties: accountStatus: description: The `INITIALIZED` status indicates that the EdgeKV and the CP code have been provisioned in production and staging networks. If EdgeKV has not been initialized in both networks, the value of `UNINITIALIZED` will be shown. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING cpcode: description: CP code created to track the EdgeKV traffic. Make sure you don't purge content associated with this CP code to avoid degradation in your EdgeKV performance. A value of `null` shows that the account has not been initialized. nullable: true type: string productionStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on the production network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING stagingStatus: description: The `INITIALIZED` status indicates that the EdgeKV has been provisioned on staging network. A value of `UNINITIALIZED` will be shown if initialization has not been attempted or the attempt has failed. A value of `PENDING` will be shown if a previous initialization request is currently processing for the account. type: string enum: - INITIALIZED - UNINITIALIZED - PENDING '400': description: Internal error. content: application/problem+json: example: detail: You cannot set `restrictDataAccess` to false. Your account entitlement doesn't allow EdgeKV data access to Akamai's Standard TLS network. errorCode: EKV_1005 instance: /edgekv/error-instances/2c82be29-f909-4d42-b775-de404e264fd9 status: 400 title: Bad Request type: /edgekv/error-types/edgekv-bad-request additionalDetail: requestId: 5d424b9289ab9b43 schema: additionalProperties: false description: Error messaging. type: object properties: additionalDetail: additionalProperties: false type: object properties: requestId: description: Request identifier. type: string detail: description: A description of the error. type: string errorCode: description: Internal error code used to assist with troubleshooting by Akamai employees. type: string instance: description: Reference to unique instance of the error. type: string status: description: The HTTP code for the error. type: integer title: description: Text representation of the HTTP error code. type: string type: description: Reference to additional documentation. type: string x-akamai: file-path: schemas/error.yaml '500': description: Internal error. content: application/problem+json: example: detail: An internal error occurred. errorCode: EKV_0000 instance: /edgekv/error-instances/cdb7767c-817e-4805-9f28-0816eefa0ba8 status: 500 title: Internal Server Error type: /edgekv/error-types/edgekv-internal-server-error additionalDetail: requestId: cd9b61e08148009b schema: additionalProperties: false description: Error messaging. type: object properties: additionalDetail: additionalProperties: false type: object properties: requestId: description: Request identifier. type: string detail: description: A description of the error. type: string errorCode: description: Internal error code used to assist with troubleshooting by Akamai employees. type: string instance: description: Reference to unique instance of the error. type: string status: description: The HTTP code for the error. type: integer title: description: Text representation of the HTTP error code. type: string type: description: Reference to additional documentation. type: string x-akamai: file-path: schemas/error.yaml 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 externalDocs: description: See documentation for Akamai's API Endpoint Definition API url: https://techdocs.akamai.com/api-definitions/reference x-readme: samples-languages: - curl - python - node