# Quick Start

{% hint style="info" %}
We recommend you read the full guides below. But if you prefer, you can just skip to the [openapi-docs](https://devs.snowdropsolutions.co.uk/openapi-docs "mention") for the technical specification.
{% endhint %}

Snowdrop Solutions' Merchant Reconciliation System (MRS) is a REST API that is simple and easy to implement. To make your first API request, you can use the [OpenAPI documentation](https://devs.snowdropsolutions.co.uk/openapi-docs), or you can make a request in the language of your choice, below.

{% hint style="info" %}
Note: You will need a valid ***API Key*** and know your ***Regional Domain*** to make an MRS request. Please contact us if you do not have these. (See [faq](https://devs.snowdropsolutions.co.uk/faq "mention")).
{% endhint %}

To start, we will call the simple `/api/v3/merchant`endpoint, using a GET request.&#x20;

{% tabs %}
{% tab title="cURL" %}
`curl --request GET`\
`--url 'https://regional-snowdrop-domain-goes-here.com/api/v3/merchant?merchant_name=mcdonalds&type=restrictive&location=london&country=GBR'`\
`--header 'X-Api-Key:`` `**`<YOUR-API-KEY>`**`'`
{% endtab %}

{% tab title="Python" %}
`import http.client`

`conn = http.client.HTTPSConnection("`**`regional-snowdrop-domain-goes-here.com`**`")`

`payload = ""`

`headers = { 'X-Api-Key': "`**`<YOUR-API-KEY>`**`" }`

`conn.request("GET", "/api/v3/merchant?merchant_name=mcdonalds&type=restrictive&location=london&country=GBR", payload, headers)`

`res = conn.getresponse() data = res.read()`

`print(data.decode("utf-8"))`
{% endtab %}

{% tab title="C#" %}
`var client = new RestClient("https://`**`regional-snowdrop-domain-goes-here.com`**`/api/v3/merchant?merchant_name=mcdonalds&type=restrictive&location=london&country=GBR");`&#x20;

`var request = new RestRequest(Method.GET);`

`request.AddHeader("X-Api-Key", "`**`<YOUR-API-KEY>`**`");`&#x20;

`IRestResponse response = client.Execute(request);`
{% endtab %}

{% tab title="Javascript" %}
`const data = null;`

`const xhr = new XMLHttpRequest();`

`xhr.withCredentials = true;`

`xhr.addEventListener("readystatechange", function () {`

&#x20;   `if (this.readyState === this.DONE) {`

&#x20;       `console.log(this.responseText);`&#x20;

&#x20;   `}`&#x20;

`});`

`xhr.open("GET", "https://`**`regional-snowdrop-domain-goes-here.com`**`/api/v3/merchant?merchant_name=mcdonalds&type=restrictive&location=london&country=GBR");`

`xhr.setRequestHeader("X-Api-Key", "`**`<YOUR-API-KEY>`**`");`

`xhr.send(data);`
{% endtab %}

{% tab title="Java" %}
`HttpResponse response = Unirest.get("https://`**`regional-snowdrop-domain-goes-here.com`**`/api/v3/merchant?merchant_name=mcdonalds&type=restrictive&location=london&country=GBR") .header("X-Api-Key", "`**`<YOUR-API-KEY>`**`") .asString();`
{% endtab %}
{% endtabs %}

*Note: the `type=restrictive` part refers to the **type** of request. You don't have to worry about this for now, we will cover restrictive vs extended later.*

The returned response contains the enriched transaction in JSON format:

```
[
	{
		"name": "McDonald's",
		"website": "https://www.mcdonalds.com",
		"address": "",
		"img": "https://storage.googleapis.com/production-mrs-tm-logos/6273ea24bb09494554c95b90_2x.png",
		"logoImg": "https://storage.googleapis.com/production-mrs-tm-logos/6273ea24bb09494554c95b90_2x.png",
		"categoryImg": "https://storage.googleapis.com/production-mrs-category-logos/default/food_2x.png",
		"logoScore": 1,
		"category": "Eating out",
		"categories": [
			"restaurant"
		],
		"isClearResponse": false
	}
]
```

For more on the meaning of these fields, consult the [openapi-docs](https://devs.snowdropsolutions.co.uk/openapi-docs "mention").

Having problems? Consult [troubleshooting](https://devs.snowdropsolutions.co.uk/troubleshooting "mention") or [faq](https://devs.snowdropsolutions.co.uk/faq "mention").
