Syllo Admin API (1.0.31.2)

Download OpenAPI specification:Download

Introduction

When used behind another backend, as a proxy, Syllo provides following benefits:

  • Syllo abstraction layer enables the backend to use the same API methods and data structure for several diferent vendors
  • Syllo will aggregate data from multiple vendors and proxy it in a generalized format back to the backend
  • The transaction parsing service in Syllo parses the realtime transaction data and proxies it back to the backend
  • The Syllo's event service notifies the backend when any asynchronous action happens
  • The Syllo's database stores data in a PCI compliant manner
  • If needed, Syllo exposes direct access to vendor services by proxying the request from the backend to the vendor directly. A secure secrets storage is used in order to store API keys and other credentials to avoid having them transferred between the customer's backend and the Syllo

Glossary

Term Description
KYC Know Your Customer - a set of verification procedures used to verify identity of a customer before any financial service is offered to them.
P2P Peer2Peer payments - internal payments done between two or more participants of the same platform

Authentication

The Syllo API authenticates users by using username-password credentials and issuing an access token. Access token should be sent in headers of all subsequent calls:

Authoroziation: Bearer {access_token}

bearer

Security Scheme Type HTTP
HTTP Authorization Scheme bearer
Bearer format "JWT"

Response structure

All responses received from the Syllo API comply to a specific structure:

{
  "code": number,
  "success": boolean,
  "errors": Error[]
  "data": Map<string, object>
}
  • code

    Code field represent status of the response. For successful responses the code is always 200.

  • success

    Success boolean field returns status of the operation.

  • data

    Data object returns actual data returned by the API.

  • errors

    Errors key stores all errors which happened during the execution of the request. Usually empty array ([]) for successful API calls.

Error structure

All erros are implementing following data structure:

{
  "message": string,
  "code": number,
  "name": string,
  "payload": Map<string, object>|null
}
  • message

    A user-readable message.

  • code

    Code representing an error.

  • name

    Textual representation of the error, eg "INVALID_USERNAME_OR_PASSWORD"

  • payload

    If required, error can contain some payload which may help with identifying the offending field or pinpointing the exact issue.

Pagination

If API needs to return paginated data, following structure is used:

{
  "success": boolean,
  "data": {
    "items": [],
    "meta": {
      "itemCount": number,
      "totalItems": number,
      "itemsPerPage": number,
      "totalPages": number,
      "currentPage": number
    }
  }
}

Session

Contains routes for logging in and out.

Login

Authenticates the user.

header Parameters
User-Agent
required
string
Enum: "ANDROID" "APPLE" "WEB" "UNRECOGNIZED"
X-Device-Os
required
string
Enum: "ANDROID" "APPLE" "WEB" "UNRECOGNIZED"
X-Real-IP
required
string
Request Body schema: application/json
password
required
string
rememberMe
required
boolean
username
required
string

Responses

Request samples

Content type
application/json
{
  • "username": "user1@syllo.io",
  • "password": "string",
  • "rememberMe": true
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": {
    }
}

Logout

Logs the user out of the system.

Authorizations:
header Parameters
authorization
required
string
X-Real-IP
required
string
Request Body schema: application/json
logoutTrigger
required
string
Enum: "manual" "automatic"

Responses

Request samples

Content type
application/json
{
  • "logoutTrigger": "manual"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": {
    }
}

Organisation

Contains endpoints for organisation management.

Organisation Unit

Contains endpoints for organisation unit management

Organisation Role

Contains endpoints for organisation roles management.

User

Operate on users.

UserController_getUser

Gets all users from the system.

Authorizations:
query Parameters
limit
required
string
page
required
string
value
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": [
    ],
  • "pagination": {
    }
}

UserController_deleteUser

Remove a user from the system.

Authorizations:
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

UserController_marketingConsent

Configuration of the marketing settings for the user.

Authorizations:
Request Body schema: application/json
marketingConsent
required
boolean
userId
required
string

Responses

Request samples

Content type
application/json
{
  • "userId": "string",
  • "marketingConsent": true
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

UserController_changeKycStatus

  Change the statuse of the user in order to further define his available actions.
  - VERIFIED - can proceed with the flow, as the identification was successfuly finished.
  - UNVERIFIED - to be defined.
  - REJECTED - should be blocked from proceeding the flow, as the identification was not successful.
  - VERIFICATION_IN_PROGRESS - the identification is still pending, the flow should be blocked paused untill the process is finished.
  - PENDING_FRONTEND_VERIFICATION - to be defined.
Authorizations:
path Parameters
id
required
string
Request Body schema: application/json
kycStatus
required
string
Enum: "PENDING_FRONTEND_VERIFICATION" "VERIFIED" "UNVERIFIED" "REJECTED" "VERIFICATION_IN_PROGRESS" "UNRECOGNIZED"

Responses

Request samples

Content type
application/json
{
  • "kycStatus": "PENDING_FRONTEND_VERIFICATION"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

UserController_userStatusChange

  Change the statuse of the user in order to further define his available actions.
  - DISABLED - to be defined.
  - ACTIVE - to be defined.
  - UNVERIFIED - to be defined.
  - INCOMPLETE - to be defined.
Authorizations:
path Parameters
id
required
string
Request Body schema: application/json
userStatus
required
string
Enum: "INCOMPLETE" "UNVERIFIED" "ACTIVE" "DISABLED" "DELETED" "CLOSED" "UNRECOGNIZED"

Responses

Request samples

Content type
application/json
{
  • "userStatus": "INCOMPLETE"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

Account

Admin account routes.

AccountAdminController_list

Gets all accounts from the system.

Authorizations:
query Parameters
limit
string
page
required
string
value
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": [
    ],
  • "pagination": {
    }
}

Payment Device

Admin payment Device routes.

Get Payment Devices

Gets all payment devices from the system.

Authorizations:
query Parameters
limit
string
page
required
string
value
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": [
    ],
  • "pagination": {
    }
}

Lock Payment Device

Locks Payment Device by Payment Device ID.

Authorizations:
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": {
    }
}

Unlock Payment Device

Unlocks Payment Device by Payment Device ID.

Authorizations:
path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": {
    }
}

transactions

Transaction routes releated to admin management.

Return transactions

Returns Accounts chart data

Authorizations:
query Parameters
limit
required
string
page
required
string
value
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": [
    ],
  • "pagination": {
    }
}

Reports

System report endpoints.

ReportController_getReports

Download report of users affected by marketing consent changes in the last day.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "code": 403,
  • "success": false,
  • "errors": [
    ],
  • "data": { }
}

Dictionary

List Dicionaries

Lists all disctionaries.

Authorizations:
query Parameters
limit
string
page
required
string
value
string

Responses

Response samples

Content type
application/json
{ }

Create dictionary

Create an dictionary.

Authorizations:
Request Body schema: application/json
name
required
string
scope
string
visibility
required
string
Default: "PUBLIC"
Enum: "PUBLIC" "PRIVATE" "UNRECOGNIZED"

Type of visibility.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "visibility": "PUBLIC",
  • "scope": "string"
}

Response samples

Content type
application/json
{ }

Update dictionary

Updates dictionary.

Authorizations:
Request Body schema: application/json
id
required
string
name
string
scope
string
visibility
string
Enum: "PUBLIC" "PRIVATE" "UNRECOGNIZED"

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "scope": "string",
  • "visibility": "PUBLIC"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

Delete dictionary

Deletes dictionary.

Authorizations:
Request Body schema: application/json
id
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

Return dictionary item

Returns dictionary item by slug.

Authorizations:
path Parameters
slug
required
string

Responses

Response samples

Content type
application/json
{ }

Create dictionary item

Creates dicionary item by slug.

Authorizations:
path Parameters
slug
required
string
Request Body schema: application/json
name
required
string
ordering
number
Default: 1
value
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "ordering": 1,
  • "value": "string"
}

Response samples

Content type
application/json
{ }

Update dictionary item

Updates dictionary item by slug and ID.

Authorizations:
path Parameters
id
required
string
slug
required
string
Request Body schema: application/json
name
string
ordering
number
value
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "ordering": 0,
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}

Delete dictionary item

Deletes dictionary item by slug and ID.

Authorizations:
path Parameters
id
required
string
slug
required
string

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "success": true,
  • "errors": [ ],
  • "data": { }
}