# Create your first contract

When Data Mover acts as a **client**, the following contract types can be created:

* **Input Contracts** define how Data Mover will retrieve files from the Producer’s data store. See the [Create an Input Contract](/data-mover-1.21/contracts/create-your-first-contract/create-an-input-contract.md) page for details.&#x20;
* **Output Contracts** define how Data Mover will send processed files to the Consumer's data store. See the [Create an Output Contract](/data-mover-1.21/contracts/create-your-first-contract/create-an-output-contract.md) page for details.&#x20;

When Data Mover acts as a **server**, one type of Contract can be created:

* **Connection Contract** (in input or in output) specifies how Data Mover will connect with the Producer to receive files or with the Consumer to retrieve files, acting as a protocol server in both scenarios. See the [Create a Connection Contract](/data-mover-1.21/contracts/create-your-first-contract/create-a-connection-contract.md) page for details.&#x20;

When data transformation is needed, one type of contract applies:&#x20;

* The **Mediation Contract** defines if and how Data Mover will apply changes to the files, for example how to rename or zip them, before delivery. See the [Create a Mediation Contract](/data-mover-1.21/contracts/create-your-first-contract/create-a-mediation-contract.md) page for details.&#x20;

The following pages deal with the creation of these 4 types of contracts.&#x20;


---

# 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/create-your-first-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.
