ApiPolicies

List API policies

get
Authorizations
Query parameters
FilterstringOptional

Filter is matched against name, description and endpoints associated with the policy.

Responses
200

Success

application/json
get
GET /api/v1/api-policies HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

Success

{
  "data": [
    {
      "id": 1,
      "name": "text",
      "description": "text"
    }
  ]
}

Create an API policy

post
Authorizations
Body
namestringOptional

The name of the policy

descriptionstring | nullableOptional

The description of the policy

tagsstring[] | nullableOptional

The tags of the policy

allowPublicAccessbooleanOptional

Determines if public access is allowed

apiKeyNamestringOptional

The name of the API key

apiKeyLocationstring · enumOptionalPossible values:
Responses
201

API policy created

post
POST /api/v1/api-policies HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 941

{
  "name": "text",
  "description": "text",
  "tags": [
    "text"
  ],
  "allowPublicAccess": true,
  "apiKeyName": "text",
  "apiKeyLocation": "Query",
  "targetEndpoints": [
    {
      "requestLimit": 1,
      "requestLimitWindowInMinutes": 1,
      "path": "text",
      "method": "All"
    }
  ],
  "identities": [
    {
      "requestLimit": 1,
      "requestLimitWindowInMinutes": 1,
      "isPrivateApplication": true,
      "issuers": [
        "text"
      ],
      "name": "text",
      "throttlingByClaim": "text",
      "priorityNumber": 1,
      "id": 1,
      "identityRules": [
        {
          "ruleType": "Allow",
          "claim": "text",
          "value": "text",
          "matchType": "Exact"
        }
      ],
      "deployments": [
        {
          "agentGroupName": "text"
        }
      ]
    }
  ],
  "apiKeyGroups": [
    {
      "requestLimit": 1,
      "requestLimitWindowInMinutes": 1,
      "name": "text",
      "apiPolicyApiKeyGroupAssignments": [
        {
          "apiKey": {
            "id": 1
          }
        }
      ]
    }
  ],
  "publicAccessDeployments": [
    {
      "agentGroupName": "text"
    }
  ],
  "requestLoggingOptions": [
    {
      "name": "text",
      "loggingFields": [
        "text"
      ],
      "ipLogging": "ClientIP",
      "requestBodyMaxLengthKb": 1,
      "responseBodyMaxLengthKb": 1,
      "disableLogging": true,
      "id": 1,
      "deployments": [
        {
          "agentGroupName": "text"
        }
      ]
    }
  ]
}

No content

Get a single API policy

get
Authorizations
Path parameters
idinteger · int64Required

API policy identifier

Responses
200

Success

application/json
get
GET /api/v1/api-policies/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "data": {
    "name": "text",
    "description": "text",
    "tags": [
      "text"
    ],
    "allowPublicAccess": true,
    "apiKeyName": "text",
    "apiKeyLocation": "Query",
    "id": 1,
    "uniqueIdentifier": "123e4567-e89b-12d3-a456-426614174000",
    "modifier": "text",
    "modifiedUtc": "2025-09-07T10:04:04.464Z",
    "targetEndpoints": [
      {
        "requestLimit": 1,
        "requestLimitWindowInMinutes": 1,
        "path": "text",
        "method": "All",
        "id": 1
      }
    ],
    "identities": [
      {
        "requestLimit": 1,
        "requestLimitWindowInMinutes": 1,
        "isPrivateApplication": true,
        "issuers": [
          "text"
        ],
        "name": "text",
        "throttlingByClaim": "text",
        "priorityNumber": 1,
        "id": 1,
        "identityRules": [
          {
            "id": 1,
            "ruleType": "Allow",
            "claim": "text",
            "value": "text",
            "matchType": "Exact"
          }
        ],
        "deployments": [
          {
            "agentGroupName": "text",
            "id": 1,
            "deployerUserName": "text",
            "deployedUtc": "2025-09-07T10:04:04.464Z"
          }
        ]
      }
    ],
    "apiKeyGroups": [
      {
        "requestLimit": 1,
        "requestLimitWindowInMinutes": 1,
        "name": "text",
        "id": 1,
        "apiPolicyApiKeyGroupAssignments": [
          {
            "id": 1,
            "apiKey": {
              "id": 1,
              "name": "text",
              "environment": "text",
              "value": "123e4567-e89b-12d3-a456-426614174000"
            }
          }
        ]
      }
    ],
    "publicAccessDeployments": [
      {
        "agentGroupName": "text",
        "id": 1,
        "deployerUserName": "text",
        "deployedUtc": "2025-09-07T10:04:04.464Z"
      }
    ],
    "requestLoggingOptions": [
      {
        "name": "text",
        "loggingFields": [
          "text"
        ],
        "ipLogging": "ClientIP",
        "requestBodyMaxLengthKb": 1,
        "responseBodyMaxLengthKb": 1,
        "disableLogging": true,
        "id": 1,
        "deployments": [
          {
            "agentGroupName": "text",
            "id": 1,
            "deployerUserName": "text",
            "deployedUtc": "2025-09-07T10:04:04.464Z"
          }
        ]
      }
    ]
  }
}

Update an API policy

put
Authorizations
Path parameters
idinteger · int64Required

API policy identifier

Body
namestringOptional

The name of the policy

descriptionstring | nullableOptional

The description of the policy

tagsstring[] | nullableOptional

The tags of the policy

allowPublicAccessbooleanOptional

Determines if public access is allowed

apiKeyNamestringOptional

The name of the API key

apiKeyLocationstring · enumOptionalPossible values:
Responses
204

API policy updated

No content

put
PUT /api/v1/api-policies/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 941

{
  "name": "text",
  "description": "text",
  "tags": [
    "text"
  ],
  "allowPublicAccess": true,
  "apiKeyName": "text",
  "apiKeyLocation": "Query",
  "targetEndpoints": [
    {
      "requestLimit": 1,
      "requestLimitWindowInMinutes": 1,
      "path": "text",
      "method": "All"
    }
  ],
  "identities": [
    {
      "requestLimit": 1,
      "requestLimitWindowInMinutes": 1,
      "isPrivateApplication": true,
      "issuers": [
        "text"
      ],
      "name": "text",
      "throttlingByClaim": "text",
      "priorityNumber": 1,
      "id": 1,
      "identityRules": [
        {
          "ruleType": "Allow",
          "claim": "text",
          "value": "text",
          "matchType": "Exact"
        }
      ],
      "deployments": [
        {
          "agentGroupName": "text"
        }
      ]
    }
  ],
  "apiKeyGroups": [
    {
      "requestLimit": 1,
      "requestLimitWindowInMinutes": 1,
      "name": "text",
      "apiPolicyApiKeyGroupAssignments": [
        {
          "apiKey": {
            "id": 1
          }
        }
      ]
    }
  ],
  "publicAccessDeployments": [
    {
      "agentGroupName": "text"
    }
  ],
  "requestLoggingOptions": [
    {
      "name": "text",
      "loggingFields": [
        "text"
      ],
      "ipLogging": "ClientIP",
      "requestBodyMaxLengthKb": 1,
      "responseBodyMaxLengthKb": 1,
      "disableLogging": true,
      "id": 1,
      "deployments": [
        {
          "agentGroupName": "text"
        }
      ]
    }
  ]
}

No content

Delete an API policy

delete
Authorizations
Path parameters
idinteger · int64Required

API policy identifier

Responses
204

API policy deleted

No content

delete
DELETE /api/v1/api-policies/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*

No content

Was this helpful?