openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens Namespaces 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: Namespaces paths: /auth/database: put: description: Modify the default Data Access Policy setting that's applied for newly created namespaces. You need an additional Standard TLS Support contract entitlement to call this operation. By default for existing customers, `restrictDataAccess` is `true`, and `allowNamespacePolicyOverride` is `false`. operationId: put-auth-database summary: Akamai Modify the Default Data Access Policy tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/put-auth-database 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: '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 '403': description: Internal error. content: application/problem+json: example: detail: This feature requires the Standard TLS Support product. errorCode: EKV_1005 instance: /edgeKV/error-instances/2c82be29-f909-4d42-b775-de404e264fd9 status: 403 title: Forbidden type: /edgekv/error-types/edgekv-forbidden 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 '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 /auth/namespaces/{namespaceId}: parameters: - description: Unique identifier for each namespace. example: '{{namespaceId}}' in: path name: namespaceId required: true schema: example: marketing type: string x-akamai: file-path: parameters/namespaceId-path.yaml put: description: Assign an existing namespace to a different Akamai access group. operationId: put-reauthorize-namespace summary: Akamai Reauthorize a Namespace tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/put-reauthorize-namespace requestBody: required: true content: application/json: example: groupId: 4284 schema: additionalProperties: false description: Represents an EdgeKV namespace authorization. type: object required: - groupId properties: groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all groups on the account with EdgeKV capabilities. example: '{{groupId}}' minimum: 0 type: integer x-akamai: file-path: schemas/reauthorize-namespace-200.yaml responses: '200': description: This section confirms the updated groupId for the namespace. content: application/json: example: groupId: 4284 schema: additionalProperties: false description: Represents an EdgeKV namespace authorization. type: object required: - groupId properties: groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all groups on the account with EdgeKV capabilities. minimum: 0 type: integer x-akamai: file-path: schemas/reauthorize-namespace-200.yaml '400': description: Namespace could not be reauthorized. content: application/problem+json: example: detail: That resource does not exist or you are missing the 'AUTHORIZE_NAMESPACE' permission for it. errorCode: EKV_1002 instance: /edgekv/error-instances/2c82be29-f909-4d42-b775-de404e264fd9 status: 400 title: Bad Request type: /edgekv/error-types/edgekv-bad-request additionalDetail: requestId: 1d646f05c4ca4df9 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 /networks/{network}/namespaces: parameters: - description: __Enum__ Network environment to execute the API request on. example: '{{network}}' in: path name: network required: true schema: example: staging type: string enum: - production - staging x-akamai: file-path: parameters/network-path.yaml post: description: Creates a namespace on Akamai's `STAGING` or `PRODUCTION` network. You should create namespaces in both networks so that you can test your EdgeWorkers code on staging. operationId: post-namespace summary: Akamai Create a Namespace tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/post-namespace requestBody: content: application/json: example: geoLocation: US groupId: 4284 namespace: marketing retentionInSeconds: 15724800 schema: additionalProperties: false description: Represents an EdgeKV namespace. type: object x-akamai: file-path: schemas/namespace.yaml allOf: - description: Represents an EdgeKV namespace. type: object required: - namespace - retentionInSeconds properties: namespace: description: A name for a namespace. type: string retentionInSeconds: description: Retention period of underlying data, represented in seconds. Accepts values between 86400 for one day and 315360000 for 10 years. You can also enter a value of `0` to retain data indefinitely. type: integer oneOf: - title: Retain data indefinitely enum: - 0 - maximum: 315360000 minimum: 86400 title: Retain data for a specific period x-akamai: file-path: schemas/namespace-put.yaml - required: - groupId properties: dataAccessPolicy: additionalProperties: false description: 'Overrides the default database Data Access Policy. If not specified, the applied Data Access Policy will be the default Data Access Policy effective for all newly created namespaces. The default database Data Access Policy is defined when first initializing EdgeKV. The effective settings for new namespaces can also be changed using the modify Data Access Policy endpoint after initialization. The applied Data Access Policy can''t be changed after the namespace is created. ' type: object required: - restrictDataAccess - policyType properties: policyType: default: inherited description: 'Indicates if the default Data Access Policy of the database has been `inherited` or `overridden` when the namespace was created. ' readOnly: true type: string enum: - inherited - overridden restrictDataAccess: description: Set a Data Access Policy to apply only for the current namespace that overrides the default setting. Changing the Data Access Policy for a namespace is only possible if namespace policy override is set to allowed by setting `allowNamespacePolicyOverride` to `true` when first initializing EdgeKV. The endpoint to modify the default Data Access Policy settings can also be used after initialization to change effective settings. type: boolean geoLocation: default: US description: Specifies the storage location for data when creating a namespace on the production network. This can help optimize performance by storing data where most or all of your users are located. The value defaults to `US` on the `STAGING` and `PRODUCTION` networks. The available locations also include `EU` (Europe) and `JP` (Japan) for the `PRODUCTION` network. Once you create this value, you can't modify it. type: string enum: - US - EU - JP groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all Akamai access groups on the account with EdgeKV capabilities. minimum: 0 type: integer responses: '200': description: Successful response. content: application/json: example: geoLocation: US groupId: 4284 namespace: marketing retentionInSeconds: 15724800 schema: additionalProperties: false description: Represents an EdgeKV namespace. type: object x-akamai: file-path: schemas/namespace.yaml allOf: - description: Represents an EdgeKV namespace. type: object required: - namespace - retentionInSeconds properties: namespace: description: A name for a namespace. type: string retentionInSeconds: description: Retention period of underlying data, represented in seconds. Accepts values between 86400 for one day and 315360000 for 10 years. You can also enter a value of `0` to retain data indefinitely. type: integer oneOf: - title: Retain data indefinitely enum: - 0 - maximum: 315360000 minimum: 86400 title: Retain data for a specific period x-akamai: file-path: schemas/namespace-put.yaml - required: - groupId properties: dataAccessPolicy: additionalProperties: false description: 'Overrides the default database Data Access Policy. If not specified, the applied Data Access Policy will be the default Data Access Policy effective for all newly created namespaces. The default database Data Access Policy is defined when first initializing EdgeKV. The effective settings for new namespaces can also be changed using the modify Data Access Policy endpoint after initialization. The applied Data Access Policy can''t be changed after the namespace is created. ' type: object required: - restrictDataAccess - policyType properties: policyType: default: inherited description: 'Indicates if the default Data Access Policy of the database has been `inherited` or `overridden` when the namespace was created. ' readOnly: true type: string enum: - inherited - overridden restrictDataAccess: description: Set a Data Access Policy to apply only for the current namespace that overrides the default setting. Changing the Data Access Policy for a namespace is only possible if namespace policy override is set to allowed by setting `allowNamespacePolicyOverride` to `true` when first initializing EdgeKV. The endpoint to modify the default Data Access Policy settings can also be used after initialization to change effective settings. type: boolean geoLocation: default: US description: Specifies the storage location for data when creating a namespace on the production network. This can help optimize performance by storing data where most or all of your users are located. The value defaults to `US` on the `STAGING` and `PRODUCTION` networks. The available locations also include `EU` (Europe) and `JP` (Japan) for the `PRODUCTION` network. Once you create this value, you can't modify it. type: string enum: - US - EU - JP groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all Akamai access groups on the account with EdgeKV capabilities. minimum: 0 type: integer '400': description: Invalid namespace name or missing attribute. content: application/problem+json: examples: Cannot change groupId: value: detail: groupId changes must be made through the reauthorize endpoint. errorCode: EKV_3000 instance: /edgekv/error-instances/2c82be29-f909-4d42-b775-de404e264fd9 status: 400 title: Bad Request type: /edgekv/error-types/edgekv-bad-request additionalDetail: requestId: 5d424b9289ab9b43 Invalid Namespace: value: detail: Retention period must be specified. errorCode: EKV_2000 instance: /edgekv/error-instances/48361e23-541d-4c39-ab4b-c8a194889b27 status: 400 title: Bad Request type: /edgekv/error-types/edgekv-bad-request additionalDetail: requestId: baaf61e18fa20d95 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 '409': description: Namespace name already exists. content: application/problem+json: example: detail: A namespace with the name marketing already exists with a different configuration errorCode: EKV_3000 instance: /edgekv/error-instances/990ac1c3-aa20-4cb8-91fd-9c791d7653f5 status: 409 title: Conflict type: /edgekv/error-types/edgekv-conflict additionalDetail: requestId: c04b61e191f202f3 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 get: description: View a list of all EdgeKV namespaces. operationId: get-namespaces summary: Akamai List Namespaces tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/get-namespaces responses: '200': description: Returns a list of namespaces. content: application/json: example: namespaces: - geoLocation: US groupId: 0 namespace: default retentionInSeconds: 15724800 dataAccessPolicy: policyType: inherited restrictDataAccess: true - geoLocation: US groupId: 4284 namespace: marketing retentionInSeconds: 15724800 dataAccessPolicy: policyType: overridden restrictDataAccess: false schema: additionalProperties: false description: Lists the namespaces available on the specified network, staging or production. type: object required: - namespaces properties: namespaces: description: A list of namespace identifiers for the specified network. minItems: 1 type: array items: additionalProperties: false description: Attributes of the namespace. type: object x-akamai: file-path: schemas/namespace.yaml allOf: - description: Represents an EdgeKV namespace. type: object required: - namespace - retentionInSeconds properties: namespace: description: A name for a namespace. type: string retentionInSeconds: description: Retention period of underlying data, represented in seconds. Accepts values between 86400 for one day and 315360000 for 10 years. You can also enter a value of `0` to retain data indefinitely. type: integer oneOf: - title: Retain data indefinitely enum: - 0 - maximum: 315360000 minimum: 86400 title: Retain data for a specific period x-akamai: file-path: schemas/namespace-put.yaml - required: - groupId properties: dataAccessPolicy: additionalProperties: false description: 'Overrides the default database Data Access Policy. If not specified, the applied Data Access Policy will be the default Data Access Policy effective for all newly created namespaces. The default database Data Access Policy is defined when first initializing EdgeKV. The effective settings for new namespaces can also be changed using the modify Data Access Policy endpoint after initialization. The applied Data Access Policy can''t be changed after the namespace is created. ' type: object required: - restrictDataAccess - policyType properties: policyType: default: inherited description: 'Indicates if the default Data Access Policy of the database has been `inherited` or `overridden` when the namespace was created. ' readOnly: true type: string enum: - inherited - overridden restrictDataAccess: description: Set a Data Access Policy to apply only for the current namespace that overrides the default setting. Changing the Data Access Policy for a namespace is only possible if namespace policy override is set to allowed by setting `allowNamespacePolicyOverride` to `true` when first initializing EdgeKV. The endpoint to modify the default Data Access Policy settings can also be used after initialization to change effective settings. type: boolean geoLocation: default: US description: Specifies the storage location for data when creating a namespace on the production network. This can help optimize performance by storing data where most or all of your users are located. The value defaults to `US` on the `STAGING` and `PRODUCTION` networks. The available locations also include `EU` (Europe) and `JP` (Japan) for the `PRODUCTION` network. Once you create this value, you can't modify it. type: string enum: - US - EU - JP groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all Akamai access groups on the account with EdgeKV capabilities. minimum: 0 type: integer x-akamai: file-path: schemas/namespaces-200.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: __Enum__ Whether to return all namespace attributes or only names. example: '{{details}}' in: query name: details schema: example: 'on' type: string enum: - 'on' - 'off' x-akamai: file-path: parameters/details-query.yaml - 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 /networks/{network}/namespaces/{namespaceId}: parameters: - description: Unique identifier for each namespace. example: '{{namespaceId}}' in: path name: namespaceId required: true schema: example: marketing type: string x-akamai: file-path: parameters/namespaceId-path.yaml - description: __Enum__ Network environment to execute the API request on. example: '{{network}}' in: path name: network required: true schema: example: staging type: string enum: - production - staging x-akamai: file-path: parameters/network-path.yaml get: description: View details for the specified namespace. operationId: get-namespace summary: Akamai Get Namespace Details tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/get-namespace responses: '200': description: Returns a single namespace. content: application/json: example: geoLocation: US groupId: 4284 namespace: marketing retentionInSeconds: 15724800 schema: additionalProperties: false description: Represents an EdgeKV namespace. type: object x-akamai: file-path: schemas/namespace.yaml allOf: - description: Represents an EdgeKV namespace. type: object required: - namespace - retentionInSeconds properties: namespace: description: A name for a namespace. type: string retentionInSeconds: description: Retention period of underlying data, represented in seconds. Accepts values between 86400 for one day and 315360000 for 10 years. You can also enter a value of `0` to retain data indefinitely. type: integer oneOf: - title: Retain data indefinitely enum: - 0 - maximum: 315360000 minimum: 86400 title: Retain data for a specific period x-akamai: file-path: schemas/namespace-put.yaml - required: - groupId properties: dataAccessPolicy: additionalProperties: false description: 'Overrides the default database Data Access Policy. If not specified, the applied Data Access Policy will be the default Data Access Policy effective for all newly created namespaces. The default database Data Access Policy is defined when first initializing EdgeKV. The effective settings for new namespaces can also be changed using the modify Data Access Policy endpoint after initialization. The applied Data Access Policy can''t be changed after the namespace is created. ' type: object required: - restrictDataAccess - policyType properties: policyType: default: inherited description: 'Indicates if the default Data Access Policy of the database has been `inherited` or `overridden` when the namespace was created. ' readOnly: true type: string enum: - inherited - overridden restrictDataAccess: description: Set a Data Access Policy to apply only for the current namespace that overrides the default setting. Changing the Data Access Policy for a namespace is only possible if namespace policy override is set to allowed by setting `allowNamespacePolicyOverride` to `true` when first initializing EdgeKV. The endpoint to modify the default Data Access Policy settings can also be used after initialization to change effective settings. type: boolean geoLocation: default: US description: Specifies the storage location for data when creating a namespace on the production network. This can help optimize performance by storing data where most or all of your users are located. The value defaults to `US` on the `STAGING` and `PRODUCTION` networks. The available locations also include `EU` (Europe) and `JP` (Japan) for the `PRODUCTION` network. Once you create this value, you can't modify it. type: string enum: - US - EU - JP groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all Akamai access groups on the account with EdgeKV capabilities. minimum: 0 type: integer '400': description: Namespace doesn't exist. content: application/problem+json: example: detail: The requested namespace does not exist. errorCode: EKV_9000 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: An 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 can update the retention period for any existing namespace other than the default namespace. It can take up to five minutes for a new retention policy to apply. The new retention period only applies to data added or updated in the namespace after this operation is complete. The retention period of existing data remains unchanged from the old retention period. Once you perform this operation you can't query the previously existing data. If you want to ensure that all data in the namespace has the same retention period you need to update the entire data set once the retention period has been updated. To change the access group used to authorize permission to a namespace, see [Reauthorize a namespace](https://techdocs.akamai.com/edgekv/reference/reauthorize-namespace). If you try to run this operation to update the access group, you get a [400 error](https://techdocs.akamai.com/edgekv/reference/400). operationId: put-namespace summary: Akamai Update Namespace Details tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/put-namespace requestBody: content: application/json: example: namespace: marketing retentionInSeconds: 15724800 schema: description: Represents an EdgeKV namespace. type: object required: - namespace - retentionInSeconds properties: namespace: description: A name for a namespace. example: '{{namespace}}' type: string retentionInSeconds: description: Retention period of underlying data, represented in seconds. Accepts values between 86400 for one day and 315360000 for 10 years. You can also enter a value of `0` to retain data indefinitely. example: '{{retentionInSeconds}}' type: integer oneOf: - title: Retain data indefinitely enum: - 0 - maximum: 315360000 minimum: 86400 title: Retain data for a specific period x-akamai: file-path: schemas/namespace-put.yaml responses: '200': description: Returns a single namespace. content: application/json: example: geoLocation: US groupId: 4284 namespace: marketing retentionInSeconds: 15724800 schema: additionalProperties: false description: Represents an EdgeKV namespace. type: object x-akamai: file-path: schemas/namespace.yaml allOf: - description: Represents an EdgeKV namespace. type: object required: - namespace - retentionInSeconds properties: namespace: description: A name for a namespace. type: string retentionInSeconds: description: Retention period of underlying data, represented in seconds. Accepts values between 86400 for one day and 315360000 for 10 years. You can also enter a value of `0` to retain data indefinitely. type: integer oneOf: - title: Retain data indefinitely enum: - 0 - maximum: 315360000 minimum: 86400 title: Retain data for a specific period x-akamai: file-path: schemas/namespace-put.yaml - required: - groupId properties: dataAccessPolicy: additionalProperties: false description: 'Overrides the default database Data Access Policy. If not specified, the applied Data Access Policy will be the default Data Access Policy effective for all newly created namespaces. The default database Data Access Policy is defined when first initializing EdgeKV. The effective settings for new namespaces can also be changed using the modify Data Access Policy endpoint after initialization. The applied Data Access Policy can''t be changed after the namespace is created. ' type: object required: - restrictDataAccess - policyType properties: policyType: default: inherited description: 'Indicates if the default Data Access Policy of the database has been `inherited` or `overridden` when the namespace was created. ' readOnly: true type: string enum: - inherited - overridden restrictDataAccess: description: Set a Data Access Policy to apply only for the current namespace that overrides the default setting. Changing the Data Access Policy for a namespace is only possible if namespace policy override is set to allowed by setting `allowNamespacePolicyOverride` to `true` when first initializing EdgeKV. The endpoint to modify the default Data Access Policy settings can also be used after initialization to change effective settings. type: boolean geoLocation: default: US description: Specifies the storage location for data when creating a namespace on the production network. This can help optimize performance by storing data where most or all of your users are located. The value defaults to `US` on the `STAGING` and `PRODUCTION` networks. The available locations also include `EU` (Europe) and `JP` (Japan) for the `PRODUCTION` network. Once you create this value, you can't modify it. type: string enum: - US - EU - JP groupId: description: The Akamai access group the namespace is assigned to. A value of `0` makes the namespace available to all Akamai access groups on the account with EdgeKV capabilities. minimum: 0 type: integer '400': description: Namespace does not exist. content: application/problem+json: example: detail: The requested namespace does not exist. errorCode: EKV_9000 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: An 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 /networks/{network}/namespaces/{namespaceId}/groups: parameters: - description: Unique identifier for each namespace. example: '{{namespaceId}}' in: path name: namespaceId required: true schema: example: marketing type: string x-akamai: file-path: parameters/namespaceId-path.yaml - description: __Enum__ Network environment to execute the API request on. example: '{{network}}' in: path name: network required: true schema: example: staging type: string enum: - production - staging x-akamai: file-path: parameters/network-path.yaml get: description: List group identifiers created when writing items to a namespace. You need to specify at least one of these group identifiers in the `groupId` parameter when writing items to a specific namespace. The group identifier is a logical container for a set of items stored inside a given namespace. operationId: get-namespace-groups summary: Akamai List Groups Within a Namespace tags: - Namespaces externalDocs: description: See documentation for this operation in Akamai's EdgeKV API url: https://techdocs.akamai.com/edgekv/reference/get-namespace-groups responses: '200': description: Returns a list of groups within the specified namespace. content: application/json: example: - countries - verticals - industries schema: description: A list of group identifiers. minItems: 1 type: array items: description: Name of the Group. type: string x-akamai: file-path: schemas/groups-200.yaml '404': description: No groups are found. content: application/problem+json: example: detail: There are no groups. errorCode: EKV_9000 instance: /edgekv/error-instances/18c6df92-09dc-49e1-9e2f-2fe9a56f1db8 status: 404 title: Not Found type: /edgekv/error-types/edgekv-not-found additionalDetail: requestId: f83062602d14002f 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