detektu
DigitalOcean API changes
Potentially breakingPreview

Request property all of removed: session_policy_spec

openapi:POST /v2/action-gateway/sessions::request.application.json.#.components.schemas.session_policy_spec
Product
DigitalOcean API
Source
OpenAPI URL
Change kind
Request Property All Of Removed
Detected
Last updated

Deterministic evidence

Before / after

Extracted from DigitalOcean's published contract. Shows the whole operation — a narrower excerpt was not available for this change. Open the source ↗

−25+2613 changes

1 / 13
"content": {
"content": {
"application/json": {
"application/json": {
"schema": {
"schema": {
"additionalProperties": false,
"properties": {
"properties": {
"actor_id": {
"actorId": {
"pattern": "^[A-Za-z0-9._-]{1,64}$",
"type": "string"
"type": "string"
},
},
"config": {
"config": {
"additionalProperties": true,
"properties": {
"preloadTools": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
"type": "object"
},
},
"insights": {
"allOf": [
{
"$ref": "#/components/schemas/session_insights"
}
]
},
"name": {
"name": {
"type": "string"
"type": "string"
},
},
"network": {
"allOf": [
{
"$ref": "#/components/schemas/session_network"
}
]
},
"policy": {
"policy": {
"allOf": [
"allOf": [
{
{
"$ref": "#/components/schemas/session_policy_spec"
"$ref": "#/components/schemas/session_policy"
}
}
]
]
},
},
}
}
},
},
"required": [
"required": [
"name",
"name"
"actor_id"
],
],
"type": "object"
"type": "object"
}
}
"content": {
"content": {
"application/json": {
"application/json": {
"schema": {
"schema": {
"additionalProperties": false,
"properties": {
"properties": {
"mcpUrl": {
"mcpUrl": {
"type": "string",
"type": "string"
"x-client-name": "mcpUrl"
},
},
"session": {
"session": {
"$ref": "#/components/schemas/public_session_policy"
"allOf": [
{
"$ref": "#/components/schemas/session"
}
]
},
},
"tools": {
"tools": {
"items": {
"items": {
"type": "array"
"type": "array"
}
}
},
},
"required": [
"session",
"mcpUrl",
"tools"
],
"type": "object"
"type": "object"
}
}
}
}
"security": [
"security": [
{
{
"bearer_auth": [
"bearer_auth": [
"genai:create"
"action_gateway:create"
]
]
}
}
],
],
"x-codeSamples": [
"x-codeSamples": [
{
{
"lang": "cURL",
"lang": "cURL",
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DIGITALOCEAN_TOKEN\" \\\n -d '{\n \"name\": \"research-session\",\n \"actor_id\": \"end-user-123\",\n \"policy\": {\n \"defaultAction\": \"ask\",\n \"rules\": [{\"tool\": \"exa_web_search\", \"action\": \"allow\"}]\n },\n \"tools\": [\"exa_web_search@v1\"],\n \"config\": {\"preloadTools\": [\"exa_web_search@v1\"]}\n }' \\\n \"https://api.digitalocean.com/v2/action-gateway/sessions\""
"source": "curl -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"Authorization: Bearer $DIGITALOCEAN_TOKEN\" \\\n -d '{\"name\":\"support-bot-alice\",\"actorId\":\"alice\",\"tools\":[\"toolbelt:search-toolbelt@1\",\"jira_create_issue\"],\"policy\":{\"defaultAction\":\"ask\",\"rules\":[{\"tool\":\"toolbelt:search-toolbelt@1\",\"match\":{},\"action\":\"allow\"},{\"tool\":\"jira_create_issue\",\"match\":{},\"action\":\"ask\"}]},\"config\":{\"preloadTools\":[\"exa_web_search\"],\"outputViews\":{\"exa_web_search\":\"titles-and-urls\"}}}' \\\n \"https://api.digitalocean.com/v2/action-gateway/sessions\""
}
}
]
]
}
}

Monitored for you

Does this change affect your integration?

Choose the operations and fields your services use. Detektu matches DigitalOcean findings to that declared usage so your team can review the relevant evidence. No agent or repository access required.