Company
6 operations. All areas
- GET /v1/company/profile
- POST /v1/company/profile
- POST /v1/company/profile/logo
- GET /v1/company/profile/logo
- POST /v1/company/profile/logo/remove
- GET /v1/company/profile/preview
GET/v1/company/profile
The company profile on documents and customer emails: names, address, contact details, tax numbers, logo, brand colour, payment instructions, terms (ADR-0083)
- Operation
getCompanyProfile - Scope: read
- Read
- Responses
200The profile (object)- Errors
400,401,403,429,500(Error:error.type,message)
POST/v1/company/profile
Change the company profile (only the fields sent; null or "" clears one). People with the admin scope; agents and connected AI apps are refused. Audited (the EIN by its last four digits). dry_run previews the result.
- Operation
updateCompanyProfile - Scope: admin
- Write: sets a value, no Idempotency-Key needed
- Request body
legal_namestring | null The registered legal name (e.g. Brightline Carpentry LLC)dbastring | null Doing business as: the trade name customers know; leads on documents when setaddress_line1string | null Street addressaddress_line2string | null Suite, unit or buildingcitystring | null Cityregionstring | null State, province or region (e.g. TN)postal_codestring | null ZIP or postal codecountrystring Two-letter country code (default US; printed only when not US)phonestring | null Phone for customers (digits, spaces, + - ( ) / x)emailstring | null Email for customers (billing questions)websitestring | null Website (https:// is added when missing)einstring | null Employer Identification Number, 9 digits (12-3456789). Shown in full only to people who administer the company; printed on documents only with show_einshow_einboolean Print the EIN on documents (default false)sales_tax_idstring | null Sales tax permit or registration number, printed on documents when setbrand_colorstring | null Brand colour as hex (#1f5f8b): titles, rules and headings on documents, the band and buttons of customer emails. Must be readable on white (contrast at least 3:1)payment_instructionsstring | null How to pay (bank transfer details, who checks are payable to, where to mail them): printed under HOW TO PAY on invoices with a balance due. Up to 12 linesfooter_textstring | null Footer and terms printed at the end of every document (late fees, warranty, thank-you note). Up to 12 linesdry_runboolean
- Responses
200Saved (or, with dry_run, what would be saved) (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)
POST/v1/company/profile/logo
Set the logo: a PNG (at most 1 MB, 4096 px a side, not interlaced) or an SVG (at most 256 KB; shapes, paths, solid colours and simple text; it is rebuilt from an allow-list and anything that could run or fetch is refused). Scanned for malware like receipts. People with the admin scope. dry_run checks the file without saving it.
- Operation
uploadCompanyLogo - Scope: admin
- Write: needs Idempotency-Key (or dry_run)
- Request body
content_base64string, required The file, base64-encoded (a PNG is at most 1 MB, an SVG 256 KB; checked after decoding)file_namestringdry_runboolean
- Responses
200Stored (or checked, with dry_run) (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)
GET/v1/company/profile/logo
The stored logo (image/png or the rebuilt image/svg+xml); format=base64 returns JSON (MCP)
- Operation
getCompanyLogo - Scope: read
- Read
- Parameters
formatquery, "base64"
- Responses
200The logo file, or JSON with content_base64 when format=base64- Errors
400,401,403,429,500(Error:error.type,message)
POST/v1/company/profile/logo/remove
Remove the logo (documents then lead with the name). People with the admin scope. Audited.
- Operation
removeCompanyLogo - Scope: admin
- Write: sets a value, no Idempotency-Key needed
- Request body
Empty object
{}.- Responses
200The profile (object)- Errors
400,401,403,409,422,429,500(Error:error.type,message)
GET/v1/company/profile/preview
A sample invoice (or estimate, receipt, credit memo) PDF with the company profile as it is now: check the logo, colour, address, payment instructions and terms before sending real documents. Nothing is posted or sent.
- Operation
previewCompanyDocument - Scope: read
- Read
- Parameters
kindquery, "invoice" | "estimate" | "sales_receipt" | "credit_memo"formatquery, "pdf" | "base64"
- Responses
200The PDF (or with format=base64, JSON) (PdfFile)- Errors
400,401,403,429,500(Error:error.type,message)