# AzoraOne Developer Portal > Financial API platform — payment processing, transaction management and account operations. ## Documentation - [Introduction](https://developer.azora.one/docs/overview/introduction): Design AzoraOne allows you to integrate self-learning automation directly into your application. AzoraOne's API is designed around REST . It supports the JSON format. It is secured using an Ocp-Apim-S - [Versioning](https://developer.azora.one/docs/overview/versioning): What is versioning? Versioning means that different versions of AzoraOne can be released with different behaviors, resources, requests, responses etc. The goal of versioning is to prohibit backwards-i - [Authentication](https://developer.azora.one/docs/overview/authentication): Authentication keys When making a request to the AzoraOne API, you will need two authentication keys: a client key and a subscription key . The client key is specific to the API and will be the same f - [Headers](https://developer.azora.one/docs/overview/headers): These are the headers required to successfully interact with the AzoraOne API. Content-Type The Content-Type header is used to indicate the media type of the request data. Client-Key The Client-Key he - [Requests](https://developer.azora.one/docs/overview/requests): You interact with AzoraOne by sending HTTP requests. A request contains headers and, for most methods, a JSON body. Syntax A request URL will look like this: https://api.azora.one/{api}/{version}/{res - [Responses](https://developer.azora.one/docs/overview/responses): A request will return a response that indicates the result in two different ways: with the standard HTTP response status code and with a corresponding JSON body. HTTP response status codes AzoraOne AP - [Webhooks](https://developer.azora.one/docs/overview/webhooks): Background The AzoraOne API features webhooks for receiving instant updates when files have finished preprocessing. When a file is uploaded to the AzoraOne API, some preproccessing is required before - [Postman Collection](https://developer.azora.one/docs/overview/postman-collection): Testing the AzoraOne API with Postman One of the fastest ways to explore the AzoraOne API is by using Postman. Follow the steps below to get started in minutes. 1. Install Postman Download and install - [Quality & Performance](https://developer.azora.one/docs/overview/quality-and-performance): To help customers assess AzoraOne’s extraction performance and overall quality of service, the following endpoints include a conformity score: Per-file conformity Returns a conformity object for each ## API Reference - [POST Add a company](https://developer.azora.one/docs/companies/add-a-company): Adding a company is the one-time initial step. Once it exists, the file workflow — add a file, extract data, bookkeep data — repeats against it. A company acts as a container for accumulated knowledge - [GET Retrieve a company](https://developer.azora.one/docs/companies/retrieve-a-company): In order to retrieve a company that has been added to the AzoraOne, send a GET request to this endpoint. The request URL must include the companyID of the company that you want to retrieve. If success - [GET Retrieve all companies](https://developer.azora.one/docs/companies/retrieve-all-companies): A GET request to the /companies endpoint returns a list of all companies created in AzoraOne, including both active and inactive companies. The endpoint is highly flexible, allowing you to sort, pagin - [PUT Update a company](https://developer.azora.one/docs/companies/update-a-company): Note: when updating a resource, new information overwrites the existing information — this is a full replace, not a partial update. The companyID in the request URL must match the companyID in the req - [POST Add a file](https://developer.azora.one/docs/files/add-a-file): Once a company has been created, PDFs, images and e-invoices can be uploaded for subsequent extraction. In the AzoraOne APIs, uploads and extractions are performed in two separate steps. You will need - [GET Retrieve a file](https://developer.azora.one/docs/files/retrieve-a-file): In order to retrieve the file object of a file that has been uploaded to the AzoraOne, send a GET request to this endpoint. Note: The file object doesn't include the actual file data (for example, a P - [PATCH Update a file](https://developer.azora.one/docs/files/update-a-file): The update a file operation is optional and can be used to teach AzoraOne how to sort incoming files. For example, when the user moves a file from one view or verification series to another in your ap - [DELETE Delete all memories](https://developer.azora.one/docs/memories/delete-all-memories): Delete all created models on a company. A model contains a set of instructions on what values to extract and what nominal codes to assign from an incoming source file. Models will automatically be cre - [POST Add a progenitor](https://developer.azora.one/docs/progenitors/add-a-progenitor): The progenitors resource will allow you to share knowledge between companies. The request URL must include the companyID of the company that that you want to add the progenitor to. The request body mu - [POST Add a progenitor list](https://developer.azora.one/docs/progenitors/add-a-progenitor-list): The progenitors resource will allow you to share knowledge between companies. The request URL must include the companyID of the company that that you want to add the progenitor to. The request body mu - [GET Retrieve a progenitor](https://developer.azora.one/docs/progenitors/retrieve-a-progenitor): In order to retrieve the progenitor object of a progenitor that has been added to a company, send a GET request to this endpoint. - [GET Retrieve all progenitors](https://developer.azora.one/docs/progenitors/retrieve-all-progenitors): In order to retrieve the progenitor objects of all progenitors that has been added to a company, send a GET request to this endpoint. A relationship that's been removed via Delete a progenitor is soft - [PUT Update a progenitor](https://developer.azora.one/docs/progenitors/update-a-progenitor): Note: When updating a resource, new information overwrites the existing information — this is a full replace, not a partial update. Any field you leave empty is cleared, not left unchanged; any boolea - [DELETE Delete a progenitor](https://developer.azora.one/docs/progenitors/delete-a-progenitor): You can delete a progenitor bond between two companies by using this operation. This operation is not idempotent : deleting an already-inactive (or never-existing) relationship returns a 404, not a si - [GET Extract data from a receipt](https://developer.azora.one/docs/receipts/extract-data-from-a-receipt): A GET request to the receipts endpoint will reveal the magic of AzoraOne Self Learning Automation API. Supply the unique file ID from your file upload request, and AzoraOne will return extracted data - [PUT Bookkeep a receipt](https://developer.azora.one/docs/receipts/bookkeep-a-receipt): An integral part of AzoraOne is the built-in self-learning capability. In order to learn, AzoraOne must have the correct input data. We think the user, be it the small business owner or a professional - [GET Extract data from an invoice](https://developer.azora.one/docs/supplier-invoices/extract-data-from-an-invoice): A GET request to the supplierInvoices endpoint is used to extract data from a supplier invoice (or other files that matches the supplierInvoices representation). Supply the unique file ID from your fi - [PUT Bookkeep an invoice](https://developer.azora.one/docs/supplier-invoices/bookkeep-an-invoice): An integral part of AzoraOne is the built-in self-learning capability. In order to learn, AzoraOne must have the correct input data. We think the user, be it the small business owner or a professional - [POST Add a supplier](https://developer.azora.one/docs/suppliers/add-a-supplier): You will need to create a supplier in order to: Help locate a supplierID from the supplier list when extracting a supplier invoice.. Bookkeep a value on the supplierID parameter on a supplier invoice - [POST Add a supplier list](https://developer.azora.one/docs/suppliers/add-a-supplier-list): To streamline the process of supplier onboarding, this endpoint allows you to submit a list of suppliers in a single POST request. This is especially useful when initializing the supplier list for a c - [GET Retrieve a supplier](https://developer.azora.one/docs/suppliers/retrieve-a-supplier): In order to retrieve the supplier object of a supplier that has been added to a company, send a GET request to this endpoint. - [GET Retrieve all suppliers](https://developer.azora.one/docs/suppliers/retrieve-all-suppliers): In order to retrieve the supplier objects of all suppliers that has been added to a company, send a GET request to this endpoint. - [PUT Update a supplier](https://developer.azora.one/docs/suppliers/update-a-supplier): Note: When updating a resource, new information overwrites the existing information — this is a full replace, not a partial update. Any field you leave empty is cleared, not left unchanged. Unlike cre - [DELETE Delete a supplier](https://developer.azora.one/docs/suppliers/delete-a-supplier): You can delete a supplier resource by using this operation. - [PATCH Update models' status](https://developer.azora.one/docs/models/update-models-status): The PATCH endpoint for models allows you to mark specific models as inactive, preventing them from being used in future document processing. Over time, some models may become outdated as document proc - [GET Retrieve all files](https://developer.azora.one/docs/files/retrieve-all-files): A GET request to this operation returns a list of files uploaded to AzoraOne by or for a specific company. These files may include receipts, supplier invoices, or other documents supported by AzoraOne - [GET Retrieve file details](https://developer.azora.one/docs/files/retrieve-file-details): A GET request to this operation returns a comprehensive view of a single file's lifecycle — its metadata, optional raw content, calculated conformity score, and event history. Use it to power a "file - [GET Extract data from a customer invoice](https://developer.azora.one/docs/customer-invoices/extract-data-from-a-customer-invoice): A GET request to the customerInvoices endpoint is used to extract data from a customer invoice (or other files that match the customerInvoices representation). Supply the unique file ID from your file - [PUT Bookkeep a customer invoice](https://developer.azora.one/docs/customer-invoices/bookkeep-a-customer-invoice): An integral part of AzoraOne is the built-in self-learning capability. In order to learn, AzoraOne must have the correct input data. We think the user, be it the small business owner or a professional - [POST Add a customer](https://developer.azora.one/docs/customers/add-a-customer): You will need to create a customer in order to: Help locate a customerID from the customer list when extracting a customer invoice.. Bookkeep a value on the customerID parameter on a customer invoice - [POST Add a customer list](https://developer.azora.one/docs/customers/add-a-customer-list): To streamline the process of customer onboarding, this endpoint allows you to submit a list of customers in a single POST request. This is especially useful when initialising the supplier list for a c - [GET Retrieve a customer](https://developer.azora.one/docs/customers/retrieve-a-customer): Use this endpoint to retrieve a customer added to a company. - [GET Retrieve all customers](https://developer.azora.one/docs/customers/retrieve-all-customers): In order to retrieve the customer objects of all customers that has been added to a company, send a GET request to this endpoint.  The request URL must include the companyID of the company that t - [PUT Update a customer](https://developer.azora.one/docs/customers/update-a-customer): Note: When updating a resource, new information overwrites the existing information — this is a full replace, not a partial update. Any field you leave empty is cleared, not left unchanged. Unlike cre - [DELETE Delete a customer](https://developer.azora.one/docs/customers/delete-a-customer): You can delete a customer resource by using this operation. - [POST Add a pattern](https://developer.azora.one/docs/patterns/add-a-pattern): The patterns resource allows you to create company-specific patterns that can be used when sorting documents to a specific type, e.g., supplier invoice or receipt. Important: the identifiers you submi - [GET Retrieve a pattern](https://developer.azora.one/docs/patterns/retrieve-a-pattern): To retrieve a specific pattern that has been added to a company, send a GET request to this endpoint. - [GET Retrieve all patterns](https://developer.azora.one/docs/patterns/retrieve-all-patterns): In order to retrieve all patterns that have been added to a company, send a GET request to this endpoint. This operation always paginates: if you don't supply pageNumber/pageSize, the first page (size - [PUT Update a pattern](https://developer.azora.one/docs/patterns/update-a-pattern): Note: When updating a resource, new information overwrites the existing information — this is a full replace, not a partial update. Any field you leave empty is cleared, not left unchanged: in particu - [DELETE Delete a pattern](https://developer.azora.one/docs/patterns/delete-a-pattern): You can delete a pattern resource by using this operation. This operation is not idempotent : deleting an already-deleted (or never-existing) patternID returns a 404, not a silent success. Deleting a ## Changelog - [Changelog](https://developer.azora.one/changelog): API change history — features, breaking changes, performance improvements, security updates ## Support - [FAQ & Contact](https://developer.azora.one/support): Frequently asked questions and contact form - Contact email: contact@arkimera.se ## Access Public API documentation is freely accessible without authentication. Authenticated users can subscribe to APIs, manage access keys, and use the interactive Try Now explorer. ## Optional - [Full documentation (machine-readable)](https://developer.azora.one/llms-full.txt) - [Sitemap](https://developer.azora.one/sitemap.xml)