# MAPI - Messaging API Documentation > Documentation for MAPI - Messaging API ## Guides - [Getting started](https://developer.unimaze.com/docs/getting-started.md): This page will help you get started with MAPI - Messaging API. - [Before you begin](https://developer.unimaze.com/docs/before-you-begin.md): (work in progress) - [Response codes](https://developer.unimaze.com/docs/response-codes.md): Comprehensive guide to HTTP status codes returned by the Messaging API, including success and error responses with detailed explanations. - [Message identifier and envelope](https://developer.unimaze.com/docs/message-envelope-identifier.md): A message is an envelope that wraps the business documents that you exchange with your business partners. - [Business participant identifiers](https://developer.unimaze.com/docs/business-participant-identifiers.md): Document routing on exchange networks is based on unique participant identifiers - [API integration](https://developer.unimaze.com/docs/api-integration.md): Explore APIs in the playground and implement integrations using OpenAPI-generated clients - [Generate .NET proxy (C#)](https://developer.unimaze.com/docs/generate-dotnet.md) - [Generating Java proxy](https://developer.unimaze.com/docs/generate-java.md) - [Generating Python proxy](https://developer.unimaze.com/docs/generate-python.md) - [Generating Typescript / Javascript proxy](https://developer.unimaze.com/docs/generate-typescript-javascript.md) - [Sending messages](https://developer.unimaze.com/docs/quickstart.md): Unimaze enables secure exchange of business documents through the **Messaging API (MAPI)**. This page helps you choose the correct implementation approach and directs you to guided, step-by-step documentation. - [Sending outbound messages](https://developer.unimaze.com/docs/sending-outbound-messages.md) - [Receiving inbound messages](https://developer.unimaze.com/docs/receiving-inbound-messages.md) - [Viewing documents](https://developer.unimaze.com/docs/viewing-documents.md) - [Message flow](https://developer.unimaze.com/docs/message-flow.md) - [Business transaction groups](https://developer.unimaze.com/docs/business-transaction-groups.md): The groups define the actions, independent of the XML or EDI docment syntax. - [Business profiles](https://developer.unimaze.com/docs/business-profiles.md): Business profiles are contracts for business collaboration. - [Services](https://developer.unimaze.com/docs/services.md): NOTE: Fix table below. - [Unit of measure](https://developer.unimaze.com/docs/unit-of-measure.md) - [Guided Tour: Messaging Services](https://developer.unimaze.com/docs/mapi-msg-guide.md): This is a step-by-step guide to using **Messaging Services** for sending and receiving electronic business documents from a backend, such as an ERP system, in **raw XML format**. - [Working with MLRs, eMLRs and MLAs](https://developer.unimaze.com/docs/working-with-mlrs-emlrs-and-mlas.md): Actions and responses provide evidence and tracking of message transactions. - [Guided Tour: Transaction Services](https://developer.unimaze.com/docs/mapi-txs-guide.md): This is a step-by-step guide to using **Transaction Services** for sending and receiving electronic business documents from a backend, such as an ERP system, in **JSON format**. - [Billing identifiers](https://developer.unimaze.com/docs/billing-identifiers.md) - [Payment means](https://developer.unimaze.com/docs/payment-means.md) - [Billing responses](https://developer.unimaze.com/docs/billing-response-elements.md): Billing responses are sent in response to an already received invoice or credit note. - [Billing response: Use cases](https://developer.unimaze.com/docs/billing-response-use-cases.md) - [Quotation request: Use cases](https://developer.unimaze.com/docs/quotation-request-use-cases.md) - [Quotation: Use cases](https://developer.unimaze.com/docs/quotation-use-cases.md) - [Guide: Croatia Onboarding](https://developer.unimaze.com/docs/guide-croatian-onboarding.md): This is a step-by-step guide to using onboarding a company on production on the Croatian network. - [Guide: Specific use for Croatia](https://developer.unimaze.com/docs/guide-specific-use-for-croatia.md): This is a guide to using **Transaction Services** for specific requirements for document handling in Croatia. - [Rejection business message](https://developer.unimaze.com/docs/rejection-business-message.md): Here is what you need to do to get ready for the new rejection business message on the Croatian network. - [ERP Tax Integration Flow](https://developer.unimaze.com/docs/erp-tax-integration-flow.md): A robust ERP integration must track statuses of outbound documents and mark all inbound documents as having been processed (business documents, as well as response documents) - [Use of profile identifiers](https://developer.unimaze.com/docs/profile-identifiers-hr.md): Business processes are identified in XML or JSON using different types of profile identifiers. - [Use of VAT codes](https://developer.unimaze.com/docs/vat-codes-hr.md) - [Use of VAT exemption codes](https://developer.unimaze.com/docs/vat-exemption-codes-hr.md): Exemption codes are used defining the VAT exemption, when applicable. - [Guide: Serbia - Implementation](https://developer.unimaze.com/docs/serbia-use-of-mapi.md): Onboarding and integation - e-Invoicing and VAT reporting ## API Reference - [Get party information](https://developer.unimaze.com/reference/getpartybyid.md): Returns information about a particular party, specifically the company name. - [Get receiving transactions](https://developer.unimaze.com/reference/getpartyreceivingtransactions.md): Retrieves receiving transactions that a particular party is capable of handling. - [Sets receiving transactions](https://developer.unimaze.com/reference/postpartyreceivingtransactions.md): Sets receiving transactions that a particular party is capable of handling. - [Gets receiving transactions (multiple)](https://developer.unimaze.com/reference/getpartyreceivingtransactionsbatchquery.md): Makes a batch query to retrieve receiving transactions of a number of parties for a specific business transaction group. - [Get pending actions](https://developer.unimaze.com/reference/get_api-v1-parties-isoidentifier-pending-summaries.md): Gets the summaries of pending messages for a party based on iso identifier with text. - [Get message envelope](https://developer.unimaze.com/reference/messagegetbyid.md): Returns information about a specific message using the unique message identifier (GUID). - [Get document (by index)](https://developer.unimaze.com/reference/getmessagedocumentbyindex.md): Retrieves the binary payload of a document stored in a specific message using the index number of the document. - [Get document (by name)](https://developer.unimaze.com/reference/getmessagedocumentbyname.md): Returns the binary payload of a document stored in a specific message using the name of the document. - [Get document (core)](https://developer.unimaze.com/reference/getcoremessagedocument.md): Returns the binary payload of the core processing document stored in a specific message. - [Get document (original)](https://developer.unimaze.com/reference/getoriginalmessagedocument.md): Returns the binary payload of the original document stored in a specific message. - [Get document (transformed)](https://developer.unimaze.com/reference/gettransformedmessagedocument.md): Returns the binary payload of the transformed document stored in a specific message. - [Get message list (filtered)](https://developer.unimaze.com/reference/getmessages.md): Retrieves messages using filters. - [Create a business transaction](https://developer.unimaze.com/reference/createbusinesstransaction.md): Uploads a document and creates a business transaction that needs to be validated. - [Add an attachment](https://developer.unimaze.com/reference/adddocuments.md): Attaches a document to an existing message. - [View a document](https://developer.unimaze.com/reference/displaydocuments.md): Displays an XML business document in HTML or attachments in native format. - [Mark as processed](https://developer.unimaze.com/reference/markmessageasprocessed.md): Indicates that the message has been successfully processed. The message is then ready for delivery. - [Mark as in process](https://developer.unimaze.com/reference/markasinprocessasync.md): Indicates that the message is in process. - [Mark as delivered](https://developer.unimaze.com/reference/markmessageasdelivered.md): Sets the message status to delivered after import into the back-end system. - [Mark as failed](https://developer.unimaze.com/reference/markmessageasfailed.md): Sets the message status as failed and sends an error message for logging purposes. - [Get traces](https://developer.unimaze.com/reference/getmessagetraces.md): Returns all traces of a specific message. - [Get statuses](https://developer.unimaze.com/reference/getmessagestatuswithtraces.md): Get the status connected to the GUID of a message, along with extended traces - [Get validation results](https://developer.unimaze.com/reference/getmessagevalidations.md): Returns all validation entries for a specific message. - [Retries a message](https://developer.unimaze.com/reference/retrymessage.md): Retries the processing of a failed message - [Create a generic message](https://developer.unimaze.com/reference/createmessage.md): Uploads a generic document and creates a message. - [Send an invoice](https://developer.unimaze.com/reference/createsubmitinvoice.md): Creates a `SubmitInvoice` business transaction from a metadata structure. - [Fetch an invoice](https://developer.unimaze.com/reference/getsubmitinvoice.md): Retrieves the metadata structure from an invoice together with the message information. - [Send a credit note](https://developer.unimaze.com/reference/createcorrectwithcredit.md): Creates a `CorrectWithCredit` business transaction from a metadata structure. - [Fetch a credit note](https://developer.unimaze.com/reference/getcorrectwithcredit.md): Retrieves the metadata structure from a credit note together with the message information. - [Send billing response](https://developer.unimaze.com/reference/createsubmitbillingresponse.md): Creates a `SubmitBillingResponse` business transaction from a metadata structure. - [Fetch a billing response](https://developer.unimaze.com/reference/getsubmitbillingresponse.md): Retrieves the metadata structure from a billing response together with the message information. - [Send an invoice](https://developer.unimaze.com/reference/createsubmitinvoice2.md): Creates a `SubmitInvoice` business transaction from a metadata structure. - [Fetch an invoice](https://developer.unimaze.com/reference/getsubmitinvoice2.md): Retrieves the metadata structure from an invoice together with the message information. - [Send a credit note](https://developer.unimaze.com/reference/createcorrectwithcredit2.md): Creates a `CorrectWithCredit` business transaction from a metadata structure. - [Fetch a credit note](https://developer.unimaze.com/reference/getcorrectwithcredit2.md): Retrieves the metadata structure from a credit note together with the message information. - [Send a catalogue](https://developer.unimaze.com/reference/createsubmitcatalogue.md): Creates a `SubmitCatalogue` business transaction from a metadata structure. - [Send a quotation request](https://developer.unimaze.com/reference/createrequestquotation.md): Creates a `RequestQuotation` business transaction from a metadata structure. - [Send a quotation](https://developer.unimaze.com/reference/createsubmitquotation.md): Creates a `SubmitQuotation` business transaction from a metadata structure. - [Send an order](https://developer.unimaze.com/reference/createsubmitorder.md): Creates a `SubmitOrder` business transaction from a metadata structure. - [Fetch an order](https://developer.unimaze.com/reference/getsubmitorder.md): Retrieves the metadata structure from an order together with the message information. - [Send an order change](https://developer.unimaze.com/reference/createsubmitorderchange.md): Creates a `SubmitOrderChange` business transaction from a metadata structure. - [Fetch an order change](https://developer.unimaze.com/reference/getsubmitorderchange.md): Retrieves the metadata structure from an order change together with the message information. - [Send an order cancellation](https://developer.unimaze.com/reference/createsubmitordercancellation.md): Creates a `SubmitOrderCancellation`business transaction from a metadata structure. - [Fetch an order cancellation](https://developer.unimaze.com/reference/getsubmitordercancellation.md): Retrieves the metadata structure from an order cancellation together with the message information. - [Send an order response](https://developer.unimaze.com/reference/createsubmitorderresponse.md): Creates a `SubmitOrderResponse`business transaction from a metadata structure. - [Send an EDI document](https://developer.unimaze.com/reference/createedimessage.md): Uploads EDIFACT EDI document, or a SKOT flat file document and creates a message. - [Get an EDI document](https://developer.unimaze.com/reference/getedimessage.md): Retrieves the binary payload of an EDI document stored in a specific message. - [Get pending import messages](https://developer.unimaze.com/reference/searchpendingimportmessagesasync.md): Gets documents in status pending import - [Mark a message as imported](https://developer.unimaze.com/reference/post_api-v1-messages-messageguid-mark-as-imported.md): Gets documents in status pending import - [Register a payment](https://developer.unimaze.com/reference/registerpaymentasync.md): Supplier registers a payment of a previously issued invoice or credit note. - [Register a rejection](https://developer.unimaze.com/reference/registerrejectionasync.md): Customer registers a rejection of a previously received invoice or credit note. - [Register a payment (independently)](https://developer.unimaze.com/reference/registerpaymentindependentlyasync.md): Supplier registers a payment of a previously issued invoice or credit note by supplying all document details directly, without a reference to an existing message in the system. To register a payment against an existing message, use `POST messages/{messageId}/compliance/hr/register-payment` instead. - [Register a rejection (independently)](https://developer.unimaze.com/reference/registerrejectionindependentlyasync.md): Customer registers a rejection of a previously received invoice or credit note by supplying all document details directly, without a reference to an existing message in the system. To register a rejection against an existing message, use `POST messages/{messageId}/compliance/hr/register-rejection` instead. - [Registers periodic tax report](https://developer.unimaze.com/reference/submitperiodicserbiantaxreturn.md): Creates a periodic VAT recording (according to SEF v2 reporting). - [Register individual tax report](https://developer.unimaze.com/reference/submitindividualserbiantaxreturn.md): Creates an individual VAT recording (according to SEF v2 reporting). - [Fetch monthly summary of sales broken down buyer and item numbers (JSON format)](https://developer.unimaze.com/reference/getsalessummariesformonth.md) - [Fetch monthly summary of sales broken down buyer and item numbers (PARQUET format)](https://developer.unimaze.com/reference/getsalessummariesformonthinparquetformat.md) - [Get current product master (JSON format)](https://developer.unimaze.com/reference/getproductitems.md) - [Get current product master (PARQUET format)](https://developer.unimaze.com/reference/getproductitemsinparquetformat.md) - [Fetch monthly summary of expenses broken down by supplier and item numbers (JSON format) Please note that data can change while document is still being processed internally: - Only active documents are considered in the summaries. - Active ones can become inactive if a duplicate overrides it. - UNSPSC codes may be assigned manually or by an internal process.](https://developer.unimaze.com/reference/getexpensesummariesformonth.md) - [Fetch document headers (invoices and credit notes) (JSON format). Please note: - Both active and inactive billing documents are returned (active ones can become inactive if a duplicate overrides it). - Amounts (totals, taxes, charges and discounts) on credit notes have their sign negated.](https://developer.unimaze.com/reference/getexpensesdocumentheadersfordate.md) - [Fetch document lines (invoices and credit notes) (JSON format). Please note: - Lines for both active and inactive billing documents are returned (active ones can become inactive if a duplicate overrides it). - Amounts (totals, taxes, charges and discounts) on credit notes have their sign negated. ///](https://developer.unimaze.com/reference/getexpensesdocumentlinesfordate.md) - [Device upload](https://developer.unimaze.com/reference/uploaddocumentfromdevice.md): > 🚧 **DEPRECATED** > >Device upload. Instead, use processing mode "device" for `POST /transactions/submit-invoice`, etc. routes. Uploads a document from an external device, such as a scanner, using a raw binary format (`application/octet-stream`). You can also submit the data as a stream that is formatted as a base64-encoded ASCII text. In this case, the HTTP `Content-Type` header must be set to `application/base64`. The user scans a business document, for example, using OCR software, creates a native business document, such as a UBL 2.1 document, and sends it to themselves. This lets users import paper documents into the application. The signed-in user must be the message receiver, not the message sender. It is not possible to send documents to other users using this API call. The user also needs to be an agent, which is managed through the user settings. Core documents submitted this way are validated in the same manner as when calling [`POST /messages/create-business-transaction`](/reference/CreateBusinessTransaction). - [Device upload (older route)](https://developer.unimaze.com/reference/post_api-v1-external-devices-upload.md): Uploads a document from the device using raw binary. > 🚧 **DEPRECATED** > > Instead, use processing mode "device" for `POST /transactions/submit-invoice`, etc. routes. - [Get a summary of message statuses](https://developer.unimaze.com/reference/get_api-v1-messages-summaries-isoidentifier.md): Gets the summaries of pending messages for a party based on iso identifier. > 🚧 **DEPRECATED** > > Use `GET /parties/{isoIdentifier}/message-summaries` instead. - [POST /services/vat-returns/rs/submit-periodic](https://developer.unimaze.com/reference/createperiodicvatrecording.md): Creates a periodic VAT recordings. > 🚧 **DEPRECATED** > > Use `POST /compliance/rs/submit-periodic-tax-return` route instead (SEF v1 no longer supported) - [Registers periodic VAT recordings](https://developer.unimaze.com/reference/createperiodicvatrecordingv2.md): Creates a periodic VAT recordings. > 🚧 **DEPRECATED** > > Use `POST /compliance/rs/submit-periodic-tax-return` route instead (same route signature) - [POST /services/vat-returns/rs/submit-individual](https://developer.unimaze.com/reference/createindividualvatrecording.md): Creates an individual VAT recordings. > 🚧 **DEPRECATED** > > Use `POST /compliance/rs/submit-individual-tax-return` route instead (SEF v1 no longer supported) - [Register individual VAT recordings](https://developer.unimaze.com/reference/createindividualvatrecordingv2.md): Creates an individual VAT recordings. > 🚧 **DEPRECATED** > > Use POST `/compliance/rs/submit-individual-tax-return` route instead (same route signature)