← Tool reference

add_documents_from_chat

Add files from this chat

Add files the buyer attached in this chat to the home. This is the simplest way to take any file from the buyer, so ask for files this way first: they attach them with this app's own attach button and the app passes them in files. kind disclosure_package for the seller's disclosure package (disclosure statements, questionnaires, reports, HOA documents, or a ZIP of them): Ohvii stores the files as one package version you then read with get_disclosure_pages. kind documents for anything else, with purpose offer_support for a pre-approval letter or proof of funds. Ohvii downloads each attachment from the app's own file store and records it; nothing is attached to an offer or sent. If this app does not pass attachments to Ohvii, use the upload buttons on Ohvii's documents card where this app shows Ohvii cards; if you can read the file's bytes yourself, use create_disclosure_upload or create_transaction_document_upload; get_document_upload_handoff is the last resort. Reuse idempotencyKey only for an exact retry.

Effect
Draft or workspace edit
Required scopes
documents:write
Workflow stages
closing, offer, transaction
Data classes
documents
Operation cost
8 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.

FieldRequiredMeaning and constraints
filesarray<object>Yes

The files the buyer attached in this chat. The host fills this from the attachments; never type a link yourself.

Minimum items: 1.

Maximum items: 20.

files: nested contract
Array item contract

Extra fields are not allowed.

FieldRequiredMeaning and constraints
download_urlstringYes

The host's temporary download link for the attached file.

Format: uri.

Maximum characters: 8192.

file_idstringYes

The host's id for the attached file.

Minimum characters: 1.

Maximum characters: 300.

file_namestringNo

The attached file's name.

Maximum characters: 300.

mime_typestringNo

The attached file's media type.

Maximum characters: 200.

idempotencyKeystringYes

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.

kindstringYes

disclosure_package for the seller's disclosure package (disclosure statements, questionnaires, reports, HOA documents, or a ZIP of them): Ohvii adds the files as one package version for you to read. documents for anything else (a pre-approval letter, proof of funds, an inspection report, a signed form).

Allowed: "documents", "disclosure_package".

packageIdstringNo

With disclosure_package, only when these files replace that package (the seller sent a corrected or updated set): the new version holds just the files in this call. Omit it for more disclosures sent in a later message; they become their own package.

Pattern validation applies; see the raw schema.

purposestringNo

With documents: offer_support for a pre-approval letter or proof of funds, so the checklist task clears.

Allowed: "offer_support", "repair_evidence", "repair_seller_response".

workspaceIdstringYes

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.

FieldRequiredMeaning and constraints
disclosurePackageobject | nullYes

Must match at least one alternative.

disclosurePackage: nested contract
Alternative 1: status = "queued"

Extra fields are not allowed.

FieldRequiredMeaning and constraints
packageIdstringYes

Pattern validation applies; see the raw schema.

statusstringYes

Must be "queued".

versionIdstringYes

Pattern validation applies; see the raw schema.

versionNumberintegerYes

Maximum: 9007199254740991.

Greater than: 0.

Alternative 2: null

documentsarray<object>Yes

Maximum items: 20.

documents: nested contract
Array item contract

Extra fields are not allowed.

FieldRequiredMeaning and constraints
contentTypestringYes

Minimum characters: 1.

Maximum characters: 200.

documentIdstringYes

Pattern validation applies; see the raw schema.

filenamestringYes

Minimum characters: 1.

Maximum characters: 300.

sizeBytesintegerYes

Maximum: 9007199254740991.

Greater than: 0.

kindstringYes

Allowed: "documents", "disclosure_package".

nextstringYes

Allowed: "list_transaction_documents", "list_disclosure_packages".

schemaVersionstringYes

Must be "1".

workspaceIdstringYes

Pattern validation applies; see the raw schema.

Raw input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "files": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "download_url": {
            "type": "string",
            "maxLength": 8192,
            "format": "uri",
            "description": "The host's temporary download link for the attached file."
          },
          "file_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300,
            "description": "The host's id for the attached file."
          },
          "file_name": {
            "description": "The attached file's name.",
            "type": "string",
            "maxLength": 300
          },
          "mime_type": {
            "description": "The attached file's media type.",
            "type": "string",
            "maxLength": 200
          }
        },
        "required": [
          "download_url",
          "file_id"
        ],
        "additionalProperties": false
      },
      "description": "The files the buyer attached in this chat. The host fills this from the attachments; never type a link yourself."
    },
    "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."
    },
    "kind": {
      "type": "string",
      "enum": [
        "documents",
        "disclosure_package"
      ],
      "description": "disclosure_package for the seller's disclosure package (disclosure statements, questionnaires, reports, HOA documents, or a ZIP of them): Ohvii adds the files as one package version for you to read. documents for anything else (a pre-approval letter, proof of funds, an inspection report, a signed form)."
    },
    "packageId": {
      "description": "With disclosure_package, only when these files replace that package (the seller sent a corrected or updated set): the new version holds just the files in this call. Omit it for more disclosures sent in a later message; they become their own package.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,200}$"
    },
    "purpose": {
      "description": "With documents: offer_support for a pre-approval letter or proof of funds, so the checklist task clears.",
      "type": "string",
      "enum": [
        "offer_support",
        "repair_evidence",
        "repair_seller_response"
      ]
    },
    "workspaceId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,200}$"
    }
  },
  "required": [
    "files",
    "idempotencyKey",
    "kind",
    "workspaceId"
  ],
  "additionalProperties": false
}
Full output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "disclosurePackage": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "packageId": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,200}$"
            },
            "status": {
              "type": "string",
              "const": "queued"
            },
            "versionId": {
              "type": "string",
              "pattern": "^[A-Za-z0-9_-]{1,200}$"
            },
            "versionNumber": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "packageId",
            "status",
            "versionId",
            "versionNumber"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "documents": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "contentType": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "documentId": {
            "type": "string",
            "pattern": "^[A-Za-z0-9_-]{1,200}$"
          },
          "filename": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300
          },
          "sizeBytes": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "contentType",
          "documentId",
          "filename",
          "sizeBytes"
        ],
        "additionalProperties": false
      }
    },
    "kind": {
      "type": "string",
      "enum": [
        "documents",
        "disclosure_package"
      ]
    },
    "next": {
      "type": "string",
      "enum": [
        "list_transaction_documents",
        "list_disclosure_packages"
      ]
    },
    "schemaVersion": {
      "type": "string",
      "const": "1"
    },
    "workspaceId": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,200}$"
    }
  },
  "required": [
    "disclosurePackage",
    "documents",
    "kind",
    "next",
    "schemaVersion",
    "workspaceId"
  ],
  "additionalProperties": false
}
Tool annotations
{
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false,
  "readOnlyHint": false
}

Host attachment fields: files .

Reference 00e5441a095c7e20. Download the full catalog.