## Table of Contents

- [Encoding](#encoding)

---

[](https://microlink.io/docs/api/getting-started/overview)

[API](https://microlink.io/docs/api/getting-started/overview)

[](https://microlink.io/docs/guides)

GUIDES

[](https://microlink.io/docs/mql/getting-started/overview)

MQL

[](https://microlink.io/docs/sdk/getting-started/overview)

SDK

[](https://microlink.io/docs/cards/getting-started/overview)

CARDS

## Encoding

**Microlink Cards** are shipped as stateful application, where the state is all time encoded in the URL.

That design decision has some tradeoff: Any modification over [presets](https://microlink.io/docs/cards/getting-started/presets) original code will be living into the URL, making it to looks very long. To avoid that, just [](https://github.com/microlinkhq/cards/tree/master/src/components/presets)

[add your preset](https://github.com/microlinkhq/cards/tree/master/src/components/presets)

.

Additonally, any value in the URL should be encoded properly to be consumed by [Microlink API](https://microlink.io/docs/api/getting-started/overview), meaning you need to use [](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)

[encodeURIComponent](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)

or equivalent.

Last, any other query parameter present into the URL that it isn't part of the query variable will be passed to [Microlink API](https://microlink.io/docs/api/getting-started/overview). You can see an [](https://github.com/microlinkhq/cdn/blob/master/src/banner.js#L32)

[example](https://github.com/microlinkhq/cdn/blob/master/src/banner.js#L32)

.