> For the complete documentation index, see [llms.txt](https://docs.faspay.co.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.faspay.co.id/getting-started/faspay-sendme/authentication/signature/relative-url.md).

# Relative URL

* Relative URL is the URL after the hostname & port number.
* Relative URL also includes the query string and must begin with a slash character, example :

<table><thead><tr><th width="367">Full URL</th><th>Relative URL</th></tr></thead><tbody><tr><td><a href="https://example.com/account/api/tokens">https://example.com/account/api/tokens</a></td><td> <strong>/account/api/tokens</strong></td></tr><tr><td><strong>https://example.com or https://example.com/</strong></td><td> <strong>/</strong></td></tr></tbody></table>

Relative URL must be URI-encoded according to the following rules:

* Do not URI-encode forward slash ( / ) if it was used as path component.
* Do not URI-encode question mark ( ? ), equals sign ( = ), and ampersand ( & ) if they were used as query string component: as separator between the path and query string, between query parameter and its value, and between each query parameter and value pairs.
* Do not URI-encode these characters: A-Z, a-z, 0-9, hyphen ( - ), underscore ( \_ ), period ( . ), and tilde ( \~ ) which are defined as unreserved characters in RFC 3986.
* Percent-encode all other characters not meeting the above conditions using the format: %XY, where X and Y are hexadecimal characters (0-9 and uppercase A-F). For example, the space character must be encoded as %20 (not using ’+’, as some encoding schemes do) and extended UTF-8 characters must be in the form %XY%ZA%BC.

The query string parameters must be re-ordered according to the following rules:

* Sorted by parameter name lexicographically
* If there are two or more parameters with the same name, sort them by parameter values.
