create_transaction_document_upload
Start document upload
Start one direct-to-storage upload of a buyer document (proof of funds, pre-approval, an inspection report, a disclosure) into the active transaction. It takes PDF, Word, RTF, JPEG, PNG, Markdown, or plain text up to 20 MiB (convert a HEIC photo to JPEG; a ZIP is not accepted). Compute the file's SHA-256 and byte size first; the response is a short-lived signed POST target bound to exactly that file. Upload the bytes to that target with your own HTTP client, then call finalize_transaction_document_upload with the returned sessionId. Nothing is attached to an offer or sent anywhere by uploading. Reuse idempotencyKey only for an exact retry; it returns the same session or its finished receipt.
- Effect
- Draft or workspace edit
- Required scopes
documents:write- Workflow stages
- closing, offer, transaction
- Data classes
- documents, transaction
- Operation cost
- 2 weighted units; additional domain limits may apply.
- Configurations
- Standard, Buyer UI v2
- Muse proposal
- Write. Creates or updates draft, document, or workspace data within the authorized workflow. Meta makes the final classification during review.
Buyer approval and signing controls apply in addition to the scopes above. Read error and retry guidance before implementing recovery.
Input and output contracts
Returns structured content and a JSON text content block. Live discovery may compact a large output schema; execution validates the full contract below.
Input fields
Required applies within the containing object. Optional fields can be omitted; null is accepted only where listed. Field descriptions and constraints come from the source schema. The raw schema remains the complete contract.
| Field | Required | Meaning and constraints |
|---|---|---|
contentTypestring | Yes | Allowed: "application/msword", "application/pdf", "application/rtf", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "image/jpeg", "image/png", "text/markdown", "text/plain", "text/rtf". |
filenamestring | Yes | Minimum characters: 1. Maximum characters: 200. |
idempotencyKeystring | Yes | A fresh random UUID (v4) you generate for this request. Send the same UUID only to retry the identical request; never a readable label. Format: uuid. Pattern validation applies; see the raw schema. |
labelstring | No | Minimum characters: 1. Maximum characters: 500. |
purposestring | No | Allowed: "offer_support", "repair_evidence", "repair_seller_response". |
sha256string | Yes | Pattern validation applies; see the raw schema. |
sizeBytesinteger | Yes | Maximum: 20971520. Greater than: 0. |
workspaceIdstring | Yes | Pattern validation applies; see the raw schema. |
Output fields
Required applies within the containing object. Optional fields can be omitted; null is accepted only where listed. Field descriptions and constraints come from the source schema. The raw schema remains the complete contract.
No named fields. Must match at least one alternative.
Raw input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"contentType": {
"type": "string",
"enum": [
"application/msword",
"application/pdf",
"application/rtf",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"image/jpeg",
"image/png",
"text/markdown",
"text/plain",
"text/rtf"
]
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"idempotencyKey": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A fresh random UUID (v4) you generate for this request. Send the same UUID only to retry the identical request; never a readable label."
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"purpose": {
"type": "string",
"enum": [
"offer_support",
"repair_evidence",
"repair_seller_response"
]
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sizeBytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 20971520
},
"workspaceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"required": [
"contentType",
"filename",
"idempotencyKey",
"sha256",
"sizeBytes",
"workspaceId"
],
"additionalProperties": false
}Full output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"anyOf": [
{
"type": "object",
"properties": {
"expected": {
"type": "object",
"properties": {
"contentType": {
"type": "string",
"enum": [
"application/msword",
"application/pdf",
"application/rtf",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"image/jpeg",
"image/png",
"text/markdown",
"text/plain",
"text/rtf"
]
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sizeBytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 20971520
}
},
"required": [
"contentType",
"sha256",
"sizeBytes"
],
"additionalProperties": false
},
"expiresAt": {
"type": "string",
"format": "date-time",
"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)))$"
},
"idempotencyKey": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"schemaVersion": {
"type": "string",
"const": "1"
},
"sessionId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"status": {
"type": "string",
"const": "upload_ready"
},
"uploadTarget": {
"type": "object",
"properties": {
"formFields": {
"type": "object",
"propertyNames": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"additionalProperties": {
"type": "string",
"maxLength": 16384
}
},
"method": {
"type": "string",
"const": "POST"
},
"protocol": {
"type": "string",
"const": "gcs_signed_post"
},
"url": {
"type": "string",
"maxLength": 4096,
"format": "uri"
}
},
"required": [
"formFields",
"method",
"protocol",
"url"
],
"additionalProperties": false
},
"workspaceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
}
},
"required": [
"expected",
"expiresAt",
"idempotencyKey",
"schemaVersion",
"sessionId",
"status",
"uploadTarget",
"workspaceId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"document": {
"type": "object",
"properties": {
"contentType": {
"type": "string",
"enum": [
"application/msword",
"application/pdf",
"application/rtf",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"image/jpeg",
"image/png",
"text/markdown",
"text/plain",
"text/rtf"
]
},
"documentId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"extractionStatus": {
"type": "string",
"const": "queued"
},
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"purpose": {
"anyOf": [
{
"type": "string",
"enum": [
"offer_support",
"repair_evidence",
"repair_seller_response"
]
},
{
"type": "null"
}
]
},
"sizeBytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 20971520
},
"source": {
"type": "string",
"const": "buyer_upload"
}
},
"required": [
"contentType",
"documentId",
"extractionStatus",
"filename",
"label",
"purpose",
"sizeBytes",
"source"
],
"additionalProperties": false
},
"schemaVersion": {
"type": "string",
"const": "1"
},
"sessionId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"status": {
"type": "string",
"const": "finalized"
},
"workspaceId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,200}$"
},
"idempotencyKey": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"document",
"schemaVersion",
"sessionId",
"status",
"workspaceId",
"idempotencyKey"
],
"additionalProperties": false
}
],
"type": "object"
}Tool annotations
{
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false,
"readOnlyHint": false
}Reference 00e5441a095c7e20. Download the full catalog.