addedOutput schema / anyOf
Added value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "acceptedMimeTypes": {
+ "description": "Document types contract imports accept",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "expiresAt": {
+ "allOf": [
+ {
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
+ },
+ {
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
+ }
+ ],
+ "description": "When uploadUrl stops accepting the file",
+ "type": "string"
+ },
+ "expiresIn": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "ifUploadUrlUnreachable": {
+ "additionalProperties": false,
+ "description": "Present when contract import is available on this connection",
+ "properties": {
+ "kind": {
+ "const": "inline",
+ "description": "File kind to send instead",
+ "type": "string"
+ },
+ "maxBytes": {
+ "description": "Largest inline file in bytes",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "note": {
+ "description": "How the inline path relates to this upload destination",
+ "type": "string"
+ },
+ "tool": {
+ "description": "Tool that accepts the same file inline",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tool",
+ "kind",
+ "maxBytes",
+ "note"
+ ],
+ "type": "object"
+ },
+ "maxBytes": {
+ "description": "Largest accepted document size in bytes",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "method": {
+ "const": "PUT",
+ "description": "HTTP method for uploadUrl",
+ "type": "string"
+ },
+ "nextStep": {
+ "description": "Client-specific document transfer steps",
+ "type": "string"
+ },
+ "note": {
+ "type": "string"
+ },
+ "requiredHeaders": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Headers the PUT must send with exactly these values",
+ "properties": {},
+ "propertyNames": {
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "status": {
+ "const": "awaiting_upload",
+ "description": "The reference holds no document until the PUT to uploadUrl succeeds",
+ "type": "string"
+ },
+ "uploadCommand": {
+ "type": "string"
+ },
+ "uploadInstructions": {
+ "type": "string"
+ },
+ "uploadReference": {
+ "description": "Opaque prepared document reference",
+ "minLength": 1,
+ "type": "string"
+ },
+ "uploadUrl": {
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "uploadUrl",
+ "expiresIn",
+ "uploadCommand",
+ "uploadInstructions",
+ "uploadReference",
+ "status",
+ "method",
+ "requiredHeaders",
+ "expiresAt",
+ "maxBytes",
+ "acceptedMimeTypes"
+ ]
+ },
+ {
+ "additionalProperties": false,
+ "else": {
+ "required": [
+ "action_url"
+ ]
+ },
+ "if": {
+ "properties": {
+ "audience": {
+ "const": "member"
+ }
+ }
+ },
+ "properties": {
+ "action_url": {
+ "format": "uri",
+ "type": "string"
+ },
+ "audience": {
+ "enum": [
+ "billing_admin",
+ "member"
+ ]
+ },
+ "code": {
+ "const": "billing_action_required"
+ },
+ "reason": {
+ "enum": [
+ "trial_cap_reached",
+ "trial_ended",
+ "subscription_ended",
+ "payment_failed",
+ "plan_limit_reached",
+ "storage_full",
+ "parser_credits_exhausted"
+ ]
+ },
+ "retryable": {
+ "const": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "code",
+ "reason",
+ "audience"
+ ],
+ "then": {
+ "not": {
+ "required": [
+ "action_url"
+ ]
+ }
+ }
+ }
+]