create_invoice accepts exactly one: document (structured InvoML) or invoml (legacy JSON). document requires $invoml:"1.0", meta {documentType: invoice|quote|estimate|receipt|credit_note, number, issueDate, currency}, items {description, quantity, unitPrice}, and parties oneOf freeform {content:string} OR structured {name,address:{lines:[...]}}. Party forms must not mix; item.taxRate unsupported; taxCategory needs legacy. Recipients: list_clients first; never silently save. Create needs idempotencyKey. document is strict and minimal: pro forma uses documentType quote; meta.tax, discounts, payment, paymentAdvice, sections, style, items[].unit, items[].discount, and items[].taxCategory are rejected. Use invoml for full-fidelity InvoML. Create and host an Invompt invoice, quote, estimate, or pro forma. For a named recipient, search list_clients first: auto-select only one exact unique match, ask which client for multiple matches, or ask once whether to save+assign or use one-off data when none. Never silently save a client. Recipient and issuer identity are optional. issuer may be omitted; never invent issuer identity A clientId assigns the saved client and builds the recipient snapshot without private notes. Read invompt://spec/invoml/v1 first.