removedInput schema / additionalProperties
Removed value: -false
removedInput schema / properties / items / items / additionalProperties
Removed value: -false
removedInput schema / properties / items / items / properties / access_policy / additionalProperties
Removed value: -false
removedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / additionalProperties
Removed value: -false
changedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / allow_categories / description
Previous value: -"AI agent categories to permit (all others blocked)"New value: +"AI agent categories to permit (all others blocked; max 20 entries, 128 chars each)"
addedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / allow_categories / items / maxLength
Added value: +128
addedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / allow_categories / items / minLength
Added value: +1
addedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / allow_categories / maxItems
Added value: +20
changedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / deny_categories / description
Previous value: -"AI agent categories to block (e.g., gptbot, commoncrawl)"New value: +"AI agent categories to block (e.g., gptbot, commoncrawl; max 20 entries, 128 chars each)"
addedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / deny_categories / items / maxLength
Added value: +128
addedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / deny_categories / items / minLength
Added value: +1
addedInput schema / properties / items / items / properties / access_policy / properties / ai_agent_policy / properties / deny_categories / maxItems
Added value: +20
changedInput schema / properties / items / items / properties / access_policy / properties / geo_allowlist / description
Previous value: -"Allowed country codes (ISO 3166-1 alpha-2)"New value: +"Allowed country codes (ISO 3166-1 alpha-2; max 50 entries, 8 chars each)"
addedInput schema / properties / items / items / properties / access_policy / properties / geo_allowlist / items / maxLength
Added value: +8
addedInput schema / properties / items / items / properties / access_policy / properties / geo_allowlist / items / minLength
Added value: +1
addedInput schema / properties / items / items / properties / access_policy / properties / geo_allowlist / maxItems
Added value: +50
changedInput schema / properties / items / items / properties / access_policy / properties / geo_denylist / description
Previous value: -"Denied country codes (ISO 3166-1 alpha-2)"New value: +"Denied country codes (ISO 3166-1 alpha-2; max 50 entries, 8 chars each)"
addedInput schema / properties / items / items / properties / access_policy / properties / geo_denylist / items / maxLength
Added value: +8
addedInput schema / properties / items / items / properties / access_policy / properties / geo_denylist / items / minLength
Added value: +1
addedInput schema / properties / items / items / properties / access_policy / properties / geo_denylist / maxItems
Added value: +50
changedInput schema / properties / items / items / properties / access_policy / properties / ip_allowlist / description
Previous value: -"Allowed IP addresses or CIDR ranges"New value: +"Allowed IP addresses or CIDR ranges (max 100 entries, 64 chars each)"
addedInput schema / properties / items / items / properties / access_policy / properties / ip_allowlist / items / maxLength
Added value: +64
addedInput schema / properties / items / items / properties / access_policy / properties / ip_allowlist / items / minLength
Added value: +1
addedInput schema / properties / items / items / properties / access_policy / properties / ip_allowlist / maxItems
Added value: +100
changedInput schema / properties / items / items / properties / access_policy / properties / ip_denylist / description
Previous value: -"Denied IP addresses or CIDR ranges"New value: +"Denied IP addresses or CIDR ranges (max 100 entries, 64 chars each)"
addedInput schema / properties / items / items / properties / access_policy / properties / ip_denylist / items / maxLength
Added value: +64
addedInput schema / properties / items / items / properties / access_policy / properties / ip_denylist / items / minLength
Added value: +1
addedInput schema / properties / items / items / properties / access_policy / properties / ip_denylist / maxItems
Added value: +100
changedInput schema / properties / items / items / properties / access_policy / properties / user_agent_allow_regex / description
Previous value: -"Regex to allow matching user agents"New value: +"Regex to allow matching user agents (max 256 chars)"
addedInput schema / properties / items / items / properties / access_policy / properties / user_agent_allow_regex / maxLength
Added value: +256
changedInput schema / properties / items / items / properties / access_policy / properties / user_agent_deny_regex / description
Previous value: -"Regex to deny matching user agents"New value: +"Regex to deny matching user agents (max 256 chars)"
addedInput schema / properties / items / items / properties / access_policy / properties / user_agent_deny_regex / maxLength
Added value: +256
changedInput schema / properties / items / items / properties / custom_domain / description
Previous value: -"Custom domain to assign to the auto-created resource"New value: +"Custom domain to assign to the auto-created resource (max 253 chars, must be registered/active/owned)."
addedInput schema / properties / items / items / properties / custom_domain / maxLength
Added value: +253
changedInput schema / properties / items / items / properties / max_sessions / description
Previous value: -"Maximum concurrent sessions (0 = unlimited, max 1000)"New value: +"Maximum concurrent sessions for this qURL token (0 = unlimited when one_time_use is explicitly false; max 1000)"
changedInput schema / properties / items / items / properties / session_duration / description
Previous value: -"How long access lasts after clicking (e.g., \"1h\")"New value: +"How long access lasts after the recipient reaches the content (e.g., \"1h\"). This anchors the resource-level session-duration cap when a new resource is created."
addedInput schema / properties / items / items / properties / type
Added value: +{
+ "description": "Resource type for integrations allowed to mint non-url qURLs (max 64 chars). Defaults to url.",
+ "maxLength": 64,
+ "type": "string"
+}
changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": {},
+ "properties": {
+ "failed": {
+ "type": "number"
+ },
+ "request_id": {
+ "type": "string"
+ },
+ "results": {
+ "items": {
+ "description": "Per-item result. Discriminated on `success`.",
+ "oneOf": [
+ {
+ "additionalProperties": {},
+ "properties": {
+ "branded_domain": {
+ "description": "Bare branded hostname for anchor text when the resource has a usable custom domain",
+ "type": "string"
+ },
+ "expires_at": {
+ "type": "string"
+ },
+ "index": {
+ "description": "Index of the corresponding item in the input `items` array",
+ "type": "number"
+ },
+ "qurl_link": {
+ "description": "One-shot display access link — shown ONCE on creation",
+ "type": "string"
+ },
+ "qurl_site": {
+ "type": "string"
+ },
+ "resource_id": {
+ "type": "string"
+ },
+ "success": {
+ "const": true,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "index",
+ "success",
+ "resource_id",
+ "qurl_link",
+ "qurl_site",
+ "expires_at"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "properties": {
+ "error": {
+ "additionalProperties": {},
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ },
+ "index": {
+ "description": "Index of the corresponding item in the input `items` array",
+ "type": "number"
+ },
+ "success": {
+ "const": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "index",
+ "success",
+ "error"
+ ],
+ "type": "object"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ "succeeded": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "succeeded",
+ "failed",
+ "results"
+ ],
+ "type": "object"
+}