Galeva (1.1)

Download OpenAPI specification:Download

The Galeva API is organized around REST. The JSON requests and responses should be fairly intuitive and easy to use. Download the OpenAPI specification and import into http://editor.swagger.io/ to generate SDKs in your language of choice. Download the Postman Collection and import into Postman to test the Galeva API.

Login

post /login
https://api.galeva.com/v1.0/login

Login to your Galeva instance as a user. You will receive an accesstoken with which you will authenticate all other APIs.

Request Body schema: application/x-www-form-urlencoded

Login with username and password

email
string
password
string

Responses

200

OK

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "email": "peter@galeva.com",
  • "firstname": "Peter",
  • "lastname": "Joy",
  • "role": "8",
  • "assignedroles":
    [
    • "8"
    ],
  • "dateformat": "DD-MON-YYYY",
  • "accesstoken": "Gbd32z783i5j7bvTh",
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Logout

post /logout
https://api.galeva.com/v1.0/logout

Logout from current user. Logging out from the app and the API are equivalent.

header Parameters
Authorization
required
string

accesstoken

Content-Type
required
string

application/x-www-form-urlencoded

Responses

200

OK

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Password

put /password
https://api.galeva.com/v1.0/password

Update the password of a user.

header Parameters
Content-Type
required
string

application/x-www-form-urlencoded

Request Body schema: application/x-www-form-urlencoded

Updated password object

email
string
password
string
newPassword
string

Responses

200

OK

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Entity Definition

get /entity/definition
https://api.galeva.com/v1.0/entity/definition

Retrieve the definiton of an entity including attribute list and attribute parameters. Create entity definition in the app at https://app.galeva.com

query Parameters
entity
required
string
Example: entity=CUSTOMER

Entity Name

header Parameters
Authorization
required
string

accesstoken

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "entity": "CUSTOMER",
  • "attributes":
    [
    • "CUSTOMER_ID",
    • "FIRSTNAME",
    • "LASTNAME"
    ],
  • "definition":
    {
    • "CUSTOMER_ID":
      {
      • "canBeNull": false,
      • "dataType": "number",
      • "unique": false,
      • "idColumn": true
      },
    • "FIRSTNAME":
      {
      • "canBeNull": false,
      • "dataType": "string",
      • "unique": false,
      • "idColumn": false
      },
    • "LASTNAME":
      {
      • "canBeNull": false,
      • "dataType": "string",
      • "unique": false,
      • "idColumn": false
      }
    },
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Create Row

post /row
https://api.galeva.com/v1.0/row

Create a row in an entity.

header Parameters
Authorization
required
string

accesstoken

Content-Type
required
string

application/json

Request Body schema: application/json

Create a row with values for every attribute in the entity.

entity
string
row
object

Responses

201

Created

400

Bad Request

401

Unauthorized

500

Internal Server Error

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "entity": "CUSTOMER",
  • "row":
    {
    • "firstname": "Mike",
    • "lastname": "Johnson",
    • "email": "mikejohnson@email.com",
    • "address":
      [
      • 35,
      • 36
      ]
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "statuscode": 201,
  • "status": "Created",
  • "message": "Success",
  • "rowid": "56"
}

Retrieve Row

get /row
https://api.galeva.com/v1.0/row

Retrieve values of a row from the specified attributes.

query Parameters
entity
required
string
Example: entity=ADDRESS

Entity Name

rowid
required
integer
Example: rowid=34

Row ID

attributes
required
string
Example: attributes=*

Attribute Names

header Parameters
Authorization
required
string

accesstoken

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "row":
    {
    • "ADDRESS_ID": "34",
    • "STREET": "3600 Scheffer Ave",
    • "CITY": "St. Paul",
    • "STATE": "MN",
    • "ZIP": "55116"
    },
  • "entity": "ADDRESS",
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Update Row

put /row
https://api.galeva.com/v1.0/row

Update one or more values in a row.

header Parameters
Authorization
required
string

accesstoken

Content-Type
required
string

application/json

Request Body schema: application/json

Update attribute values of a row to new values

entity
string
rowid
integer
row
object

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "entity": "ADDRESS",
  • "rowid": 34,
  • "row":
    {
    • "STREET":
      {
      • "oldvalue": "3600 Scheffer Ave S",
      • "newvalue": "4580 Fridley St"
      },
    • "CITY":
      {
      • "oldvalue": "St. Paul",
      • "newvalue": "Minneapolis"
      },
    • "ZIP":
      {
      • "oldvalue": 55116,
      • "newvalue": 55432
      }
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Delete Row

delete /row
https://api.galeva.com/v1.0/row

Delete a row.

query Parameters
entity
required
string
Example: entity=CUSTOMER

Entity name

rowid
required
integer
Example: rowid=23

Row ID

header Parameters
Authorization
required
string

accesstoken

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Slice Rows

post /rows/slice
https://api.galeva.com/v1.0/rows/slice

Execute complex database queries involving multiple entities, attributes, joins, and filters. Attribute type operators: 1. STRING =, <>, LIKE, NOT LIKE, IN, NOT IN 2. NUMBER =, <>, <, <=, >, >=, IN, NOT IN, BETWEEN 3. DATE with formats DD, MON, DD-MON, DD-YYYY: =,<> 4. DATE with all other supported formats: =, <>, <, <=, >, >=, BETWEEN

header Parameters
Authorization
required
string

accesstoken

Content-Type
required
string

application/json

Request Body schema: application/json

Enter column names, filter conditions, join conditions, and number of rows.

attributes
object
filters
object
join
Array of strings
rowcount
integer

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "attributes":
    {
    • "CUSTOMER":
      [
      • "FIRSTNAME",
      • "LASTNAME"
      ],
    • "ADDRESS":
      [
      • "STREET",
      • "CITY",
      • "STATE",
      • "ZIP"
      ]
    },
  • "filters":
    {
    • "CUSTOMER":
      {
      • "FIRSTNAME":
        {
        • "condition": "=",
        • "value": "Mike"
        },
      • "LASTNAME":
        {
        • "condition": "=",
        • "value": "Johnson"
        }
      },
    • "ADDRESS":
      {
      • "STATE":
        {
        • "condition": "=",
        • "value": "MN"
        }
      }
    },
  • "join":
    [
    • "CUSTOMER",
    • "inner",
    • "ADDRESS"
    ],
  • "rowcount": 50
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "rowcount": 2,
  • "rows":
    [
    • [
      • "CUSTOMER_ID",
      • "FIRSTNAME",
      • "LASTNAME",
      • "ADDRESS_ID",
      • "STREET",
      • "CITY",
      • "STATE",
      • "ZIP"
      ],
    • [
      • "547",
      • "Mike",
      • "Johnson",
      • "398",
      • "3645 Scheffer Ave",
      • "St. Paul",
      • "MN",
      • "55016"
      ],
    • [
      • "832",
      • "Mike",
      • "Johnson",
      • "701",
      • "6312 Fridley St",
      • "Minneapolis",
      • "MN",
      • "55432"
      ]
    ],
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Page Rows

get /rows/page
https://api.galeva.com/v1.0/rows/page

Execute database queries involving a single entity. Returns 20 rows at a time based on a filter against at most one attribute. Easily page through data by passing N (next) and P (previous) parameters. Attribute type operators: 1. STRING =, <>, LIKE, NOT LIKE, IN, NOT IN 2. NUMBER =, <>, <, <=, >, >=, IN, NOT IN, BETWEEN 3. DATE with formats DD, MON, DD-MON, DD-YYYY: =,<> 4. DATE with all other supported formats: =, <>, <, <=, >, >=, BETWEEN

query Parameters
entity
required
string
Example: entity=CUSTOMER

Entity name

filter
string
Example: filter=FIRSTNAME = Mike

Filter conditions

from
required
integer
Example: from=240

Row ID from which rows should be retrieved. F = First page. L = Last page. N35 = 20 rows after the 35th row. P43 = 20 rows prior to the 43rd row.

header
required
string
Example: header=N

Y = include entity definition. N = do not include entity definition.

header Parameters
Authorization
required
string

accesstoken

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "rows":
    [
    • [
      • "43",
      • "Mike",
      • "Johnson",
      • "mikejohnson@gmail.com"
      ],
    • [
      • "290",
      • "Mike",
      • "Warren",
      • "mikewarren@yahoo.com"
      ],
    • [
      • "413",
      • "Mike",
      • "Stockton",
      • "stocktonm@mikesphoto.com"
      ],
    • [
      • "420",
      • "Mike",
      • "Dogg",
      • "mikedogg@mikedogg.com"
      ]
    ],
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Create Set

post /rows/set
https://api.galeva.com/v1.0/rows/set

Intended for batch processing large numbers of rows. Execute complex database queries involving multiple entities, attributes, joins, and filters. GET /rows/set will retrieve rows in batches. Attribute type operators: 1. STRING =, <>, LIKE, NOT LIKE, IN, NOT IN 2. NUMBER =, <>, <, <=, >, >=, IN, NOT IN, BETWEEN 3. DATE with formats DD, MON, DD-MON, DD-YYYY: =,<> 4. DATE with all other supported formats: =, <>, <, <=, >, >=, BETWEEN

header Parameters
Authorization
required
string

accesstoken

Content-Type
required
string

application/json

Request Body schema: application/json

Enter attribute names, filter conditions, join conditions, and number of rows.

attributes
object
filters
object
join
Array of strings

Responses

201

Set Created

400

Bad Request

401

Unauthorized

500

Internal Server Error

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "attributes":
    {
    • "CUSTOMER":
      [
      • "FIRSTNAME",
      • "LASTNAME"
      ],
    • "ADDRESS":
      [
      • "STREET",
      • "CITY",
      • "STATE",
      • "ZIP"
      ]
    },
  • "filters":
    {
    • "ADDRESS":
      {
      • "STATE":
        {
        • "condition": "=",
        • "value": "MN"
        }
      }
    },
  • "join":
    [
    • "CUSTOMER",
    • "inner",
    • "ADDRESS"
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "rowcount": 32911,
  • "dataId": 29348293847928376,
  • "statuscode": 201,
  • "status": "Created",
  • "message": "Set Created. Pass dataId into GET /rows/set."
}

Retrieve Set

get /rows/set
https://api.galeva.com/v1.0/rows/set

Retrieve the results of a created set.

query Parameters
batchsize
required
string
Example: batchsize=4

Batch size

dataId
required
integer
Example: dataId=29348293847928376

dataId received as response to POST rows/set

from
required
string
Example: from=2500

Position of the total set from which batch must be retrived.

header Parameters
Authorization
required
string

accesstoken

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "rows":
    [
    • [
      • "43",
      • "Mike",
      • "Johnson",
      • "mikejohnson@gmail.com"
      ],
    • [
      • "290",
      • "Mike",
      • "Warren",
      • "mikewarren@yahoo.com"
      ],
    • [
      • "413",
      • "Mike",
      • "Stockton",
      • "stocktonm@mikesphoto.com"
      ],
    • [
      • "420",
      • "Mike",
      • "Dogg",
      • "mikedogg@mikedogg.com"
      ]
    ],
  • "dataId": 29348293847928376,
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Transaction

post /transaction
https://api.galeva.com/v1.0/transaction

Execute an atomic transaction involving multiple operations that must all either succeed together or fail together.

header Parameters
Authorization
required
string

accesstoken

Content-Type
required
string

application/json

Request Body schema: application/json

Enter each operation as objects. Allowed operations are create, update, delete, link, and unlink.

operation number
object

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "1":
    {
    • "operation": "create",
    • "entity": "CUSTOMER",
    • "row":
      {
      • "FIRSTNAME": "Mike",
      • "LASTNAME": "Johnson",
      • "EMAIL": "mikejohnson@gmail.com"
      }
    },
  • "2":
    {
    • "operation": "update",
    • "entity": "ADDRESS",
    • "rowid": 34,
    • "row":
      {
      • "STREET":
        {
        • "oldvalue": "3600 Scheffer Ave S",
        • "newvalue": "4580 Fridley St"
        },
      • "CITY":
        {
        • "oldvalue": "St. Paul",
        • "newvalue": "Minneapolis"
        },
      • "ZIP":
        {
        • "oldvalue": 55116,
        • "newvalue": 55432
        }
      }
    },
  • "3":
    {
    • "operation": "delete",
    • "entity": "ADDRESS",
    • "rowid":
      [
      • 49,
      • 50
      ]
    },
  • "4":
    {
    • "operation": "link",
    • "entity1": "CUSTOMER",
    • "rowid1": 76,
    • "entity2": "ORDERS",
    • "rowids2":
      [
      • 4564,
      • 8786,
      • 1323
      ]
    },
  • "5":
    {
    • "operation": "unlink",
    • "entity1": "CUSTOMER",
    • "rowid1": 76,
    • "entity2": "ORDERS",
    • "rowids2":
      [
      • 6786,
      • 1934,
      • 5874
      ]
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}

Relation Definition

get /relation/definition
https://api.galeva.com/v1.0/relation/definition

Retrieve the definition of the relation between two entities. Relation definition is created in the app: https://app.galeva.com

query Parameters
entity1
required
string
Example: entity1=CUSTOMER

Entity Name

entity2
required
string
Example: entity2=ADDRESS

Entity Name

header Parameters
Authorization
required
string

accesstoken

Responses

200

OK

400

Bad Request

401

Unauthorized

500

Internal Server Error

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "entity1": "CUSTOMER",
  • "entity2": "ADDRESS",
  • "relation": "1:M",
  • "unlinkAllowed": true,
  • "mandatory": false,
  • "statuscode": 200,
  • "status": "OK",
  • "message": "Success"
}