changedInput schema / properties / body / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "MCP clients: send metadata only. Returns a curl_command to POST the local PDF bytes. Do not send pdf/base64. uploaded_by is taken from the OAuth-authenticated MCP user — do not pass it.",
- "properties": {
- "attachment": {
- "additionalProperties": {},
- "properties": {
- "description": {
- "description": "Optional description of the file",
- "type": "string"
- },
- "filename": {
- "description": "Local PDF path on the client machine (e.g. ./Cloud Service Agreement.pdf). Must not contain control characters (newlines, null bytes, etc.). The server shell-escapes this value when building curl_command (including apostrophes); run the returned command exactly as-is and do not re-quote or edit the @path.",
- "maxLength": 1024,
- "minLength": 1,
- "pattern": "^[^\\u0000-\\u001F\\u007F]+$",
- "type": "string"
- },
- "name": {
- "description": "Optional Common Paper attachment name. Supply only when it should differ from the basename of filename.",
- "type": "string"
- }
- },
- "required": [
- "filename"
- ],
- "type": "object"
- }
- },
- "required": [
- "attachment"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "application/json body for API clients. Pass the PDF as base64 in `attachment.pdf` (not a filesystem path).",
- "properties": {
- "attachment": {
- "additionalProperties": {},
- "description": "The attachment to create",
- "properties": {
- "description": {
- "description": "Optional description of the file",
- "type": "string"
- },
- "name": {
- "description": "Display name for the uploaded file, including the .pdf extension",
- "type": "string"
- },
- "pdf": {
- "description": "Base64-encoded PDF file contents. Must be the raw file bytes encoded as base64 — not a filesystem path, data URI, or filename. Example: open the PDF, base64-encode its bytes, and pass that string here.",
- "type": "string"
- },
- "uploaded_by": {
- "description": "Email of a Common Paper user associated with your organization. Required for API-key uploads; not used for MCP (OAuth identity is used instead).",
- "format": "email",
- "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- }
- },
- "required": [
- "pdf",
- "name",
- "uploaded_by"
- ],
- "type": "object"
- }
- },
- "required": [
- "attachment"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "multipart/form-data body. Send fields as `attachment[pdf]`, `attachment[name]`, `attachment[description]`, and `attachment[uploaded_by]`.",
- "properties": {
- "attachment": {
- "additionalProperties": {},
- "description": "The attachment to create. In multipart/form-data, send each field as `attachment[pdf]`, `attachment[name]`, `attachment[description]`, and `attachment[uploaded_by]`.",
- "properties": {
- "description": {
- "description": "Optional description of the file",
- "type": "string"
- },
- "name": {
- "description": "Name of the file",
- "type": "string"
- },
- "pdf": {
- "description": "The PDF file to upload as a multipart file part",
- "type": "string"
- },
- "uploaded_by": {
- "description": "Email of a Common Paper user associated with your organization. Required for API-key uploads; not used for MCP (OAuth identity is used instead).",
- "format": "email",
- "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- }
- },
- "required": [
- "pdf",
- "name",
- "uploaded_by"
- ],
- "type": "object"
- }
- },
- "required": [
- "attachment"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "MCP clients: send metadata only. Returns a curl_command to POST the local PDF bytes. Do not send pdf/base64. uploaded_by is taken from the OAuth-authenticated MCP user — do not pass it.",
+ "properties": {
+ "attachment": {
+ "additionalProperties": {},
+ "properties": {
+ "description": {
+ "description": "Optional description of the file",
+ "type": "string"
+ },
+ "filename": {
+ "description": "Local PDF path on the client machine (e.g. ./Cloud Service Agreement.pdf). Must not contain control characters (newlines, null bytes, etc.). The server shell-escapes this value when building curl_command (including apostrophes); run the returned command exactly as-is and do not re-quote or edit the @path.",
+ "maxLength": 1024,
+ "minLength": 1,
+ "pattern": "^[^\\u0000-\\u001F\\u007F]+$",
+ "type": "string"
+ },
+ "name": {
+ "description": "Optional Common Paper attachment name. Supply only when it should differ from the basename of filename.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filename"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "attachment"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "application/json body for API clients. Pass the PDF as base64 in `attachment.pdf` (not a filesystem path).",
+ "properties": {
+ "attachment": {
+ "additionalProperties": {},
+ "description": "The attachment to create",
+ "properties": {
+ "description": {
+ "description": "Optional description of the file",
+ "type": "string"
+ },
+ "name": {
+ "description": "Display name for the uploaded file, including the .pdf extension",
+ "type": "string"
+ },
+ "pdf": {
+ "description": "Base64-encoded PDF file contents. Must be the raw file bytes encoded as base64 — not a filesystem path, data URI, or filename. Example: open the PDF, base64-encode its bytes, and pass that string here.",
+ "type": "string"
+ },
+ "uploaded_by": {
+ "description": "Email of a Common Paper user associated with your organization. Required for API-key uploads; not used for MCP (OAuth identity is used instead).",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pdf",
+ "name",
+ "uploaded_by"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "attachment"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "multipart/form-data body. Send fields as `attachment[pdf]`, `attachment[name]`, `attachment[description]`, and `attachment[uploaded_by]`.",
+ "properties": {
+ "attachment": {
+ "additionalProperties": {},
+ "description": "The attachment to create. In multipart/form-data, send each field as `attachment[pdf]`, `attachment[name]`, `attachment[description]`, and `attachment[uploaded_by]`.",
+ "properties": {
+ "description": {
+ "description": "Optional description of the file",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the file",
+ "type": "string"
+ },
+ "pdf": {
+ "description": "The PDF file to upload as a multipart file part",
+ "type": "string"
+ },
+ "uploaded_by": {
+ "description": "Email of a Common Paper user associated with your organization. Required for API-key uploads; not used for MCP (OAuth identity is used instead).",
+ "format": "email",
+ "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pdf",
+ "name",
+ "uploaded_by"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "attachment"
+ ],
+ "type": "object"
+ }
+]