openapi: 3.0.0
info:
title: 'Akamai: API Endpoint Definition Access tokens Pragma settings API'
version: '2'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
description: Manage the Pragma header settings for your security policies.
servers:
- url: https://{hostname}/api-definitions/v2
tags:
- description: Manage the Pragma header settings for your security policies.
name: Pragma settings
paths:
/configs/{configId}/versions/{versionNumber}/advanced-settings/pragma-header:
parameters:
- description: A unique identifier for each configuration.
in: path
name: configId
required: true
schema:
example: 77653
format: int64
type: integer
x-akamai:
file-path: parameters/config-id-path.yaml
- description: A unique identifier for each version of a configuration.
in: path
name: versionNumber
required: true
schema:
example: 25
type: integer
x-akamai:
file-path: parameters/version-number-path.yaml
x-akamai:
file-path: paths/config-pragma-header.yaml
path-info: /configs/{configId}/versions/{versionNumber}/advanced-settings/pragma-header
get:
description: __All products__ Return the `Pragma` header excluded conditions. By default, the `Pragma` header is stripped from an operation's response except in cases where you set `excludeCondition`. This operation applies at the security configuration level. To see settings at the security policy level, run [List Pragma header settings for a security policy](https://techdocs.akamai.com/application-security/reference/get-policies-pragma-header).
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/get-advanced-settings-pragma-header
operationId: get-advanced-settings-pragma-header
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).
in: query
name: accountSwitchKey
required: false
schema:
example: 1-5C0YLB:1-8BYUX
type: string
responses:
'200':
content:
application/json:
example:
action: REMOVE
conditionOperator: AND
excludeCondition:
- header: accept
positiveMatch: true
type: requestHeaderValueMatch
value:
- application/json
- application/xml
valueCase: true
valueWildcard: true
- positiveMatch: true
type: ipMatch
useHeaders: false
value:
- 192.0.2.1
- 192.0.2.250/24
- positiveMatch: true
type: networkList
value:
- 123_3ALLOWEDIPS
- name: type
positiveMatch: true
type: queryParamNameValueMatch
value:
- type A
- type B
valueCase: true
valueWildcard: false
schema:
additionalProperties: false
description: Describes which headers you can exclude from inspection when you pass a `Pragma` debug header.
properties:
action:
description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`.
enum:
- REMOVE
type: string
conditionOperator:
description: Use `OR` to match any condition, or `AND` to match on all conditions.
enum:
- OR
- AND
type: string
excludeCondition:
description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object.
items:
additionalProperties: false
properties:
header:
description: The name of the request header. In the example, `accept`.
type: string
name:
description: The name of the request header to ignore from inspection. In the example, `type`.
type: string
positiveMatch:
description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values.
type: boolean
type:
description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`.
enum:
- requestHeaderValueMatch
- ipMatch
- networkList
- queryParamNameValueMatch
type: string
useHeaders:
description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`.
type: boolean
value:
description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
items:
type: string
type: array
valueCase:
description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`.
type: boolean
valueWildcard:
description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type.
type: boolean
required:
- type
- positiveMatch
- value
type: object
type: array
override:
description: Whether `Pragma` header override is enabled or disabled.
type: boolean
required:
- action
type: object
x-akamai:
file-path: schemas/pragma-header.yaml
description: Successfully retrieved the Pragma header settings.
'400':
content:
application/json:
example:
detail: The request could not be understood by the server due to malformed syntax.
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 400
title: Bad Request
type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
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: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.'
x-akamai:
file-path: errors/400-client-read-errors.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:
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 security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.'
x-akamai:
file-path: errors/404-client-read-errors.yaml
'500':
content:
application/problem+json:
example:
detail: Internal Server Error
instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no
status: 500
title: Internal Server Error
type: internal_server_error
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
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: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.'
x-akamai:
file-path: errors/500-server-errors.yaml
summary: Get Pragma settings for a configuration
tags:
- Pragma settings
x-akamai:
labels:
- All products
put:
description: '__All products__ Update the `Pragma` header excluded conditions. By default, the `Pragma` header is stripped from an operation''s response except in cases where you set `excludeCondition`. To remove existing settings, submit your request with an empty payload `{}` at the top-level of an object. For example, submit `"type": "{}"` in the request body to remove the `requestHeaderValueMatch` from the excluded conditions. If you submit an empty payload for each field, you''ll clear all of your condition settings. This operation applies at the security configuration level. To see settings at the security policy level, run [Modify Pragma header settings for a security policy](https://techdocs.akamai.com/application-security/reference/put-policies-pragma-header).'
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/put-advanced-settings-pragma-header
operationId: put-advanced-settings-pragma-header
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).
in: query
name: accountSwitchKey
required: false
schema:
example: 1-5C0YLB:1-8BYUX
type: string
requestBody:
content:
application/json:
example:
action: REMOVE
conditionOperator: AND
excludeCondition:
- header: accept
positiveMatch: true
type: requestHeaderValueMatch
value:
- application/json
- application/xml
valueCase: true
valueWildcard: true
- positiveMatch: true
type: ipMatch
useHeaders: false
value:
- 192.0.2.1
- 192.0.2.250/24
- positiveMatch: true
type: networkList
value:
- 123_3ALLOWEDIPS
- name: type
positiveMatch: true
type: queryParamNameValueMatch
value:
- type A
- type B
valueCase: true
valueWildcard: false
schema:
additionalProperties: false
description: Describes which headers you can exclude from inspection when you pass a `Pragma` debug header.
properties:
action:
description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`.
enum:
- REMOVE
type: string
conditionOperator:
description: Use `OR` to match any condition, or `AND` to match on all conditions.
enum:
- OR
- AND
type: string
excludeCondition:
description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object.
items:
additionalProperties: false
properties:
header:
description: The name of the request header. In the example, `accept`.
type: string
name:
description: The name of the request header to ignore from inspection. In the example, `type`.
type: string
positiveMatch:
description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values.
type: boolean
type:
description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`.
enum:
- requestHeaderValueMatch
- ipMatch
- networkList
- queryParamNameValueMatch
type: string
useHeaders:
description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`.
type: boolean
value:
description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
items:
type: string
type: array
valueCase:
description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`.
type: boolean
valueWildcard:
description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type.
type: boolean
required:
- type
- positiveMatch
- value
type: object
type: array
override:
description: Whether `Pragma` header override is enabled or disabled.
type: boolean
required:
- action
type: object
x-akamai:
file-path: schemas/pragma-header.yaml
required: true
responses:
'200':
content:
application/json:
example:
action: REMOVE
conditionOperator: AND
excludeCondition:
- header: accept
positiveMatch: true
type: requestHeaderValueMatch
value:
- application/json
- application/xml
valueCase: true
valueWildcard: true
- positiveMatch: true
type: ipMatch
useHeaders: false
value:
- 192.0.2.1
- 192.0.2.250/24
- positiveMatch: true
type: networkList
value:
- 123_3ALLOWEDIPS
- name: type
positiveMatch: true
type: queryParamNameValueMatch
value:
- type A
- type B
valueCase: true
valueWildcard: false
schema:
additionalProperties: false
description: Describes which headers you can exclude from inspection when you pass a `Pragma` debug header.
properties:
action:
description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`.
enum:
- REMOVE
type: string
conditionOperator:
description: Use `OR` to match any condition, or `AND` to match on all conditions.
enum:
- OR
- AND
type: string
excludeCondition:
description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object.
items:
additionalProperties: false
properties:
header:
description: The name of the request header. In the example, `accept`.
type: string
name:
description: The name of the request header to ignore from inspection. In the example, `type`.
type: string
positiveMatch:
description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values.
type: boolean
type:
description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`.
enum:
- requestHeaderValueMatch
- ipMatch
- networkList
- queryParamNameValueMatch
type: string
useHeaders:
description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`.
type: boolean
value:
description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
items:
type: string
type: array
valueCase:
description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`.
type: boolean
valueWildcard:
description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type.
type: boolean
required:
- type
- positiveMatch
- value
type: object
type: array
override:
description: Whether `Pragma` header override is enabled or disabled.
type: boolean
required:
- action
type: object
x-akamai:
file-path: schemas/pragma-header.yaml
description: Successfully updated the Pragma header settings:.
'400':
content:
application/json:
example:
detail: The request could not be understood by the server due to malformed syntax.
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 400
title: Bad Request
type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
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: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Client error, such as invalid or malformed input.'
x-akamai:
file-path: errors/400-client-read-errors.yaml
'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:
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 don''t have permission to write to this resource.'
x-akamai:
file-path: errors/403-client-write-errors.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:
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 security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.'
x-akamai:
file-path: errors/404-client-read-errors.yaml
'500':
content:
application/problem+json:
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/openapi/akamai-pragma-settings-api-openapi.yml