{"openapi":"3.1.0","info":{"title":"Lexware Office (BYOK) API","version":"0.1.0","description":"Lexware Office (BYOK) lets an AI assistant read your own Lexware Office data through the Lexware Office API with a key you supply (Lexware Office public API key). Read-only: 12 tools (get_profile, list_vouchers, get_invoice, get_credit_note, get_quotation, get_payment_status, list_contacts, get_contact, list_articles, list_recurring_templates, list_payment_conditions, list_posting_categories)....\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-lexoffice.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-lexoffice/docs"},"termsOfService":"https://connectorbay.com/byok-lexoffice/terms"},"servers":[{"url":"https://byok-lexoffice.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-lexoffice/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_profile":{"post":{"operationId":"get_profile","summary":"Get the connected organization: company name, tax type, small-business flag, subscription status and business features. ","description":"Get the connected organization: company name, tax type, small-business flag, subscription status and business features. Use for \"Which Lexware Office organization is this key connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_profileArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_vouchers":{"post":{"operationId":"list_vouchers","summary":"List document metadata (invoices, credit notes, quotations, order confirmations, bookkeeping vouchers) by type and statu","description":"List document metadata (invoices, credit notes, quotations, order confirmations, bookkeeping vouchers) by type and status with number, dates, contact, total and open amount. Use the type-specific tool for full details. Use for \"Which Lexware Office invoices are overdue\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"voucher_type":{"description":"Comma-separated types or any: salesinvoice, salescreditnote, purchaseinvoice, purchasecreditnote, invoice, downpaymentinvoice, creditnote, orderconfirmation, quotation, deliverynote.","maxLength":200,"title":"Voucher Type","type":"string"},"voucher_status":{"description":"Comma-separated statuses or any: draft, open, overdue, paid, paidoff, voided, transferred, sepadebit, accepted, rejected, unchecked (overdue cannot be combined).","maxLength":100,"title":"Voucher Status","type":"string"},"archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only archived, false for only not archived.","title":"Archived"},"contact_id":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only vouchers of this contact id.","title":"Contact Id"},"voucher_date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Voucher date from, YYYY-MM-DD.","title":"Voucher Date From"},"voucher_date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Voucher date to, YYYY-MM-DD.","title":"Voucher Date To"},"updated_date_from":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last modified from, YYYY-MM-DD.","title":"Updated Date From"},"updated_date_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Last modified to, YYYY-MM-DD.","title":"Updated Date To"},"voucher_number":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this voucher number.","title":"Voucher Number"},"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"voucherDate, voucherNumber, createdDate or updatedDate, optionally followed by ,ASC or ,DESC.","title":"Sort"},"page":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Page number, starting at 0.","title":"Page"},"size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (1 to 250; the default is 25).","title":"Size"}},"required":["voucher_type","voucher_status"],"title":"list_vouchersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_invoice":{"post":{"operationId":"get_invoice","summary":"Get one invoice with status, number, dates, customer name and city, line items, totals, taxes, payment and shipping cond","description":"Get one invoice with status, number, dates, customer name and city, line items, totals, taxes, payment and shipping conditions, title and texts. Use for \"Show the details of Lexware Office invoice e9066f04-8cc7-4616-93f8-ac9ecc8479c8\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Invoice id (UUID) from list_vouchers.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_invoiceArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_credit_note":{"post":{"operationId":"get_credit_note","summary":"Get one credit note with status, number, dates, customer name and city, line items, totals and taxes. Use for \"Show Lexw","description":"Get one credit note with status, number, dates, customer name and city, line items, totals and taxes. Use for \"Show Lexware Office credit note e9066f04-8cc7-4616-93f8-ac9ecc8479c8\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Credit note id (UUID) from list_vouchers.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_credit_noteArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_quotation":{"post":{"operationId":"get_quotation","summary":"Get one quotation with status, number, dates, expiration, customer name and city, line items, totals and taxes. Use for ","description":"Get one quotation with status, number, dates, expiration, customer name and city, line items, totals and taxes. Use for \"Show Lexware Office quotation e9066f04-8cc7-4616-93f8-ac9ecc8479c8\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Quotation id (UUID) from list_vouchers.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_quotationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_payment_status":{"post":{"operationId":"get_payment_status","summary":"Get the payment status of an invoice or voucher: open amount, payment status and the payment items with date and amount.","description":"Get the payment status of an invoice or voucher: open amount, payment status and the payment items with date and amount. Use for \"Has Lexware Office invoice e9066f04-8cc7-4616-93f8-ac9ecc8479c8 been paid\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"voucher_id":{"description":"Voucher id (UUID) of an open or paid invoice or bookkeeping voucher.","maxLength":200,"title":"Voucher Id","type":"string"}},"required":["voucher_id"],"title":"get_payment_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_contacts":{"post":{"operationId":"list_contacts","summary":"List customers and vendors (names, customer or vendor number, archived flag); filter by name, number, role or email. Add","description":"List customers and vendors (names, customer or vendor number, archived flag); filter by name, number, role or email. Addresses and contact details are not returned. Use for \"What is the customer number of Mustermann\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Name contains this text (at least 3 characters).","title":"Name"},"email":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Contact has an email address containing this text (at least 3 characters).","title":"Email"},"number":{"anyOf":[{"maximum":2147483647,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Customer or vendor number.","title":"Number"},"customer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only customers, false for only non-customers.","title":"Customer"},"vendor":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only vendors, false for only non-vendors.","title":"Vendor"},"page":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Page number, starting at 0.","title":"Page"},"size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (1 to 250; the default is 25).","title":"Size"}},"title":"list_contactsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_contact":{"post":{"operationId":"get_contact","summary":"Get one contact by id: roles with customer or vendor number, company or person name and archived flag. Addresses and con","description":"Get one contact by id: roles with customer or vendor number, company or person name and archived flag. Addresses and contact details are not returned. Use for \"Show Lexware Office contact e9066f04-8cc7-4616-93f8-ac9ecc8479c8\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Contact id (UUID) from list_contacts.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_contactArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_articles":{"post":{"operationId":"list_articles","summary":"List products and services with title, type, article number, unit and net and gross price; filter by number, GTIN or typ","description":"List products and services with title, type, article number, unit and net and gross price; filter by number, GTIN or type. Use for \"What do my Lexware Office articles cost\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"article_number":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this article number.","title":"Article Number"},"gtin":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"Only this GTIN.","title":"Gtin"},"type":{"anyOf":[{"enum":["PRODUCT","SERVICE"],"type":"string"},{"type":"null"}],"default":null,"description":"PRODUCT or SERVICE.","title":"Type"},"page":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Page number, starting at 0.","title":"Page"},"size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (1 to 250; the default is 25).","title":"Size"}},"title":"list_articlesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_recurring_templates":{"post":{"operationId":"list_recurring_templates","summary":"List recurring invoice templates with customer name, totals and schedule: interval, next and last execution date and sta","description":"List recurring invoice templates with customer name, totals and schedule: interval, next and last execution date and status. Use for \"When is my next recurring invoice created in Lexware Office\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sort":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"createdDate, updatedDate, lastExecutionDate or nextExecutionDate, optionally followed by ,ASC or ,DESC.","title":"Sort"},"page":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Page number, starting at 0.","title":"Page"},"size":{"anyOf":[{"maximum":250,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Results per page (1 to 250; the default is 25).","title":"Size"}},"title":"list_recurring_templatesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_payment_conditions":{"post":{"operationId":"list_payment_conditions","summary":"List the saved payment conditions (terms and discounts) with label template, term in days and default flag. Use for \"Whi","description":"List the saved payment conditions (terms and discounts) with label template, term in days and default flag. Use for \"Which payment terms are set up in Lexware Office\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_payment_conditionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_posting_categories":{"post":{"operationId":"list_posting_categories","summary":"List the posting categories (income and expense) used for bookkeeping vouchers, with group name and flags. Use for \"Whic","description":"List the posting categories (income and expense) used for bookkeeping vouchers, with group name and flags. Use for \"Which posting categories can I use in Lexware Office\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_posting_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}