# FinBaze for Platforms > Bookkeeping and tax filing inside your platform. Create companies and users from your backend, then show FinBaze components (iframes, React or web) or call the API headless. Sandbox and live are separate environments. ## Hostnames - Live API: https://api.platform.finbaze.com/graphql (keys `fb_sk_live_…`, `fb_pk_live_…`) - Sandbox API: https://sandbox.api.platform.finbaze.com/graphql (keys `fb_sk_test_…`, `fb_pk_test_…`) - Embed: https://embed.finbaze.com (live), https://sandbox.embed.finbaze.com (sandbox) ## Auth in short - Your backend uses a secret key (`fb_sk_…`) or a restricted key; never ship it to a browser. - Your backend calls `createEmbedSession` and passes the single-use client secret (`es_…_secret_…`) to the browser. - The browser SDK exchanges it for a short-lived token held in a FinBaze iframe; your page never sees the token. - Sessions refresh with a new client secret each time (`fetchClientSecret`). - Publishable keys (`fb_pk_…`) identify the platform in the browser and grant nothing by themselves. - Components only run on origins you allow in the developer portal. ## For agents - Docs MCP server (public, read-only, no sign-in): https://mcp.finbaze.com/docs/mcp. Tools: search_docs, get_page, get_graphql_type, get_operation, list_components, get_component, get_webhook_event, get_error_code. - Agent skill for a Next.js integration: https://developers.finbaze.com/skills/finbaze-embed-nextjs/SKILL.md (index: https://developers.finbaze.com/skills/index.json) - Every page as Markdown: append `.md` to its address. Everything in one file: https://developers.finbaze.com/llms-full.txt ## Start - [Bookkeeping and tax filing inside your platform](https://developers.finbaze.com/index.md): Create companies and users from your backend, then show FinBaze components in your product or call the API headless. - [Quickstart](https://developers.finbaze.com/quickstart.md): From a test key to a working embedded component, in ten steps. ## Guides - [Guides](https://developers.finbaze.com/guides.md): How to build the integration for your kind of platform, and how to use each part of FinBaze. - [Banks and neobanks](https://developers.finbaze.com/guides/banks.md): Push the bank feed, show bookings next to your own transactions, capture receipts, pay the VAT from the account and set money aside for tax. - [Point of sale](https://developers.finbaze.com/guides/pos.md): Turn the Z-report into bookings: sales per VAT rate, tips, cash differences, and a VAT return that follows. - [Logistics and transport](https://developers.finbaze.com/guides/logistics.md): Shipments to invoices from a flow template, carrier invoices, ICP and OSS, multiple currencies and reverse charge. - [E-commerce](https://developers.finbaze.com/guides/ecommerce.md): Orders become invoices, EU sales fall under OSS, refunds become credit notes, payouts reconcile. - [Scheduling and hours](https://developers.finbaze.com/guides/scheduling.md): Send worked hours from your scheduling product to payroll: employees, employments, hours with breaks, approval. - [Data sources](https://developers.finbaze.com/guides/data-sources.md): Register a feed, attach companies, deliver transactions, balances and statement files, and watch feed health. - [Messages and routing](https://developers.finbaze.com/guides/messages-and-routing.md): Receive what FinBaze would email your users, deliver it in your channels, acknowledge it and change who sends what. - [Documents](https://developers.finbaze.com/guides/documents.md): Put your branding on invoices, quotes, reminders and payslips: presets, templates, or render the PDF yourself. - [Features and limits](https://developers.finbaze.com/guides/features-and-limits.md): Hide parts of FinBaze for your platform or one company, see what is effective, and know what hiding removes. - [Accounting firms](https://developers.finbaze.com/guides/firms.md): Let a company on your platform connect its accountant: invite, approve, what the firm can do, and how to end it. - [Lifecycle and migration](https://developers.finbaze.com/guides/lifecycle-and-migration.md): Suspend, close, archive, transfer and export a company, and bring books in from another system. - [Mobile](https://developers.finbaze.com/guides/mobile.md): FinBaze in iOS, Android and React Native apps: the WebView host, camera, step-up with your own biometrics, and opening a component from a push. - [Sample apps](https://developers.finbaze.com/guides/sample-apps.md): Six runnable examples with a deploy button, a README and an end-to-end script that runs against the sandbox every night. - [Upgrading](https://developers.finbaze.com/guides/upgrading.md): What changes in your integration between releases, how versions work, and what to do about each change. ## Concepts - [Platforms and companies](https://developers.finbaze.com/concepts/platforms-and-companies.md): The objects you work with: your platform, its companies, and the hidden users who act on them. - [Identity and tokens](https://developers.finbaze.com/concepts/identity-and-tokens.md): Keys, server tokens, client secrets and embed tokens: what each is for and how long it lives. - [Feature allowance and limits](https://developers.finbaze.com/concepts/feature-allowance-and-limits.md): Which parts of FinBaze a company can see, and how you narrow them further. - [Sandbox](https://developers.finbaze.com/concepts/sandbox.md): Test everything with fake companies and test keys; nothing is filed. - [Embed security model](https://developers.finbaze.com/concepts/embed-security-model.md): What stops a malicious page, a stolen secret or a curious user, and what does not. - [Test clocks](https://developers.finbaze.com/concepts/test-clocks.md): Move a sandbox company through months in minutes: invoices, reminders, filings and bank feeds follow the clock. - [Demo companies](https://developers.finbaze.com/concepts/demo-companies.md): Seed realistic test companies in the sandbox, with history, from seven templates. - [Sandbox reset](https://developers.finbaze.com/concepts/sandbox-reset.md): Wipe your sandbox companies every night and seed a fresh set, or do it on demand. - [Sending data to FinBaze](https://developers.finbaze.com/concepts/sending-data.md): Upserts, bulk jobs, bank feeds and statement files: how your data gets into a company's books. - [Records and flow templates](https://developers.finbaze.com/concepts/records-and-flows.md): Push your own objects and let a template turn their state changes into invoices and bookings. - [Events and webhooks](https://developers.finbaze.com/concepts/events-and-webhooks.md): What happened to your companies' data, delivered to your endpoint or read in order. - [Getting data out](https://developers.finbaze.com/concepts/getting-data-out.md): Reports, documents, the audit file and scheduled exports to your own bucket. - [Messages](https://developers.finbaze.com/concepts/messages.md): How FinBaze hands you what it would otherwise email to your users, and how you confirm you delivered it. - [Company lifecycle](https://developers.finbaze.com/concepts/company-lifecycle.md): Suspend, close, archive and transfer a company, end a user, and read the audit log. - [Delegated actions](https://developers.finbaze.com/concepts/delegated-actions.md): What FinBaze asks your platform to do: pay tax, suppliers and wages, supply a payment link, confirm a user, take a photo. - [Filing consent](https://developers.finbaze.com/concepts/filing-consent.md): FinBaze files a company's returns only with the company's authorisation. How the consent is given, what it covers, and how you read and revoke it. - [Working with accountants](https://developers.finbaze.com/concepts/working-with-accountants.md): How a company on your platform connects its accounting firm, what the firm can do, what it costs, and how the connection ends. - [Policies and extensions](https://developers.finbaze.com/concepts/policies-and-extensions.md): The rules FinBaze runs by for your companies, and how you extend FinBaze screens: custom actions, links, fields and field control. - [Documents and rendering](https://developers.finbaze.com/concepts/documents-and-rendering.md): Your branding on invoices, quotes, reminders and payslips: layout presets, templates, documents you render yourself, fonts and custom domains. - [Support and view-as](https://developers.finbaze.com/concepts/support-and-view-as.md): Route your users' support requests, escalate to FinBaze, and decide when FinBaze staff may look at a company. ## Components - [Components overview](https://developers.finbaze.com/components.md): Nineteen embeddable views and elements, and how they work. - [Appearance reference](https://developers.finbaze.com/components/appearance.md): Colours, fonts and radius: the variables you can set, and the rules they are checked against. - [Component props at a glance](https://developers.finbaze.com/components/reference.md): Every component: kind, session key, requirements, features, options and events, generated from the registry. - [Events reference](https://developers.finbaze.com/components/events.md): Every event each component emits, with the React prop that handles it. - [onboarding](https://developers.finbaze.com/components/onboarding.md): Collects what FinBaze still needs to know about the company: legal details, tax set-up. - [tax-authorisation](https://developers.finbaze.com/components/tax-authorisation.md): The company's authorisation for FinBaze to file its returns (per tax, with history and revoke) and the HMRC connection for UK VAT. - [notification-banner](https://developers.finbaze.com/components/notification-banner.md): A one-line banner for the most important thing waiting: an overdue filing, missing authorisation. - [action-centre](https://developers.finbaze.com/components/action-centre.md): The prioritised to-do list across bookkeeping and tax. - [transactions](https://developers.finbaze.com/components/transactions.md): Bank transactions with categorisation, splitting and receipt matching. - [transaction-detail](https://developers.finbaze.com/components/transaction-detail.md): One transaction in detail, for deep links from your own list. - [purchase-inbox](https://developers.finbaze.com/components/purchase-inbox.md): Incoming purchase documents: upload, review, approve. - [tax-calendar](https://developers.finbaze.com/components/tax-calendar.md): Upcoming and past tax obligations with their status. - [vat-return](https://developers.finbaze.com/components/vat-return.md): Prepare, review and file a VAT return. - [icp-return](https://developers.finbaze.com/components/icp-return.md): Prepare and file the Dutch ICP (intra-community supplies) return. - [oss-return](https://developers.finbaze.com/components/oss-return.md): Prepare and file the One-Stop-Shop return. - [tax-payments](https://developers.finbaze.com/components/tax-payments.md): Hand-off for paying filed returns. - [booking-chip](https://developers.finbaze.com/components/booking-chip.md): A small inline chip showing how a transaction is booked; embed it in your own transaction list. - [receipt-button](https://developers.finbaze.com/components/receipt-button.md): A button that attaches a receipt to a transaction. - [tax-due-chip](https://developers.finbaze.com/components/tax-due-chip.md): A small inline chip with the next tax deadline. - [accountant-connect](https://developers.finbaze.com/components/accountant-connect.md): The company's accountant: find the firm by KvK number or connect code, choose what it may file, confirm the statement, approve a firm's request, or end the connection. - [company-transfer](https://developers.finbaze.com/components/company-transfer.md): The company admin moves the company to another platform or to FinBaze: reads the statement, consents, gets a one-time code or an emailed claim link. - [contact-support](https://developers.finbaze.com/components/contact-support.md): A "Contact support" button. Your team handles the request first (`support.requested`), or FinBaze's form creates an escalation, depending on your support mode. - [support-access](https://developers.finbaze.com/components/support-access.md): The company admin's say over FinBaze support's access: approve or decline a request, see what is live, end it at once. - [company-settings](https://developers.finbaze.com/components/company-settings.md): The company's details, tax questions, taxes and financial years. - [bank-connections](https://developers.finbaze.com/components/bank-connections.md): Connected bank accounts and feeds: connect a bank, see its status, disconnect it. - [users-and-access](https://developers.finbaze.com/components/users-and-access.md): Who has access to the company and with which role. Invitations, role changes and removals are requests to your platform, which decides: FinBaze sends no invitation email and creates no account. - [data-export](https://developers.finbaze.com/components/data-export.md): Request exports of the company's books (XAF, PDF bundle, CSV) and download them. - [dashboard](https://developers.finbaze.com/components/dashboard.md): Revenue, costs, profit, cash and what needs attention, at a glance. - [insights](https://developers.finbaze.com/components/insights.md): Tax signals and advice, the cash and profit forecast and cash flow. Each part shows only when its module is on for the company. - [bank-rules](https://developers.finbaze.com/components/bank-rules.md): Rules that book recurring bank transactions automatically; yours, your platform's and the ones learned from bookings. - [reconciliation](https://developers.finbaze.com/components/reconciliation.md): Per bank account and day: the statement balance against the ledger, with what explains a difference. - [payment-batches](https://developers.finbaze.com/components/payment-batches.md): Supplier payments grouped into batches. Your platform executes them; FinBaze never moves money. - [sales-invoices](https://developers.finbaze.com/components/sales-invoices.md): Sales invoices: list, detail, send, credit. - [invoice-editor](https://developers.finbaze.com/components/invoice-editor.md): Create and edit a sales invoice draft, prefilled from your own data (a shipment, an order). Finalising books the invoice; with `send` it is mailed too. - [quotes](https://developers.finbaze.com/components/quotes.md): Quotes: list, detail, send, convert to an invoice. - [recurring-invoices](https://developers.finbaze.com/components/recurring-invoices.md): Subscription invoices that are issued on a schedule. - [customers](https://developers.finbaze.com/components/customers.md): Customers: list, detail, create, edit. - [products](https://developers.finbaze.com/components/products.md): Products and services with their prices and tax codes. Read only. - [reminders](https://developers.finbaze.com/components/reminders.md): Payment reminders for overdue sales invoices. - [purchase-invoices](https://developers.finbaze.com/components/purchase-invoices.md): Purchase invoices: list, detail, confirm. - [suppliers](https://developers.finbaze.com/components/suppliers.md): Suppliers: list, detail, create, edit. - [document-requests](https://developers.finbaze.com/components/document-requests.md): Documents your accountant asks for, with a place to answer and upload. - [reports](https://developers.finbaze.com/components/reports.md): Profit and loss, balance sheet and the other reports, for any period. - [general-ledger](https://developers.finbaze.com/components/general-ledger.md): Ledger accounts with their balance for a period, and the entries on each. - [journal](https://developers.finbaze.com/components/journal.md): Manual journal entries (memorial bookings). - [assets](https://developers.finbaze.com/components/assets.md): Fixed assets and their depreciation. Read only. - [loans](https://developers.finbaze.com/components/loans.md): Loans and their instalment schedule. Read only. - [vehicles](https://developers.finbaze.com/components/vehicles.md): Company vehicles with their licence plate, and adding one. - [projects](https://developers.finbaze.com/components/projects.md): Projects with their revenue and costs this year. Read only. - [cost-centers](https://developers.finbaze.com/components/cost-centers.md): Cost centres to split costs by. - [year-end](https://developers.finbaze.com/components/year-end.md): The financial years: where each stands, and closing a year. - [annual-accounts](https://developers.finbaze.com/components/annual-accounts.md): The annual accounts (jaarrekening) of a financial year: the year-end questions, a frozen version, the directors' approval (the adoption) and the deposit at the KvK. The deposit goes through FinBaze's filing gate: it needs the company's authorisation (the consent form shows in place when it is missing, if the session also has the tax-authorisation or onboarding component) and shows who files. - [cit-return](https://developers.finbaze.com/components/cit-return.md): Corporate income tax (VPB): the return, provisional assessment, objection and extension. - [uk-itsa](https://developers.finbaze.com/components/uk-itsa.md): UK Income Tax (MTD ITSA): quarterly updates and the final declaration. HMRC is connected in a popup (the system browser in a native app). - [us-1120](https://developers.finbaze.com/components/us-1120.md): US federal corporate tax: prepare Form 1120 from the ledger and take the PDF. FinBaze does not e-file it. - [employees](https://developers.finbaze.com/components/employees.md): Employees: list, detail with their employments (read only), create and edit. The citizen service number and the ID document are never shown. - [pay-runs](https://developers.finbaze.com/components/pay-runs.md): Pay runs: calculate, approve (a second person), lock (posts to the ledger), pay the net wages through your platform and file the wage tax. FinBaze never moves money: paying hands a payment request to your app. - [payslip-viewer](https://developers.finbaze.com/components/payslip-viewer.md): An employee sees their own payslips and annual statements. Needs a session bound to the employee. - [payroll-filings](https://developers.finbaze.com/components/payroll-filings.md): Payroll tax (loonaangifte) and pension (UPA) filings of a pay run, from the first draft to the authority's answer, with corrections. Who files payroll for a platform company is not settled yet (open question Q4): the filer shown is whatever FinBaze's filing gate resolves, so enable this view per company and per platform once that is confirmed. - [assistant](https://developers.finbaze.com/components/assistant.md): The bookkeeping assistant chat. What the assistant may do on the books is cut to the other components of the session: with the assistant alone it answers and changes nothing. Its AI use is metered to your platform. - [agent-tasks](https://developers.finbaze.com/components/agent-tasks.md): Tasks FinBaze's agents prepared and the approvals they wait for. Agents that drive a computer are not part of the embed. - [automations](https://developers.finbaze.com/components/automations.md): Automations that react to events or run on a schedule. E-mail and WhatsApp actions go through the company's message routing; a webhook action can only reach the webhook hosts your platform registered; AI actions are not offered. - [suite](https://developers.finbaze.com/components/suite.md): The whole product as one component: navigation over the views you enable. - [receipt-dropzone](https://developers.finbaze.com/components/receipt-dropzone.md): A drop zone that uploads a receipt. With a transaction the receipt is attached to it; without one it goes to the purchase inbox, where FinBaze matches it to a payment. - [category-picker](https://developers.finbaze.com/components/category-picker.md): A field that picks a cost or revenue category from the company's chart. Locked accounts are left out. - [ledger-account-picker](https://developers.finbaze.com/components/ledger-account-picker.md): A field that picks a ledger account from the company's chart. Locked accounts are left out. - [vat-code-picker](https://developers.finbaze.com/components/vat-code-picker.md): A field that picks a VAT code for sales or purchases. For sales it offers the codes the company's tax obligations allow. - [invoice-status-badge](https://developers.finbaze.com/components/invoice-status-badge.md): A badge showing where a sales invoice stands. - [invoice-pdf-preview](https://developers.finbaze.com/components/invoice-pdf-preview.md): A preview of a sales invoice as FinBaze renders it (the document the PDF is made from). Previewing a draft that is not saved yet is not available: save the draft in the invoice editor first. - [file-now-button](https://developers.finbaze.com/components/file-now-button.md): A button that opens the VAT return that is due next. Nothing is shown when none is due. - [vat-reservation-meter](https://developers.finbaze.com/components/vat-reservation-meter.md): How much to set aside for VAT, and a way to ask your platform to move it. - [profit-tile](https://developers.finbaze.com/components/profit-tile.md): A tile with the profit of a period. - [revenue-tile](https://developers.finbaze.com/components/revenue-tile.md): A tile with the revenue of a period. - [cash-runway-tile](https://developers.finbaze.com/components/cash-runway-tile.md): A tile with how many months the cash lasts at the pace of the last three months. - [period-picker](https://developers.finbaze.com/components/period-picker.md): A control to choose a period (month, quarter or year). - [customer-picker](https://developers.finbaze.com/components/customer-picker.md): A field that picks a customer, searched on the server as the person types. Creating a customer is the customers view. - [product-tax-code-picker](https://developers.finbaze.com/components/product-tax-code-picker.md): A field that picks a product and reports its tax code for the company's country. - [requirements-checklist](https://developers.finbaze.com/components/requirements-checklist.md): What FinBaze still needs from the company, as a checklist. - [onboarding-progress](https://developers.finbaze.com/components/onboarding-progress.md): How far the company is with what FinBaze asks of it, as a progress bar. - [company-search](https://developers.finbaze.com/components/company-search.md): Search the Dutch KvK or UK Companies House register and return the company's registry data. - [approval-button](https://developers.finbaze.com/components/approval-button.md): Approve or reject something an agent waits on a person for. Filing and payment approvals are not approvals in the API yet, so for now `approvalId` is an agent approval. - [accountant-badge](https://developers.finbaze.com/components/accountant-badge.md): A badge with the company's accountant. Nothing is shown without one. - [engagement-card](https://developers.finbaze.com/components/engagement-card.md): The company's engagement with its accountant: firm, scope, start date and a button to end it. - [feed-status](https://developers.finbaze.com/components/feed-status.md): How healthy the bank feed is: last update, gaps, errors. ## SDKs - [@finbaze/embed-js](https://developers.finbaze.com/sdks/embed-js.md): The browser SDK: load the controller, create components, handle events. - [@finbaze/embed-react](https://developers.finbaze.com/sdks/embed-react.md): React components and hooks for FinBaze. - [Headless hooks](https://developers.finbaze.com/sdks/headless.md): Build your own UI on FinBaze data with a token that lives in your page. - [Server SDK snippets](https://developers.finbaze.com/sdks/server-snippets.md): The same server calls in Node, Python, PHP, Kotlin and Java. - [@finbaze/platform-sdk](https://developers.finbaze.com/sdks/node.md): The Node SDK for your backend: companies, users, embed sessions, webhooks and the GraphQL API. - [Python (finbaze)](https://developers.finbaze.com/sdks/python.md): The Python server SDK: sync and async clients, typed models, webhooks. - [Docs MCP and llms.txt](https://developers.finbaze.com/sdks/docs-mcp.md): Give your coding agent these docs: an MCP server, llms.txt, Markdown for every page, a copy button and an agent skill. - [PHP (finbaze-php)](https://developers.finbaze.com/sdks/php.md): The PHP server SDK: PSR-18 client, typed operations, webhooks. - [Agent skill](https://developers.finbaze.com/sdks/agent-skill.md): A skill that teaches a coding agent to integrate FinBaze embedded components into a Next.js app. - [Kotlin and Java (finbaze-java)](https://developers.finbaze.com/sdks/java.md): The JVM server SDK: coroutines and CompletableFuture, typed Apollo models, webhooks. ## Reference - [Errors](https://developers.finbaze.com/reference/errors.md): Every error code the platform API returns, grouped by area, and what to do about each. - [Message catalogue](https://developers.finbaze.com/reference/message-catalogue.md): Every message FinBaze can send or hand to you, its default routing and what you may change. - [Webhook events](https://developers.finbaze.com/reference/webhook-events.md): The envelope and signature of every webhook, and the catalogue of events with sample payloads. - [GraphQL reference](https://developers.finbaze.com/reference/graphql.md): Every operation your backend can call, grouped by area, with the scope and feature each needs. - [Versions](https://developers.finbaze.com/reference/versions.md): The versions of the API, the webhook payloads and the SDKs at the time of the last docs build. ## Security - [Security and compliance](https://developers.finbaze.com/security.md): How FinBaze for Platforms is built to be safe to embed: architecture, EU residency, sub-processors, DPA, testing and certification status. - [Sub-processors](https://developers.finbaze.com/security/sub-processors.md): The providers and recipients FinBaze uses, generated from the published privacy policy. ## Changelog - [Changelog](https://developers.finbaze.com/changelog.md): Changes to the platform API, the SDKs and these docs. - [Company lifecycle, transfers and audit log (Wave 5.4)](https://developers.finbaze.com/changelog/2026-11-06-company-lifecycle.md): Suspend, close, archive and transfer companies, deprovision users and read the audit log. - [Support routing and consented view-as (Wave 5.5)](https://developers.finbaze.com/changelog/2026-11-07-support-and-view-as.md): contact-support, escalations to FinBaze, support access grants and break-glass. - [Access audit (Wave 5)](https://developers.finbaze.com/changelog/2026-11-08-access-audit.md): Every operation reachable by platform tokens is classified; billing hand-over operations are refused, child-id operations check the company. - [Mobile SDKs (Wave 6.2)](https://developers.finbaze.com/changelog/2026-11-09-mobile-sdks.md): Register your native apps, create mobile embed sessions, confirm users on the device, and hand a push over to a component. - [Partner portal (Wave 6.4)](https://developers.finbaze.com/changelog/2026-11-09-partner-portal.md): Request ids, the request log, feature explain, data-source health, test events, partner alerts and portal roles. - [Portal: record types, flows and exports](https://developers.finbaze.com/changelog/2026-11-11-portal-records-flows-exports.md): Record types, flow templates, flow runs and export destinations and schedules are now available to portal members. - [Sample apps and docs MCP (Wave 6.5)](https://developers.finbaze.com/changelog/2026-11-09-sample-apps-and-docs-mcp.md): bootstrapSampleApp for one-click sample deploys, the docs MCP server, guides, completed references and the agent skill. - [Security hardening (Wave 6.7)](https://developers.finbaze.com/changelog/2026-11-10-security-hardening.md): Account.secret leaves the schema, account reads need a tenant in common, authenticator codes at sign-in. - [Tax payment instructions](https://developers.finbaze.com/changelog/2026-11-11-tax-payment-instruction.md): TAXFiling.paymentInstruction for paying a filing by bank transfer, and returnTarget on initiateTaxFilingPayment. - [Data out, part 2 (Wave 3.5, 3.6, 4.4)](https://developers.finbaze.com/changelog/2026-11-11-data-out-part-2.md): Every company document kind, report PDFs on the document layout, XAF 4.0 with VAT per line, vat_returns, per-run company filters, and suggestions and review reasons on bookings. - [Payout, sales and SFTP feeds, quotes, shipped Z-report (Wave 3)](https://developers.finbaze.com/changelog/2026-11-11-data-in-feeds-quotes-records.md): Payouts pair with their bank credit, sales and purchase feeds, SFTP statement pickup, upsertQuote, read-only partner invoices, a shipped z_report type and template, previous.data, records in bulk and in promotions.