# What is a contract

Contracts are the core of our methodology, the Contract-Oriented Architecture (COA<sup>®</sup>), which organizes Data Integration processes in **phases**, simplifying the design and management of integrations in data **input**, **mediation** and **output**.

A contract defines how the producer and the consumer of data, as well as Data Mover, interact.

Different types of contracts can be associated with each phase of the COA. This is a schema visualizing the **phases and contracts** in Data Mover.&#x20;

<figure><img src="/files/EegoWEo8k2a0M63mrpLt" alt="" width="563"><figcaption></figcaption></figure>

When developing an integration request, being it a simple file transfer or a complex flow, the use of\
contracts simplifies the flows since they contain a description of:

* the **elements** that will be involved in each phase of Input, Mediation and Output
* the **actions** that will be carried out on the elements or among them
* the **events** that will trigger the actions


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.primeur.com/data-mover-1.21/contracts/what-is-a-contract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
