# API documentation

Nora exposes a RESTful API, which uses standard HTTP verbs, response codes and authentication methods. Additionally, we use webhooks to notify about events. You should expect JSON-encoded response payloads.

### Getting started <a href="#getting-started" id="getting-started"></a>

To get started building an integration layer on top of Nora, you will need the following:

* A Nora tenant account, preferably a sandboxed demo account
* API authentication credentials, issued by Customer Support
* At least one template is defined in your account
* Some test files to submit

### Data flow <a href="#data-flow" id="data-flow"></a>

The basic data flow is as follows:

1. **Submit:** the end user submits some files for processing via the web UI, over email or via API. They also specify a Template.
2. **Process:** Nora creates a Submission and processes the files therein. A Submission in `processing` status is made available over the API.
3. **Validate:** once a Submission is processed, the end user reviews the extraction results for accuracy and completeness. They may also add additional details manually. Once happy, they will mark the submission as `completed`.
4. **Consume:** third party integrations poll Nora for new Submissions, and if a new `completed` submission is found, process it according to internal business logic.
