{"openapi":"3.1.0","info":{"title":"Nilvera (BYOK) API","version":"0.1.0","description":"Nilvera (BYOK) lets an AI assistant read your own Nilvera data through the Nilvera API with a key you supply (Nilvera API key (portal: API Tanimlari > Yeni Anahtar)). Read-only: 10 tools (get_company, get_credits, get_exchange_rates, list_stocks, list_sales_invoices, list_purchase_invoices, get_sales_invoice_statistics, get_purchase_invoice_statistics, list_invoice_series,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-nilvera.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-nilvera/docs"},"termsOfService":"https://connectorbay.com/byok-nilvera/terms"},"servers":[{"url":"https://byok-nilvera.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-nilvera/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_company":{"post":{"operationId":"get_company","summary":"Get the company profile of the account: name, tax number, tax office, city, country, active flag and e-invoice aliases. ","description":"Get the company profile of the account: name, tax number, tax office, city, country, active flag and e-invoice aliases. Use for \"Which company is my Nilvera account registered for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_companyArguments","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_credits":{"post":{"operationId":"get_credits","summary":"Get the e-document credits of the account per module: total, used and remaining credit, use percentage, duration type an","description":"Get the e-document credits of the account per module: total, used and remaining credit, use percentage, duration type and end date. Use for \"How many e-invoice credits do I have left in Nilvera\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_creditsArguments","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_exchange_rates":{"post":{"operationId":"get_exchange_rates","summary":"Get the current USD, EUR and GBP buy and sale exchange rates against the Turkish lira used by Nilvera. Use for \"What are","description":"Get the current USD, EUR and GBP buy and sale exchange rates against the Turkish lira used by Nilvera. Use for \"What are today's USD and EUR rates in Nilvera\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_exchange_ratesArguments","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_stocks":{"post":{"operationId":"list_stocks","summary":"List the stock and product cards of the account with name, unit, price, tax percent, codes, brand and active flag. Use f","description":"List the stock and product cards of the account with name, unit, price, tax percent, codes, brand and active flag. Use for \"What products are in my Nilvera stock list\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free text to search stock names.","title":"Search"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active stock cards only, false for inactive ones.","title":"Is Active"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many entries per page.","title":"Page Size"}},"title":"list_stocksArguments","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_invoices":{"post":{"operationId":"list_sales_invoices","summary":"List outgoing e-Fatura sales invoices with invoice number, issue date, receiver name, amounts, currency, status, answer ","description":"List outgoing e-Fatura sales invoices with invoice number, issue date, receiver name, amounts, currency, status, answer code and read flag. Filter by date range or search text. Use for \"Which e-invoices did I send in Nilvera last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free text to search invoice numbers and receivers.","title":"Search"},"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries from this date and time, ISO 8601 such as 2026-01-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries up to this date and time, ISO 8601 such as 2026-01-31T23:59:59Z.","title":"End Date"},"is_archive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for archived invoices only.","title":"Is Archive"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many entries per page.","title":"Page Size"}},"title":"list_sales_invoicesArguments","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_invoices":{"post":{"operationId":"list_purchase_invoices","summary":"List incoming e-Fatura purchase invoices with invoice number, issue date, sender name, amounts, currency, status, answer","description":"List incoming e-Fatura purchase invoices with invoice number, issue date, sender name, amounts, currency, status, answer code and read flag. Filter by date range or search text. Use for \"Which supplier e-invoices have I received in Nilvera this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free text to search invoice numbers and senders.","title":"Search"},"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries from this date and time, ISO 8601 such as 2026-01-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries up to this date and time, ISO 8601 such as 2026-01-31T23:59:59Z.","title":"End Date"},"is_read":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for invoices already read, false for unread ones.","title":"Is Read"},"is_archive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for archived invoices only.","title":"Is Archive"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many entries per page.","title":"Page Size"}},"title":"list_purchase_invoicesArguments","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_sales_invoice_statistics":{"post":{"operationId":"get_sales_invoice_statistics","summary":"Get counts of outgoing e-Fatura invoices: basic, commercial, awaiting approval, approved, rejected, incorrect, successfu","description":"Get counts of outgoing e-Fatura invoices: basic, commercial, awaiting approval, approved, rejected, incorrect, successful, pending and total. Use for \"How many of my outgoing e-invoices were rejected this quarter\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries from this date and time, ISO 8601 such as 2026-01-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries up to this date and time, ISO 8601 such as 2026-01-31T23:59:59Z.","title":"End Date"}},"title":"get_sales_invoice_statisticsArguments","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_purchase_invoice_statistics":{"post":{"operationId":"get_purchase_invoice_statistics","summary":"Get counts of incoming e-Fatura invoices: basic, commercial, awaiting approval, approved, rejected, incorrect, successfu","description":"Get counts of incoming e-Fatura invoices: basic, commercial, awaiting approval, approved, rejected, incorrect, successful, pending and total. Use for \"How many incoming e-invoices are awaiting my approval in Nilvera\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries from this date and time, ISO 8601 such as 2026-01-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries up to this date and time, ISO 8601 such as 2026-01-31T23:59:59Z.","title":"End Date"}},"title":"get_purchase_invoice_statisticsArguments","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_invoice_series":{"post":{"operationId":"list_invoice_series","summary":"List the e-Fatura invoice number series with name, default and active flags and creation date. Use for \"Which invoice se","description":"List the e-Fatura invoice number series with name, default and active flags and creation date. Use for \"Which invoice series are set up in my Nilvera account\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free text to search series names.","title":"Search"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active series only, false for inactive ones.","title":"Is Active"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many entries per page.","title":"Page Size"}},"title":"list_invoice_seriesArguments","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_earchive_invoices":{"post":{"operationId":"list_earchive_invoices","summary":"List e-Arsiv invoices issued to consumers and other non-e-invoice customers with invoice number, issue date, amounts, cu","description":"List e-Arsiv invoices issued to consumers and other non-e-invoice customers with invoice number, issue date, amounts, currency, status, cancel and report flags. Buyer names and tax numbers are left out. Use for \"How many e-Arsiv invoices did I issue in Nilvera this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Free text to search invoice numbers.","title":"Search"},"start_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries from this date and time, ISO 8601 such as 2026-01-01T00:00:00Z.","title":"Start Date"},"end_date":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only entries up to this date and time, ISO 8601 such as 2026-01-31T23:59:59Z.","title":"End Date"},"is_cancel":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for cancelled invoices only.","title":"Is Cancel"},"is_report":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for invoices already included in a GIB report, false for the rest.","title":"Is Report"},"page":{"anyOf":[{"maximum":100000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many entries per page.","title":"Page Size"}},"title":"list_earchive_invoicesArguments","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}}}}