# Transaction

## Module endpoints

* [`GET /transactions`](#get-transactions)
* [`GET /transactions/:id`](#get-transactions-id)
* [`POST /transactions/:id/approve`](#post-transactions-id-approve)
* [`POST /transactions/:id/confirm`](#post-transactions-id-confirm)
* [`POST /transactions/:id/fail`](#post-transactions-id-fail)
* [`POST /transactions/:id/reject`](#post-transactions-id-reject)
* [`POST /transactions/deposit`](#post-transactions-deposit)
* [`POST /transactions/pay`](#post-transactions-pay)
* [`POST /transactions/transfer`](#post-transactions-transfer)
* [`POST /transactions/withdrawal`](#post-transactions-withdrawal)

### `GET /transactions`

> `GET` <https://api.slyk.i&#x6F;**/transactions>\*\*

Retrieves a paginated list of `transactions`.

{% tabs %}
{% tab title="Available Filters" %}

| Name                    | Type            | Example                                                                                           |
| ----------------------- | --------------- | ------------------------------------------------------------------------------------------------- |
| **assetCode**           | `=` `in` `nin`  | `filter[assetCode]=in:USD,EUR,BTC`                                                                |
| **code**                | `=` `in` `nin`  | `filter[code]=in:internal,bank:wire`                                                              |
| **createdAt**           | `=` `gte` `lte` | `filter[createdAt]=lte:2019-07-21`                                                                |
| **description**         | `like`          | `filter[description]=some description excerpt`                                                    |
| **destinationWalletId** | `=` `in` `nin`  | `filter[destinationWalletId]=705af61e-1387-49b0-90f8-45c39fe56686`                                |
| **externalId**          | `=` `in` `nin`  | `filter[externalId]=in:3feaac72-7330-4b32-9801-28b6f69aaf25,705af61e-1387-49b0-90f8-45c39fe56686` |
| **externalReference**   | `=`             | `filter[externalReference]=thud`                                                                  |
| **id**                  | `=` `in` `nin`  | `filter[id]=nin:802a5163-7ad3-4047-b600-088c1f746733,9d3bed88-34b6-4a06-aa79-ed4b32ba0d44`        |
| **originWalletId**      | `=` `in` `nin`  | `filter[originWalletId]=705af61e-1387-49b0-90f8-45c39fe56686`                                     |
| **reference**           | `=`             | `filter[originWalletId]=waldo`                                                                    |
| **status**              | `=` `in` `nin`  | `filter[status]=nin:pending,failed,rejected`                                                      |
| **type**                | `=` `in` `nin`  | `filter[type]=in:deposit`                                                                         |
| **walletId**            | `=` `in` `nin`  | `filter[walletId]=802a5163-7ad3-4047-b600-088c1f746733`                                           |

{% hint style="info" %}
The `description` filter performs a `SQL` query using the `like` operator.
{% endhint %}

{% hint style="info" %}
The `walletId` filter will return any transaction where its set as `destinationWalletId` or `originWalletId`.
{% endhint %}
{% endtab %}

{% tab title="Available Sorts" %}

| Name          | Example                                                            |
| ------------- | ------------------------------------------------------------------ |
| **amount**    | <p><code>sort=amount</code><br><code>sort=-amount</code></p>       |
| **createdAt** | <p><code>sort=createdAt</code><br><code>sort=-createdAt</code></p> |
| {% endtab %}  |                                                                    |

{% tab title="Paginate Options" %}

| Name         | Description                                             | Example          |
| ------------ | ------------------------------------------------------- | ---------------- |
| **size**     | Defines the number of results per page. Default = 30.   | `page[size]=2`   |
| **number**   | Defines the number of the page to retrieve. Default = 1 | `page[number]=2` |
| {% endtab %} |                                                         |                  |

{% tab title="Response" %}

```javascript
{
  "data": [
    {
      "amount": "10.00000000",
      "assetCode": "usd",
      "code": "internal",
      "createdAt": "2019-07-20T14:30:37.483Z",
      "customData": {},
      "description": "A withdrawal transaction so `destinationWalletId` is `null`",
      "destinationAddress": null,
      "destinationWalletId": null,
      "externalId": null,
      "externalReference": null,
      "id": "02731cf6-7452-424b-905e-f11d05715585",
      "metadata": {},
      "originAddress": null,
      "originWalletId": "2c9cf763-4103-4b5e-9e44-d350af41117a",
      "status": "pending",
      "type": "withdrawal",
      "updatedAt": "2019-07-20T14:30:37.483Z"
    },
    {
      "amount": "1234.5678",
      "assetCode": "biz",
      "code": "internal",
      "createdAt": "2019-07-20T14:30:37.483Z",
      "customData": {},
      "description": "A deposit transaction so `originWalletId` field is `null`",
      "destinationAddress": null,
      "destinationWalletId": "2a5489f2-73a5-4cba-a6b2-0b77b1ad94ce",
      "externalId": null,
      "externalReference": null,
      "id": "6042126c-9f63-4e47-b336-55ee56493826",
      "metadata": { "foo": "bar" },
      "originAddress": null,
      "originWalletId": null,
      "status": "rejected",
      "type": "deposit",
      "updatedAt": "2019-07-20T14:30:37.483Z"
    }
  ],
  "total": 1
}
```

{% endtab %}
{% endtabs %}

### `GET /transactions/:id`

> `GET` <https://api.slyk.i&#x6F;**/transactions/:id>\*\*

Retrieves the `transactions` of the given `id`.

{% tabs %}
{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "10.00",
    "assetCode": "usd",
    "code": "internal",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": {},
    "description": "A deposit transaction so `originWalletId` field is `null`",
    "destinationAddress": null,
    "destinationWalletId": "2a5489f2-73a5-4cba-a6b2-0b77b1ad94ce",
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {},
    "originAddress": null,
    "originWalletId": null,
    "status": "rejected",
    "type": "deposit",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/:id/approve`

> `POST` <https://api.slyk.i&#x6F;**/transactions/:id/approve>\*\*

Approves the `transaction` of the given `id`.

{% hint style="info" %}
Its only possible to approve transactions that are `pending`.
{% endhint %}

{% tabs %}
{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "9800.00000000",
    "assetCode": "eur",
    "code": "bank:wire",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": {
      "month": "03",
      "year": "2020"
    }
    "description": "Salary",
    "destinationAddress": null,
    "destinationWalletId": null,
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "transactionData": {
        "bankAddress": "Tussen Meer 375C, 1069 DR Amsterdam",
        "bankName": "IGN",
        "country": "Netherlands",
        "iban": "NL64INGB8219153XXX",
        "swiftCode": "INGBNL2AXXX"
      }
    },
    "originAddress": null,
    "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd",
    "status": "processing",
    "type": "withdrawal",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/:id/confirm`

> `POST` <https://api.slyk.i&#x6F;**/transactions/:id/confirm>\*\*

Confirms the `transaction` of the given `id`.

{% tabs %}
{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "9800.00000000",
    "assetCode": "eur",
    "code": "bank:wire",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": {
      "month": "03",
      "year": "2020"
    }
    "description": "Salary",
    "destinationAddress": null,
    "destinationWalletId": null,
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "transactionData": {
        "bankAddress": "Tussen Meer 375C, 1069 DR Amsterdam",
        "bankName": "IGN",
        "country": "Netherlands",
        "iban": "NL64INGB8219153XXX",
        "swiftCode": "INGBNL2AXXX"
      }
    },
    "originAddress": null,
    "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd",
    "status": "completed",
    "type": "withdrawal",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/:id/fail`

> `POST` <https://api.slyk.i&#x6F;**/transactions/:id/fail>\*\*

Fails the `transaction` of the given `id`.

{% tabs %}
{% tab title="Request Parameters" %}

| Field        | Type     | Required | Description  |
| ------------ | -------- | -------- | ------------ |
| **reason**   | `string` | `false`  | Fail reason. |
| {% endtab %} |          |          |              |

{% tab title="Request" %}

```javascript
{
  "reason": "Invalid IBAN."
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "9800.00000000",
    "assetCode": "eur",
    "code": "bank:wire",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": {
      "month": "03",
      "year": "2020"
    }
    "description": "Salary",
    "destinationAddress": null,
    "destinationWalletId": null,
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "failReason": "Invalid IBAN.",
      "transactionData": {
        "bankAddress": "Tussen Meer 375C, 1069 DR Amsterdam",
        "bankName": "IGN",
        "country": "Netherlands",
        "iban": "NL64INGB8219153XXX",
        "swiftCode": "INGBNL2AXXX"
      }
    },
    "originAddress": null,
    "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd",
    "status": "processing",
    "type": "withdrawal",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/:id/reject`

> `POST` <https://api.slyk.i&#x6F;**/transactions/:id/reject>\*\*

Rejects the `transaction` of the given `id`.

{% hint style="info" %}
Its only possible to reject transactions that are `pending`.
{% endhint %}

{% tabs %}
{% tab title="Request Parameters" %}

| Field        | Type     | Required | Description    |
| ------------ | -------- | -------- | -------------- |
| **reason**   | `string` | `false`  | Reject reason. |
| {% endtab %} |          |          |                |

{% tab title="Request" %}

```javascript
{
  "reason": "Wrong amount."
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "9800.00000000",
    "assetCode": "eur",
    "code": "bank:wire",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": {
      "month": "03",
      "year": "2020"
    }
    "description": "Salary",
    "destinationAddress": null,
    "destinationWalletId": null,
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "rejectedReason": "Wrong amount.",
      "transactionData": {
        "bankAddress": "Tussen Meer 375C, 1069 DR Amsterdam",
        "bankName": "IGN",
        "country": "Netherlands",
        "iban": "NL64INGB8219153XXX",
        "swiftCode": "INGBNL2AXXX"
      }
    },
    "originAddress": null,
    "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd",
    "status": "rejected",
    "type": "withdrawal",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/deposit`

> `POST` <https://api.slyk.i&#x6F;**/transactions/deposit>\*\*

Creates a new `deposit` transaction.

{% tabs %}
{% tab title="Request Parameters" %}

| Field                   | Type      | Required | Description                                                                                                                         |
| ----------------------- | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **amount**              | `string`  | `true`   | Transacted amount.                                                                                                                  |
| **assetCode**           | `string`  | `true`   | Code of the asset being transacted.                                                                                                 |
| **code**                | `string`  | `true`   | Defines through which `feature` and `method` the assets will be deposited (more information below).                                 |
| **commit**              | `boolean` | `false`  | Transaction is created already as `processing`. Only available for `crypto`, `bank` and `internal` code features. Default: `false`. |
| **customData**          | `object`  | `false`  | Stores any additional information the user may provide.                                                                             |
| **data**                | `object`  | `true`   | May contain necessary data for the payment gateway. The information required in this field depends on the provided `code` `method`. |
| **description**         | `string`  | `false`  | A free text field.                                                                                                                  |
| **destinationAddress**  | `string`  | `false`  | Destination address.                                                                                                                |
| **destinationWalletId** | `string`  | `true`   | ID of the wallet where the assets are being deposited. Format: `uuid`.                                                              |
| **externalReference**   | `string`  | `false`  | External reference.                                                                                                                 |
| {% endtab %}            |           |          |                                                                                                                                     |

{% tab title="Codes" %}

| Feature      | Methods                | Example          |
| ------------ | ---------------------- | ---------------- |
| `apm`        | `paypal`               | `apm:paypal`     |
| `bank`       | `wire`                 | `bank:wire`      |
| `card`       | `stripe`               | `card:stripe`    |
| `crypto`     | `coinbase`, `ethereum` | `crypto:bitcoin` |
| `internal`   | -                      | `internal`       |
| {% endtab %} |                        |                  |

{% tab title="Request" %}

```javascript
{
  "amount": "20",
  "assetCode": "USD",
  "code": "apm:paypal",
  "customData": { "foo": "bar" },
  "data": { "description": "paypal payment" },
  "description": "Some description",
  "destinationAddress": "foo",
  "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac"
}
```

{% endtab %}

{% tab title="Response" %}

* **`apm:paypal`** example:

```javascript
{
  "data": {
    "amount": "20.00000000",
    "assetCode": "USD",
    "code": "apm:paypal",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": { "foo": "bar" },
    "description": "Some description",
    "destinationAddress": "foo",
    "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac",
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "gatewayResponse": {
        "id": "0fbe6d55-5b83-4bfb-97b3-53b9ef9d4957",
        "metadata": {
          "amount": "20.00000000",
          "..."
        },
        "..."
      },
      "paymentMethod": "paypal"
    },
    "originAddress": null,
    "originWalletId": null,
    "status": "pending",
    "type": "deposit",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

* **`bank:wire`** example:&#x20;

```javascript
{
  "data": {
    "amount": "20.00000000",
    "assetCode": "EUR",
    "code": "bank:wire",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": { "foo": "bar" },
    "description": "Some description",
    "destinationAddress": "foo",
    "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac",
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {},
    "originAddress": null,
    "originWalletId": null,
    "status": "pending",
    "type": "deposit",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

* **`card:stripe`** example:

```javascript
{
  "data": {
    "amount": "20.00000000",
    "assetCode": "USD",
    "code": "card:stripe",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": { "foo": "bar" },
    "description": "Some description",
    "destinationAddress": "foo",
    "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac",
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "gatewayResponse": {
        "id": "0fbe6d55-5b83-4bfb-97b3-53b9ef9d4957",
        "metadata": {
          "amount": "20.00000000",
          "..."
        },
        "..."
      },
      "paymentMethod": "stripe"
    },
    "originAddress": null,
    "originWalletId": null,
    "status": "pending",
    "type": "deposit",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

* **`internal`** example:

```javascript
{
  "data": {
    "amount": "100.00000000",
    "assetCode": "SLK",
    "code": "internal",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": { "foo": "bar" },
    "description": "Some description",
    "destinationAddress": "foo",
    "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac",
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {},
    "originAddress": null,
    "originWalletId": null,
    "status": "pending",
    "type": "deposit",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

{% endtab %}
{% endtabs %}

### **`POST /transactions/pay`**

> `POST` <https://api.slyk.i&#x6F;**/transactions/pay>\*\*

Creates a new `transfer` transaction with the code set to `pay` and set the `defaultWalletId` as the  `destinationWalletId`.

{% tabs %}
{% tab title="Request Parameters" %}

| Name               | Type     | Required | Description                                                        |
| ------------------ | -------- | -------- | ------------------------------------------------------------------ |
| **amount**         | `string` | `true`   | Transacted amount.                                                 |
| **assetCode**      | `string` | `true`   | Code of the asset being transacted.                                |
| **customData**     | `object` | `false`  | Stores any additional information the user may provide.            |
| **description**    | `string` | `false`  | A free text field.                                                 |
| **originWalletId** | `string` | `true`   | ID of the wallet from where the assets are coming. Format: `uuid`. |
| {% endtab %}       |          |          |                                                                    |

{% tab title="Request" %}

```javascript
{
  "amount": "30",
  "assetCode": "usd",
  "customData": { 
    "month": "03",
    "year": "2020"
  },
  "description": "Monthly Fee",
  "originWalletId": "97821ce5-bfc7-4185-b263-3233d97b95ec"
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "30.00000000",
    "assetCode": "usd",
    "code": "pay",
    "createdAt": "2019-02-04T18:59:58.168Z",
    "customData": { 
      "month": "03",
      "year": "2020"
    },
    "description": "Monthly Fee",
    "destinationAddress": null,
    "destinationWalletId": "9afa8a2d-023a-4040-b591-c03077f43d23",
    "externalId": null,
    "id": "5f054ed2-7374-460f-800d-4e82f4e03d24",
    "metadata": {},
    "originAddress": null,
    "originWalletId": "97821ce5-bfc7-4185-b263-3233d97b95ec",
    "status": "pending",
    "type": "transfer",
    "updatedAt": "2019-02-04T18:59:58.168Z"
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/transfer`

> `POST` <https://api.slyk.i&#x6F;**/transactions/transfer>\*\*

Creates a new `transfer` transaction.

{% tabs %}
{% tab title="Request Parameters" %}

| Field                   | Type      | Required | Description                                                                 |
| ----------------------- | --------- | -------- | --------------------------------------------------------------------------- |
| **amount**              | `string`  | `true`   | Transacted amount.                                                          |
| **assetCode**           | `string`  | `true`   | Code of the asset being transacted.                                         |
| **code**                | `string`  | `true`   | Defines through which `feature` and `method` the assets will be transfered. |
| **commit**              | `boolean` | `false`  | Confirms the transaction on creation. Default: `false`.                     |
| **customData**          | `object`  | `false`  | Stores any additional information the user may provide.                     |
| **description**         | `string`  | `false`  | A free text field.                                                          |
| **destinationAddress**  | `string`  | `false`  | Destination address.                                                        |
| **destinationWalletId** | `string`  | `true`   | ID of the wallet where the assets are being deposited. Format: `uuid`.      |
| **externalReference**   | `string`  | `false`  | External Reference.                                                         |
| **originAddress**       | `string`  | `false`  | Origin address.                                                             |
| **originWalletId**      | `string`  | `true`   | ID of the wallet from where the assets are coming. Format: `uuid`.          |
| {% endtab %}            |           |          |                                                                             |

{% tab title="Codes" %}

| Feature      | Methods | Example    |
| ------------ | :-----: | ---------- |
| `internal`   |    -    | `internal` |
| {% endtab %} |         |            |

{% tab title="Request" %}

```javascript
{
  "amount": "7.33",
  "assetCode": "usd",
  "code": "internal",
  "commit": true,
  "customData": { 
    "pizzaPrice": "21.99",
    "groupSize": "3"
  },
  "description": "Soccer night",
  "destinationAddress": "plugh",
  "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac",
  "originAddress": "thud",
  "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd"
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "7.33000000",
    "assetCode": "usd",
    "code": "internal",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": { 
      "pizzaPrice": "21.99",
      "groupSize": "3"
    },
    "description": "Soccer night",
    "destinationAddress": "plugh",
    "destinationWalletId": "7eb44aff-bb08-4374-856c-98f297324dac",
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {},
    "originAddress": "thud",
    "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd",
    "status": "pending",
    "type": "transfer",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

{% endtab %}
{% endtabs %}

### `POST /transactions/withdrawal`

> `POST` <https://api.slyk.i&#x6F;**/transactions/withdrawal>\*\*

Creates a new `withdrawal` transaction.

{% tabs %}
{% tab title="Request Parameters" %}

<table data-header-hidden><thead><tr><th>Field</th><th width="201">Type</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td>Field</td><td>Type</td><td>Required</td><td>Description</td></tr><tr><td><strong>amount</strong></td><td><code>string</code></td><td><code>true</code></td><td>Transacted amount.</td></tr><tr><td><strong>assetCode</strong></td><td><code>string</code></td><td><code>true</code></td><td>Code of the asset being transacted.</td></tr><tr><td><strong>code</strong></td><td><code>enum&#x3C;string></code></td><td><code>true</code></td><td>Defines through which <code>feature</code> and <code>method</code> the assets will be withdrawn (there are more informations about it following this table).</td></tr><tr><td><strong>commit</strong></td><td><code>boolean</code></td><td><code>false</code></td><td>Transaction is created already as <code>processing</code>. Only available for <code>crypto</code>, <code>bank</code> and <code>internal</code> code features. Default: <code>false</code>.</td></tr><tr><td><strong>customData</strong></td><td><code>object</code></td><td><code>false</code></td><td>Stores any additional information the user may provide.</td></tr><tr><td><strong>description</strong></td><td><code>string</code></td><td><code>false</code></td><td>A free text field.</td></tr><tr><td><strong>externalReference</strong></td><td><code>string</code></td><td><code>false</code></td><td>External Reference.</td></tr><tr><td><strong>originAddress</strong></td><td><code>string</code></td><td><code>false</code></td><td>Origin address.</td></tr><tr><td><strong>originWalletId</strong></td><td><code>string</code></td><td><code>true</code></td><td>ID of the wallet from where the assets are coming. Format: <code>uuid</code>.</td></tr></tbody></table>
{% endtab %}

{% tab title="Codes" %}

| Feature      | Methods | Example     |
| ------------ | :-----: | ----------- |
| `bank`       |  `wire` | `bank:wire` |
| `internal`   |    -    | `internal`  |
| {% endtab %} |         |             |

{% tab title="Request" %}

```javascript
{
  "amount": "9800",
  "assetCode": "eur",
  "code": "bank:wire",
  "customData": {
    "month": "03",
    "year": "2020"
  }
  "data": {
    "bankAddress": "Tussen Meer 375C, 1069 DR Amsterdam",
    "bankName": "IGN",
    "country": "Netherlands",
    "iban": "NL64INGB8219153XXX",
    "swiftCode": "INGBNL2AXXX"
  },
  "description": "Salary",
  "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd"
}
```

{% endtab %}

{% tab title="Response" %}

```javascript
{
  "data": {
    "amount": "9800.00000000",
    "assetCode": "eur",
    "code": "bank:wire",
    "createdAt": "2019-07-20T14:30:37.483Z",
    "customData": {
      "month": "03",
      "year": "2020"
    }
    "description": "Salary",
    "destinationAddress": null,
    "destinationWalletId": null,
    "externalId": null,
    "externalReference": null,
    "id": "35589275-5db3-4b99-88cc-0bbdaa94ae8f",
    "metadata": {
      "transactionData": {
        "bankAddress": "Tussen Meer 375C, 1069 DR Amsterdam",
        "bankName": "IGN",
        "country": "Netherlands",
        "iban": "NL64INGB8219153XXX",
        "swiftCode": "INGBNL2AXXX"
      }
    },
    "originAddress": null,
    "originWalletId": "167d4b2b-5607-47d1-b54a-fb9036bf40dd",
    "status": "pending",
    "type": "withdrawal",
    "updatedAt": "2019-07-20T14:30:37.483Z"
  }
}
```

{% endtab %}
{% endtabs %}


---

# 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://developers.slyk.io/slyk/reference/endpoints/transaction.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.
