{"openapi":"3.1.0","info":{"title":"Billy API","version":"1.0.0","description":"Billy uzņēmuma dati — klienti, rēķini, saņemtie rēķini, banka un Uzņēmumu reģistrs — jūsu programmām un AI asistentiem.\n\n**Autentifikācija.** API atslēgu izveidojiet Billy → Iestatījumi → API un AI asistenti un sūtiet to galvenē `Authorization: Bearer billy_sk_…`. Atslēga ir piesaistīta vienam uzņēmumam.\n\n**MCP.** Tie paši rīki pieejami AI asistentiem (Claude, ChatGPT, Cursor) kā MCP serveris: `https://billy.lv/mcp`. Pieslēgšanās ar Billy kontu (OAuth), vai ar API atslēgu.\n\n**OAuth 2.1** (lietotnēm, kas darbojas lietotāja vārdā): issuer `https://billy.lv/auth`, metadati `https://billy.lv/.well-known/oauth-authorization-server/auth`, dinamiskā klientu reģistrācija (RFC 7591), PKCE obligāts, tiesības `billy:read` un `billy:write`. Marķieri izsniedz resursam `https://billy.lv/api/v1` vai `https://billy.lv/mcp` (parametrs `resource`).\n\n**Kļūdas** vienmēr ir formā `{ \"error\": { \"code\", \"message\" } }`. Summas ir skaitļi (eiro), datumi `GGGG-MM-DD`.","contact":{"name":"Billy","url":"https://billy.lv","email":"info@billy.lv"}},"servers":[{"url":"https://billy.lv/api/v1"}],"tags":[{"name":"Uzņēmums"},{"name":"Klienti"},{"name":"Produkti"},{"name":"Rēķini"},{"name":"Saņemtie rēķini"},{"name":"Banka"},{"name":"Uzņēmumu reģistrs"}],"paths":{"/company":{"get":{"operationId":"get_company","summary":"Uzņēmuma rekvizīti","description":"Atgriež tā uzņēmuma rekvizītus, kuram piesaistīta atslēga: nosaukumu, reģ. nr., PVN nr., adresi, bankas kontus, rēķinu noklusējumus un e-pasta adresi rēķinu pieņemšanai.\n\nMCP rīks: `get_company` · Tiesības: `billy:read`","tags":["Uzņēmums"],"security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":"string"},"name":{"type":"string"},"registrationNumber":{"type":["string","null"]},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"defaultCurrency":{"type":"string"},"defaultPaymentTermDays":{"type":"integer"},"invoiceNumberFormat":{"type":"string"},"bankAccounts":{"type":"array","items":{"type":"object","properties":{"bankName":{"type":"string"},"iban":{"type":"string"},"isDefault":{"type":"boolean"}},"required":["bankName","iban","isDefault"],"additionalProperties":false}},"inboxEmail":{"description":"Uz šo adresi sūtītie rēķini nonāk Billy automātiski","type":["string","null"]}},"required":["organizationId","name","registrationNumber","vatNumber","address","defaultCurrency","defaultPaymentTermDays","invoiceNumberFormat","bankAccounts","inboxEmail"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/summary":{"get":{"operationId":"get_financial_summary","summary":"Finanšu kopsavilkums","description":"Naudas atlikums, debitori (neapmaksātie izrakstītie rēķini, t. sk. kavētie), kreditori (neapmaksātie saņemtie rēķini) un perioda ieņēmumi/izdevumi. Labs sākumpunkts jautājumiem „kā iet uzņēmumam”.\n\nMCP rīks: `get_financial_summary` · Tiesības: `billy:read`","tags":["Uzņēmums"],"security":[{"apiKey":[]}],"parameters":[{"name":"from","in":"query","required":false,"description":"Perioda sākums (noklusējumā šī mēneša 1. datums)","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"description":"Perioda beigas (noklusējumā šodien)","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"period":{"type":"object","properties":{"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["from","to"],"additionalProperties":false},"cash":{"anyOf":[{"type":"object","properties":{"balance":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"asOf":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"source":{"type":"string"}},"required":["balance","asOf","source"],"additionalProperties":false},{"type":"null"}],"description":"Pēdējais zināmais bankas atlikums, koriģēts ar vēlākiem maksājumiem"},"receivables":{"type":"object","properties":{"count":{"type":"integer"},"amount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"overdueCount":{"type":"integer"},"overdueAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"}},"required":["count","amount","overdueCount","overdueAmount"],"additionalProperties":false},"payables":{"type":"object","properties":{"count":{"type":"integer"},"amount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"overdueCount":{"type":"integer"},"overdueAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"}},"required":["count","amount","overdueCount","overdueAmount"],"additionalProperties":false},"revenue":{"type":"object","properties":{"invoiced":{"type":"number","description":"Izrakstīts periodā, bez PVN"},"received":{"type":"number","description":"Saņemtie maksājumi periodā"}},"required":["invoiced","received"],"additionalProperties":false},"expenses":{"type":"object","properties":{"invoiced":{"type":"number","description":"Saņemtie rēķini periodā, ar PVN"}},"required":["invoiced"],"additionalProperties":false},"currency":{"type":"string","const":"EUR"}},"required":["period","cash","receivables","payables","revenue","expenses","currency"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/clients":{"get":{"operationId":"list_clients","summary":"Klienti","description":"Uzņēmuma saglabātie klienti (pircēji). Meklē pēc nosaukuma, reģ. nr. vai PVN nr.\n\nMCP rīks: `list_clients` · Tiesības: `billy:read`","tags":["Klienti"],"security":[{"apiKey":[]}],"parameters":[{"name":"query","in":"query","required":false,"description":"Nosaukuma, reģ. nr. vai PVN nr. fragments","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Cik ierakstus atgriezt (1–200)","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"offset","in":"query","required":false,"description":"Cik ierakstus izlaist (lapošanai)","schema":{"default":0,"type":"integer","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"registrationNumber":{"type":"string"},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]},"hourlyRate":{"type":["number","null"]},"notes":{"type":["string","null"]},"createdAt":{"type":"string"}},"required":["id","name","registrationNumber","vatNumber","address","email","hourlyRate","notes","createdAt"],"additionalProperties":false}},"total":{"type":"integer","description":"Visu atbilstošo ierakstu skaits"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["data","total","limit","offset"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}},"post":{"operationId":"create_client","summary":"Pievienot klientu","description":"Saglabā klientu pēc Latvijas reģistrācijas numura. Nosaukumu un adresi, ja nav norādīti, paņem no Uzņēmumu reģistra. Ja klients ar šo reģ. nr. jau ir, atgriež esošo.\n\nMCP rīks: `create_client` · Tiesības: `billy:write`","tags":["Klienti"],"security":[{"apiKey":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"registrationNumber":{"type":"string","minLength":1,"description":"Reģistrācijas numurs (LV uzņēmumiem 11 cipari)"},"name":{"type":"string"},"vatNumber":{"type":"string"},"address":{"type":"string"},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"notes":{"type":"string"}},"required":["registrationNumber"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"registrationNumber":{"type":"string"},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]},"hourlyRate":{"type":["number","null"]},"notes":{"type":["string","null"]},"createdAt":{"type":"string"},"created":{"type":"boolean"}},"required":["id","name","registrationNumber","vatNumber","address","email","hourlyRate","notes","createdAt","created"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/clients/{id}":{"get":{"operationId":"get_client","summary":"Klients","description":"Viens klients ar apgrozījumu un neapmaksāto summu. `id` var būt klienta ID vai reģistrācijas numurs.\n\nMCP rīks: `get_client` · Tiesības: `billy:read`","tags":["Klienti"],"security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Klienta ID vai reģ. nr.","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"registrationNumber":{"type":"string"},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]},"hourlyRate":{"type":["number","null"]},"notes":{"type":["string","null"]},"createdAt":{"type":"string"},"stats":{"type":"object","properties":{"invoiceCount":{"type":"integer"},"totalInvoiced":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"outstanding":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"lastInvoiceDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]}},"required":["invoiceCount","totalInvoiced","outstanding","lastInvoiceDate"],"additionalProperties":false}},"required":["id","name","registrationNumber","vatNumber","address","email","hourlyRate","notes","createdAt","stats"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/products":{"get":{"operationId":"list_products","summary":"Produkti un pakalpojumi","description":"Aktīvie produkti/pakalpojumi ar noklusējuma cenu, mērvienību un PVN likmi — izmanto, veidojot rēķina rindas.\n\nMCP rīks: `list_products` · Tiesības: `billy:read`","tags":["Produkti"],"security":[{"apiKey":[]}],"parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Cik ierakstus atgriezt (1–200)","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"offset","in":"query","required":false,"description":"Cik ierakstus izlaist (lapošanai)","schema":{"default":0,"type":"integer","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"sku":{"type":["string","null"]},"category":{"type":"string"},"pricingType":{"type":"string","enum":["Fixed","Hourly"]},"defaultPrice":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"currency":{"type":"string"},"unit":{"type":"string"},"defaultTaxRate":{"type":"number"},"defaultDiscountPercent":{"type":["number","null"]}},"required":["id","name","description","sku","category","pricingType","defaultPrice","currency","unit","defaultTaxRate","defaultDiscountPercent"],"additionalProperties":false}},"total":{"type":"integer","description":"Visu atbilstošo ierakstu skaits"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["data","total","limit","offset"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/invoices":{"get":{"operationId":"list_invoices","summary":"Izrakstītie rēķini","description":"Izrakstītie (izejošie) rēķini, jaunākie vispirms. Filtrē pēc statusa, klienta, datumiem vai teksta.\n\nMCP rīks: `list_invoices` · Tiesības: `billy:read`","tags":["Rēķini"],"security":[{"apiKey":[]}],"parameters":[{"name":"status","in":"query","required":false,"description":"Unpaid = nosūtīti un vēl nav pilnībā apmaksāti (ieskaitot kavētos)","schema":{"type":"string","enum":["Draft","Sent","Paid","PartiallyPaid","Overdue","Cancelled","Credited","Unpaid"]}},{"name":"client","in":"query","required":false,"description":"Klienta reģ. nr.","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"Rēķina numura vai klienta nosaukuma fragments","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"description":"Izrakstīšanas datums no","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"description":"Izrakstīšanas datums līdz","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"limit","in":"query","required":false,"description":"Cik ierakstus atgriezt (1–200)","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"offset","in":"query","required":false,"description":"Cik ierakstus izlaist (lapošanai)","schema":{"default":0,"type":"integer","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"invoiceNumber":{"type":"string"},"status":{"type":"string","enum":["Draft","Sent","Paid","PartiallyPaid","Overdue","Cancelled","Credited"],"description":"Overdue tiek aprēķināts: nosūtīts, neapmaksāts un termiņš pagājis"},"issueDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"paidDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"recipient":{"type":"object","properties":{"name":{"type":"string"},"registrationNumber":{"type":["string","null"]},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]}},"required":["name","registrationNumber","vatNumber","address","email"],"additionalProperties":false},"currency":{"type":"string"},"subtotal":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"totalTax":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"totalAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"amountPaid":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"amountDue":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"isCreditNote":{"type":"boolean"},"url":{"type":"string","description":"Rēķina lapa Billy"}},"required":["id","invoiceNumber","status","issueDate","dueDate","paidDate","recipient","currency","subtotal","totalTax","totalAmount","amountPaid","amountDue","isCreditNote","url"],"additionalProperties":false}},"total":{"type":"integer","description":"Visu atbilstošo ierakstu skaits"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["data","total","limit","offset"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}},"post":{"operationId":"create_invoice","summary":"Izveidot rēķina melnrakstu","description":"Izveido izejošā rēķina MELNRAKSTU (netiek nosūtīts). Numurs, izrakstītāja rekvizīti, bankas konts un termiņš tiek aizpildīti automātiski. Pircēju norāda ar `clientId` (vai reģ. nr.) no list_clients, vai ar `recipient` objektu — tad pircējs tiek saglabāts klientos. Summas aprēķina Billy: rindā norādi daudzumu, cenu bez PVN un PVN likmi (Latvijā parasti 21). Atgriež rēķinu un saiti, kur lietotājs to var pārbaudīt un nosūtīt.\n\nMCP rīks: `create_invoice` · Tiesības: `billy:write`","tags":["Rēķini"],"security":[{"apiKey":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"clientId":{"description":"Saglabāta klienta ID vai reģ. nr.","type":"string"},"recipient":{"description":"Pircējs, ja tas vēl nav klientos","type":"object","properties":{"name":{"type":"string","minLength":1},"registrationNumber":{"type":"string"},"vatNumber":{"type":"string"},"address":{"type":"string"},"email":{"type":"string","format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["name"]},"issueDate":{"description":"Noklusējumā šodien","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"description":"Noklusējumā izrakstīšanas datums + uzņēmuma apmaksas termiņš","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"currency":{"description":"Noklusējumā EUR","type":"string","minLength":3,"maxLength":3},"notes":{"type":"string"},"lines":{"minItems":1,"maxItems":200,"type":"array","items":{"type":"object","properties":{"description":{"type":"string","minLength":1},"quantity":{"type":"number","exclusiveMinimum":0},"unit":{"default":"gab.","description":"piem. gab., h, mēn., km","type":"string"},"unitPrice":{"type":"number","description":"Cena bez PVN"},"taxRate":{"default":21,"type":"number","minimum":0,"maximum":100},"discountPercent":{"type":"number","minimum":0,"maximum":100},"productId":{"type":"string"}},"required":["description","quantity","unitPrice"]}}},"required":["lines"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"invoiceNumber":{"type":"string"},"status":{"type":"string","enum":["Draft","Sent","Paid","PartiallyPaid","Overdue","Cancelled","Credited"],"description":"Overdue tiek aprēķināts: nosūtīts, neapmaksāts un termiņš pagājis"},"issueDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"paidDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"recipient":{"type":"object","properties":{"name":{"type":"string"},"registrationNumber":{"type":["string","null"]},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]}},"required":["name","registrationNumber","vatNumber","address","email"],"additionalProperties":false},"currency":{"type":"string"},"subtotal":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"totalTax":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"totalAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"amountPaid":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"amountDue":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"isCreditNote":{"type":"boolean"},"url":{"type":"string","description":"Rēķina lapa Billy"},"issuer":{"type":"object","properties":{"name":{"type":"string"},"registrationNumber":{"type":["string","null"]},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]}},"required":["name","registrationNumber","vatNumber","address","email"],"additionalProperties":false},"notes":{"type":["string","null"]},"bankAccount":{"type":["string","null"]},"paymentReference":{"type":["string","null"]},"servicePeriodFrom":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"servicePeriodTo":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"lines":{"type":"array","items":{"type":"object","properties":{"lineNumber":{"type":"integer"},"productId":{"type":["string","null"]},"description":{"type":"string"},"quantity":{"type":"number"},"unit":{"type":"string"},"unitPrice":{"type":"number"},"taxRate":{"type":"number","description":"PVN likme procentos"},"discountPercent":{"type":"number"},"subtotal":{"type":"number","description":"Bez PVN, pēc atlaides"},"taxAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"total":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"}},"required":["lineNumber","productId","description","quantity","unit","unitPrice","taxRate","discountPercent","subtotal","taxAmount","total"],"additionalProperties":false}},"payments":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"amount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"currency":{"type":"string"},"method":{"type":"string"},"reference":{"type":["string","null"]}},"required":["date","amount","currency","method","reference"],"additionalProperties":false}},"pdfUrl":{"type":"string"}},"required":["id","invoiceNumber","status","issueDate","dueDate","paidDate","recipient","currency","subtotal","totalTax","totalAmount","amountPaid","amountDue","isCreditNote","url","issuer","notes","bankAccount","paymentReference","servicePeriodFrom","servicePeriodTo","lines","payments","pdfUrl"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/invoices/{id}":{"get":{"operationId":"get_invoice","summary":"Rēķins","description":"Viens izrakstītais rēķins ar rindām, maksājumiem un saitēm. `id` var būt rēķina ID vai numurs (piem. INV-2026-0042).\n\nMCP rīks: `get_invoice` · Tiesības: `billy:read`","tags":["Rēķini"],"security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Rēķina ID vai numurs","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"invoiceNumber":{"type":"string"},"status":{"type":"string","enum":["Draft","Sent","Paid","PartiallyPaid","Overdue","Cancelled","Credited"],"description":"Overdue tiek aprēķināts: nosūtīts, neapmaksāts un termiņš pagājis"},"issueDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"paidDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"recipient":{"type":"object","properties":{"name":{"type":"string"},"registrationNumber":{"type":["string","null"]},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]}},"required":["name","registrationNumber","vatNumber","address","email"],"additionalProperties":false},"currency":{"type":"string"},"subtotal":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"totalTax":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"totalAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"amountPaid":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"amountDue":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"isCreditNote":{"type":"boolean"},"url":{"type":"string","description":"Rēķina lapa Billy"},"issuer":{"type":"object","properties":{"name":{"type":"string"},"registrationNumber":{"type":["string","null"]},"vatNumber":{"type":["string","null"]},"address":{"type":["string","null"]},"email":{"type":["string","null"]}},"required":["name","registrationNumber","vatNumber","address","email"],"additionalProperties":false},"notes":{"type":["string","null"]},"bankAccount":{"type":["string","null"]},"paymentReference":{"type":["string","null"]},"servicePeriodFrom":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"servicePeriodTo":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"lines":{"type":"array","items":{"type":"object","properties":{"lineNumber":{"type":"integer"},"productId":{"type":["string","null"]},"description":{"type":"string"},"quantity":{"type":"number"},"unit":{"type":"string"},"unitPrice":{"type":"number"},"taxRate":{"type":"number","description":"PVN likme procentos"},"discountPercent":{"type":"number"},"subtotal":{"type":"number","description":"Bez PVN, pēc atlaides"},"taxAmount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"total":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"}},"required":["lineNumber","productId","description","quantity","unit","unitPrice","taxRate","discountPercent","subtotal","taxAmount","total"],"additionalProperties":false}},"payments":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"amount":{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},"currency":{"type":"string"},"method":{"type":"string"},"reference":{"type":["string","null"]}},"required":["date","amount","currency","method","reference"],"additionalProperties":false}},"pdfUrl":{"type":"string"}},"required":["id","invoiceNumber","status","issueDate","dueDate","paidDate","recipient","currency","subtotal","totalTax","totalAmount","amountPaid","amountDue","isCreditNote","url","issuer","notes","bankAccount","paymentReference","servicePeriodFrom","servicePeriodTo","lines","payments","pdfUrl"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/incoming-invoices":{"get":{"operationId":"list_incoming_invoices","summary":"Saņemtie rēķini","description":"Saņemtie (ienākošie) rēķini no piegādātājiem, jaunākie vispirms. `unpaid=true` — tikai neapmaksātie.\n\nMCP rīks: `list_incoming_invoices` · Tiesības: `billy:read`","tags":["Saņemtie rēķini"],"security":[{"apiKey":[]}],"parameters":[{"name":"unpaid","in":"query","required":false,"description":"Tikai neapmaksātie","schema":{"type":"string"}},{"name":"supplier","in":"query","required":false,"description":"Piegādātāja nosaukuma fragments","schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"limit","in":"query","required":false,"description":"Cik ierakstus atgriezt (1–200)","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"offset","in":"query","required":false,"description":"Cik ierakstus izlaist (lapošanai)","schema":{"default":0,"type":"integer","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"supplierName":{"type":"string"},"supplierId":{"type":["string","null"]},"invoiceNumber":{"type":["string","null"]},"invoiceDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"dueDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"paidDate":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"currency":{"type":"string"},"amount":{"type":"number","description":"Kopā ar PVN"},"netAmount":{"anyOf":[{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},{"type":"null"}]},"taxAmount":{"anyOf":[{"type":"number","description":"Summa eiro (vai rēķina valūtā), 2 zīmes aiz komata"},{"type":"null"}]},"taxRate":{"type":["number","null"]},"type":{"type":"string","enum":["Normal","Fuel"]},"comment":{"type":["string","null"]},"url":{"type":"string"}},"required":["id","supplierName","supplierId","invoiceNumber","invoiceDate","dueDate","paidDate","currency","amount","netAmount","taxAmount","taxRate","type","comment","url"],"additionalProperties":false}},"total":{"type":"integer","description":"Visu atbilstošo ierakstu skaits"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["data","total","limit","offset"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/bank/transactions":{"get":{"operationId":"list_bank_transactions","summary":"Bankas darījumi","description":"Darījumi no augšupielādētajiem bankas izrakstiem. `unmatched=true` — tikai tie, kas vēl nav sasaistīti ar rēķinu.\n\nMCP rīks: `list_bank_transactions` · Tiesības: `billy:read`","tags":["Banka"],"security":[{"apiKey":[]}],"parameters":[{"name":"direction","in":"query","required":false,"description":"Credit = ienākošs, Debit = izejošs","schema":{"type":"string","enum":["Credit","Debit"]}},{"name":"unmatched","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"limit","in":"query","required":false,"description":"Cik ierakstus atgriezt (1–200)","schema":{"default":50,"type":"integer","minimum":1,"maximum":200}},{"name":"offset","in":"query","required":false,"description":"Cik ierakstus izlaist (lapošanai)","schema":{"default":0,"type":"integer","minimum":0}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"bookingDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"direction":{"type":"string","enum":["Credit","Debit"]},"amount":{"type":"number","description":"Vienmēr pozitīva; virzienu nosaka direction"},"currency":{"type":"string"},"accountIban":{"type":"string"},"counterpartyName":{"type":["string","null"]},"counterpartyAccount":{"type":["string","null"]},"purpose":{"type":["string","null"]},"invoiceId":{"type":["string","null"]},"incomingInvoiceId":{"type":["string","null"]}},"required":["id","bookingDate","direction","amount","currency","accountIban","counterpartyName","counterpartyAccount","purpose","invoiceId","incomingInvoiceId"],"additionalProperties":false}},"total":{"type":"integer","description":"Visu atbilstošo ierakstu skaits"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["data","total","limit","offset"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/register/companies":{"get":{"operationId":"search_companies","summary":"Meklēt Uzņēmumu reģistrā","description":"Meklē Latvijas uzņēmumus Uzņēmumu reģistrā pēc nosaukuma vai reģ. nr. sākuma. Aktīvie uzņēmumi vispirms.\n\nMCP rīks: `search_companies` · Tiesības: `billy:read`","tags":["Uzņēmumu reģistrs"],"security":[{"apiKey":[]}],"parameters":[{"name":"query","in":"query","required":true,"description":"Nosaukums vai reģ. nr. sākums","schema":{"type":"string","minLength":2}},{"name":"limit","in":"query","required":false,"schema":{"default":10,"type":"integer","minimum":1,"maximum":50}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"registrationNumber":{"type":"string"},"name":{"type":"string"},"type":{"type":["string","null"]},"address":{"type":["string","null"]},"isActive":{"type":"boolean"}},"required":["registrationNumber","name","type","address","isActive"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"422":{"$ref":"#/components/responses/ValidationError"}}}},"/register/companies/{registrationNumber}":{"get":{"operationId":"check_company","summary":"Pārbaudīt uzņēmumu","description":"Uzņēmuma dati no Uzņēmumu reģistra un riska brīdinājumi pirms rēķina izrakstīšanas vai apmaksas: likvidācija, darbības apturēšana, PVN statuss, VID reitings.\n\nMCP rīks: `check_company` · Tiesības: `billy:read`","tags":["Uzņēmumu reģistrs"],"security":[{"apiKey":[]}],"parameters":[{"name":"registrationNumber","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{11}$"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"registrationNumber":{"type":"string"},"name":{"type":"string"},"type":{"type":["string","null"]},"address":{"type":["string","null"]},"registeredOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"terminatedOn":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"isActive":{"type":"boolean"},"vatPayer":{"type":["boolean","null"]},"vatNumber":{"type":["string","null"]},"taxRating":{"description":"VID nodokļu maksātāju reitings (A, B, C, N)","type":["string","null"]},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"level":{"type":"string","enum":["danger","warning","info"]},"message":{"type":"string"},"since":{"type":"string"}},"required":["code","level","message"],"additionalProperties":false}}},"required":["registrationNumber","name","type","address","registeredOn","terminatedOn","isActive","vatPayer","vatNumber","taxRating","warnings"],"additionalProperties":false}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"422":{"$ref":"#/components/responses/ValidationError"}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"billy_sk_…","description":"Uzņēmuma API atslēga no Billy → Iestatījumi → API un AI asistenti"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]}},"responses":{"Unauthorized":{"description":"Nav atslēgas vai tā nav derīga","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"Atslēgai nav vajadzīgo tiesību","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"Nav atrasts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ValidationError":{"description":"Nederīgi ievaddati","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}