{"openapi":"3.1.0","info":{"title":"ERPNext Accounts Setup (BYOK) API","version":"0.1.0","description":"ERPNext Accounts Setup (BYOK) lets an AI assistant read your own ERPNext Accounts Setup data through the ERPNext Accounts Setup API with a key you supply (API key and API secret joined by a colon, as api_key:api_secret). Read-only: 10 tools (list_accounts, list_cost_centers, list_fiscal_years, list_modes_of_payment, list_payment_terms_templates, list_sales_tax_templates,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-erpnext-accounts-setup.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-erpnext-accounts-setup/docs"},"termsOfService":"https://connectorbay.com/byok-erpnext-accounts-setup/terms"},"servers":[{"url":"https://byok-erpnext-accounts-setup.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-erpnext-accounts-setup/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/list_accounts":{"post":{"operationId":"list_accounts","summary":"List the chart of accounts (DocType Account) with account name and number, root and report type, account type, currency,","description":"List the chart of accounts (DocType Account) with account name and number, root and report type, account type, currency, parent, group flag, tax rate and company. Use for \"What accounts are in my ERPNext chart of accounts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"account_name\", \"account_number\", \"root_type\", \"report_type\", \"account_type\", \"account_currency\", \"parent_account\", \"is_group\", \"company\", \"tax_rate\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"account_name\", \"account_number\", \"root_type\", \"report_type\", \"account_type\", \"account_currency\", \"parent_account\", \"is_group\", \"company\", \"tax_rate\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"lft asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'lft asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_accountsArguments","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_cost_centers":{"post":{"operationId":"list_cost_centers","summary":"List cost centers (DocType Cost Center) with name, number, parent, company and group and disabled flags. Use for \"Which ","description":"List cost centers (DocType Cost Center) with name, number, parent, company and group and disabled flags. Use for \"Which cost centers does ERPNext have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"cost_center_name\", \"cost_center_number\", \"parent_cost_center\", \"company\", \"is_group\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"cost_center_name\", \"cost_center_number\", \"parent_cost_center\", \"company\", \"is_group\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"lft asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'lft asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_cost_centersArguments","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_fiscal_years":{"post":{"operationId":"list_fiscal_years","summary":"List fiscal years (DocType Fiscal Year) with start and end dates, short-year flag and disabled flag. Use for \"What fisca","description":"List fiscal years (DocType Fiscal Year) with start and end dates, short-year flag and disabled flag. Use for \"What fiscal years are defined in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"year\", \"year_start_date\", \"year_end_date\", \"is_short_year\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"year\", \"year_start_date\", \"year_end_date\", \"is_short_year\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"year_start_date desc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'year_start_date desc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_fiscal_yearsArguments","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_modes_of_payment":{"post":{"operationId":"list_modes_of_payment","summary":"List modes of payment (DocType Mode of Payment) with name, type (Cash, Bank, General, Phone) and enabled flag. Use for \"","description":"List modes of payment (DocType Mode of Payment) with name, type (Cash, Bank, General, Phone) and enabled flag. Use for \"Which payment modes are enabled in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"mode_of_payment\", \"type\", \"enabled\"]","description":"JSON array of field names to return. Default [\"name\", \"mode_of_payment\", \"type\", \"enabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_modes_of_paymentArguments","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_terms_templates":{"post":{"operationId":"list_payment_terms_templates","summary":"List payment terms templates (DocType Payment Terms Template) with name and whether payments are allocated per term. Use","description":"List payment terms templates (DocType Payment Terms Template) with name and whether payments are allocated per term. Use for \"What payment terms templates exist in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"template_name\", \"allocate_payment_based_on_payment_terms\"]","description":"JSON array of field names to return. Default [\"name\", \"template_name\", \"allocate_payment_based_on_payment_terms\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_payment_terms_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_sales_tax_templates":{"post":{"operationId":"list_sales_tax_templates","summary":"List sales tax and charges templates (DocType Sales Taxes and Charges Template) with title, company, tax category and de","description":"List sales tax and charges templates (DocType Sales Taxes and Charges Template) with title, company, tax category and default and disabled flags. Use for \"Which sales tax templates are set up in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"title\", \"company\", \"tax_category\", \"is_default\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"title\", \"company\", \"tax_category\", \"is_default\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_sales_tax_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_purchase_tax_templates":{"post":{"operationId":"list_purchase_tax_templates","summary":"List purchase tax and charges templates (DocType Purchase Taxes and Charges Template) with title, company, tax category ","description":"List purchase tax and charges templates (DocType Purchase Taxes and Charges Template) with title, company, tax category and default and disabled flags. Use for \"Which purchase tax templates are set up in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"title\", \"company\", \"tax_category\", \"is_default\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"title\", \"company\", \"tax_category\", \"is_default\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_purchase_tax_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_item_tax_templates":{"post":{"operationId":"list_item_tax_templates","summary":"List item tax templates (DocType Item Tax Template) with title, company and disabled flag. Use for \"What item tax templa","description":"List item tax templates (DocType Item Tax Template) with title, company and disabled flag. Use for \"What item tax templates exist in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"title\", \"company\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"title\", \"company\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_item_tax_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_tax_categories":{"post":{"operationId":"list_tax_categories","summary":"List tax categories (DocType Tax Category) with name and disabled flag. Use for \"Which tax categories exist in ERPNext\".","description":"List tax categories (DocType Tax Category) with name and disabled flag. Use for \"Which tax categories exist in ERPNext\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"title\", \"disabled\"]","description":"JSON array of field names to return. Default [\"name\", \"title\", \"disabled\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_tax_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}},"/v1/tools/list_companies":{"post":{"operationId":"list_companies","summary":"List companies (DocType Company) with abbreviation, default currency, country, chart of accounts template and the defaul","description":"List companies (DocType Company) with abbreviation, default currency, country, chart of accounts template and the default receivable, payable, income, expense and bank accounts. Use for \"Which companies are in my ERPNext and what are their default accounts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"site":{"description":"Your Frappe Cloud site name: the part before .frappe.cloud, for example 'mycompany' for mycompany.frappe.cloud.","maxLength":200,"pattern":"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$","title":"Site","type":"string"},"fields":{"anyOf":[{"maxLength":600,"type":"string"},{"type":"null"}],"default":"[\"name\", \"company_name\", \"abbr\", \"default_currency\", \"country\", \"is_group\", \"chart_of_accounts\", \"default_receivable_account\", \"default_payable_account\", \"default_income_account\", \"default_expense_account\", \"default_bank_account\", \"cost_center\"]","description":"JSON array of field names to return. Default [\"name\", \"company_name\", \"abbr\", \"default_currency\", \"country\", \"is_group\", \"chart_of_accounts\", \"default_receivable_account\", \"default_payable_account\", \"default_income_account\", \"default_expense_account\", \"default_bank_account\", \"cost_center\"]. Only name is returned when omitted.","title":"Fields"},"filters":{"anyOf":[{"maxLength":800,"type":"string"},{"type":"null"}],"default":null,"description":"JSON array of [field, operator, value] filters joined with AND, for example [[\"disabled\",\"=\",0]].","title":"Filters"},"order_by":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":"name asc","description":"Sort as 'fieldname asc' or 'fieldname desc', for example 'name asc'.","title":"Order By"},"limit_start":{"anyOf":[{"maximum":1000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many records to skip, for paging.","title":"Limit Start"},"limit_page_length":{"anyOf":[{"maximum":200,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"How many records to return (1 to 200; the site default is 20).","title":"Limit Page Length"}},"required":["site"],"title":"list_companiesArguments","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}}}}