Slyk
  • Introduction
  • Understanding Slyk
    • Before you Start
    • Core Concepts
    • Funding/Withdrawal Methods
  • Developing with Slyk
    • Step-by-step development guide
      • Authentication
      • Wallet
      • Catalog
      • Checkout (coming soon)
      • Growth tools (coming soon)
    • SDKs
      • Server SDK (Node.js)
        • Methods
      • Third party SDK's
  • API Reference
    • Using your API Key
    • Endpoints
      • Wallet
      • Transaction
      • Address
      • Asset
      • Rate
      • PaymentMethod
      • Movement
      • User
      • Invite
      • Category
      • Order
      • Product
      • Question
      • Task
      • TaxRate
    • Webhooks
      • Store
      • Transaction
      • User
    • Models
  • Setup Guides
    • PayPal Configuration
      • Verifying webhook
      • Webhook configuration
    • Stripe Configuration
      • Verifying endpoints
    • Coinbase Configuration
Powered by GitBook
On this page
  • Module endpoints
  • GET /transactions
  • GET /transactions/:id
  • POST /transactions/:id/approve
  • POST /transactions/:id/confirm
  • POST /transactions/:id/fail
  • POST /transactions/:id/reject
  • POST /transactions/deposit
  • POST /transactions/pay
  • POST /transactions/transfer
  • POST /transactions/withdrawal

Was this helpful?

  1. API Reference
  2. Endpoints

Transaction

PreviousWalletNextAddress

Last updated 6 months ago

Was this helpful?

Module endpoints

GET /transactions

GET https://api.slyk.io/transactions

Retrieves a paginated list of transactions.

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

The description filter performs a SQL query using the like operator.

The walletId filter will return any transaction where its set as destinationWalletId or originWalletId.

Name

Example

amount

sort=amount sort=-amount

createdAt

sort=createdAt sort=-createdAt

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

{
  "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
}

GET /transactions/:id

GET https://api.slyk.io/transactions/:id

Retrieves the transactions of the given id.

{
  "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"
  }
}

POST /transactions/:id/approve

POST https://api.slyk.io/transactions/:id/approve

Approves the transaction of the given id.

Its only possible to approve transactions that are pending.

{
  "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"
  }
  }
}

POST /transactions/:id/confirm

POST https://api.slyk.io/transactions/:id/confirm

Confirms the transaction of the given id.

{
  "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"
  }
}

POST /transactions/:id/fail

POST https://api.slyk.io/transactions/:id/fail

Fails the transaction of the given id.

Field

Type

Required

Description

reason

string

false

Fail reason.

{
  "reason": "Invalid IBAN."
}
{
  "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"
  }
  }
}

POST /transactions/:id/reject

POST https://api.slyk.io/transactions/:id/reject

Rejects the transaction of the given id.

Its only possible to reject transactions that are pending.

Field

Type

Required

Description

reason

string

false

Reject reason.

{
  "reason": "Wrong amount."
}
{
  "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"
  }
}

POST /transactions/deposit

POST https://api.slyk.io/transactions/deposit

Creates a new deposit transaction.

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.

Feature

Methods

Example

apm

paypal

apm:paypal

bank

wire

bank:wire

card

stripe

card:stripe

crypto

coinbase, ethereum

crypto:bitcoin

internal

-

internal

{
  "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"
}
  • apm:paypal example:

{
  "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:

{
  "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:

{
  "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:

{
  "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"
  }
}

POST /transactions/pay

POST https://api.slyk.io/transactions/pay

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

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.

{
  "amount": "30",
  "assetCode": "usd",
  "customData": { 
    "month": "03",
    "year": "2020"
  },
  "description": "Monthly Fee",
  "originWalletId": "97821ce5-bfc7-4185-b263-3233d97b95ec"
}
{
  "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"
  }
}

POST /transactions/transfer

POST https://api.slyk.io/transactions/transfer

Creates a new transfer transaction.

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.

Feature

Methods

Example

internal

-

internal

{
  "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"
}
{
  "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"
  }
}

POST /transactions/withdrawal

POST https://api.slyk.io/transactions/withdrawal

Creates a new withdrawal transaction.

Field

Type

Required

Description

amount

string

true

Transacted amount.

assetCode

string

true

Code of the asset being transacted.

code

enum<string>

true

Defines through which feature and method the assets will be withdrawn (there are more informations about it following this table).

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.

description

string

false

A free text field.

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.

Feature

Methods

Example

bank

wire

bank:wire

internal

-

internal

{
  "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"
}
{
  "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"
  }
}
GET /transactions
GET /transactions/:id
POST /transactions/:id/approve
POST /transactions/:id/confirm
POST /transactions/:id/fail
POST /transactions/:id/reject
POST /transactions/deposit
POST /transactions/pay
POST /transactions/transfer
POST /transactions/withdrawal