The Genius Edge interface allows point of sale developers the ability to integrate to an IP based pinpad for payment processing, removing the need for any middleware software that is required by some integrations to communicate with USB based devices.
The Genius API utilizes the Edge server-side REST API which uses JSON payloads for requests and responses. JSON is, by definition, an unordered list of name-value pairs. Partners should parse the JSON by standard JSON object/libraries, which are order-agnostic. Partners should not build any one-off manual parsers for JSON, as the order of elements in the response can change over time as new elements are added to the API response. Pending new elements in the API response, using one-off manual parsers for JSON will result in integration and transaction failures for partners and merchants.
super pretty diagram....

Every request to our gateway requires a set of headers and additional identifying information to set up and process transactions. These are detailed below.
Each request requires setting certain headers required for processing transactions. Include the following data elements in the header of your JSON request to our gateway. We use these to authenticate your request.
| Parameter | Description | Format |
|---|---|---|
| Content-Type | Set Content-Type for requests | "application/json" |
| X-GP-Version | Possible values: 2019-06-27 | XXXX-XX-XX |
| X-GP-API-Key (for Transactions API) | Partner level credential. Sent in the header of every gateway request | afmuKXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| Authorization | Partner level credential. Used when generating the AuthToken | "AuthToken x.y.z" |
| X-GP-Request-Id | Custom value generated and sent from integrating application. Value is a GUID prefixed with "MER-" | MER-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX |
Credentials
| Parameter | Description | Format | Max Length |
|---|---|---|---|
| account_credential | Merchant level credential. Used when generating the AuthToken | 8000000XXXXX:800XXXXX:6teY5XXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| X-GP-API-Key (for PayFields API) | Partner level credential. Used to generate a temporary_token | OieJnXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| X-GP-API-Key (for Transactions API) | Partner level credential. Sent in the header of every gateway request | afmuKXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| API Secret | Partner level credential. Used when generating the AuthToken | D91qPXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
AuthToken is a secure custom JWT token used for transaction authentication by the platform. Integrating partners will also receive an API Secret associated with the API Key. This API Secret should be used to generate the AuthToken.
The authorization header in the request should be as follows:
Where ‘x.y.z’ is an AuthToken JWT. Refer to the AuthToken Documentation below for information on generating the required AuthToken.
AuthToken Documentation