API and MCP
How to create an API key, what permissions and webhooks are for, and how to connect Claude through MCP.
In the app, once you are signed in:
API access and webhooks are included in the Vystav plan. Set them up in Settings, API and webhooks; an owner or administrator manages keys and webhooks.
API key
- Under API keys, enter a Key label, such as the name of the app that will use it.
- Select only the permissions the app actually needs.
- Click Create key and copy the key immediately. It is shown only once; Vystav stores only its hash.
Revoke a key you no longer need or that may have leaked using Revoke. Apps using it will stop working.
invoices:read- Read invoices.
invoices:write- Invoice drafts, issuing them and recording payments.
contacts:read- Read contacts.
contacts:write- Create contacts.
products:read- Read the product catalogue.
expenses:read- Read received documents and expenses.
reports:read- Reports and summaries.
Interface
The API is REST with JSON at /api/v1. Send the key in the Authorization: Bearer nota_… header. An OpenAPI description of all endpoints is available at /api/v1/openapi.json.
Webhooks
A webhook sends a message to your chosen address whenever a selected event happens in Vystav: an invoice is created, issued, emailed, paid or becomes overdue; an expense is recorded; or a customer accepts a quote.
We sign each message using the vystav-signature header (HMAC-SHA256) with a signing key shown once when you create the webhook. If your address does not accept the message, we retry delivery with increasing intervals.
Claude through MCP
Claude and other apps supporting MCP (Model Context Protocol) work with your invoices, contacts and reports through an API key and can do only what you allow that key to do.
- Create an API key. For questions,
invoices:read,contacts:readandreports:readare enough. If Claude should prepare invoices and record payments, addinvoices:write; for creating contacts, addcontacts:write. - Under Claude (MCP), copy the server address. For an app that lets you supply a header with a custom connector, this address and the header containing your key are enough.
- For Claude Desktop, copy the prepared configuration using Copy configuration. In Claude, open Settings, Developer, Edit Config and paste it into claude_desktop_config.json. Replace
nota_…with your key and restart Claude. You need Node.js installed.
Through MCP, Claude can find invoices and contacts, prepare and issue an invoice draft, record a payment, create a contact, find a company in the register and show an overview and VAT summary. An invoice draft is not issued automatically; issuing is a separate step.
Did not find the answer? Write to us at info@vystav.sk.