Management API

The Synqly Management APIs enable you to manage the resources within your Synqly organization, such as setting up Accounts for your customers and creating Integrations to connect your product to the different service Providers supported by Synqly.

For more information see the Synqly Overview.

Download OpenAPI description
Languages
Servers
Synqly
https://api.synqly.com/

Accounts

Accounts under your Organization are used to manage Integrations, Credentials, and other account specific resources. Accounts are secure containers and may be used to represent tenants in your system. Data is never shared across accounts.

For more information on Accounts, see the Synqly Overview.

Operations

List Accounts

Request

Returns a list of all Account objects. For more information on Organizations and Accounts, refer to our Synqly Overview.

Query
limitinteger or null

Number of Account objects to return in this page. Defaults to 100.

start_afterstring or null

Return Account objects starting after this name.

orderArray of strings or null

Select a field to order the results by. Defaults to name. To control the direction of the sorting, append [asc] or [desc] to the field name. For example, name[desc] will sort the results by name in descending order. The ordering defaults to asc if not specified. May be used multiple times to order by multiple fields, and the ordering is applied in the order the fields are specified.

filterArray of strings or null

Filter results by this query. For more information on filtering, refer to our Filtering Guide. Defaults to no filter. If used more than once, the queries are ANDed together.

totalboolean or null

Return total number of accounts in the system, respecting all applied filters. This is expensive, use sparingly.

curl -i -X GET \
  'https://api.synqly.com/v1/accounts?filter=string&limit=0&order=string&start_after=string&total=true' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
resultArray of objects(Account)required
result[].​idstring(Id)required
result[].​fullnamestringrequired

Human friendly display name for this account.

result[].​organization_idstring(Id)required
result[].​environmentstring(Environment)required
Enum"test""prod"
result[].​namestringrequired

Human-readable name for this resource

result[].​created_atstring(date-time)required

Time object was originally created

result[].​updated_atstring(date-time)required

Last time object was updated

result[].​labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

totalinteger or null
Response
application/json
{ "result": [ {} ], "total": 0 }

Create Account

Request

Creates an Account object. For more information on Organizations and Accounts, refer to our Synqly Overview.

Bodyapplication/jsonrequired
namestring or null

Unique short name for this Account (lowercase [a-z0-9_-], can be used in URLs). Also used for case insensitive duplicate name detection and default sort order. Defaults to AccountId if both name and fullname are not specified.

fullnamestring or null

Human friendly display name for this Account, will auto-generate 'name' field (if 'name' is not specified). Defaults to the same value as the 'name' field if not specified.

environmentstring(Environment)
Enum"test""prod"
labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

curl -i -X POST \
  https://api.synqly.com/v1/accounts \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "fullname": "string",
    "environment": "test",
    "labels": [
      "string"
    ]
  }'

Responses

Bodyapplication/json
resultobject(CreateAccountResponseResult)required
result.​accountobject(Account)required
result.​account.​idstring(Id)required
result.​account.​fullnamestringrequired

Human friendly display name for this account.

result.​account.​organization_idstring(Id)required
result.​account.​environmentstring(Environment)required
Enum"test""prod"
result.​account.​namestringrequired

Human-readable name for this resource

result.​account.​created_atstring(date-time)required

Time object was originally created

result.​account.​updated_atstring(date-time)required

Last time object was updated

result.​account.​labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

Response
application/json
{ "result": { "account": {} } }

Get Account

Request

Returns the Account object matching {accountId}. For more information on Organizations and Accounts, refer to our Synqly Overview.

Path
accountIdstring(Id)required
curl -i -X GET \
  'https://api.synqly.com/v1/accounts/{accountId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
resultobject(Account)required
result.​idstring(Id)required
result.​fullnamestringrequired

Human friendly display name for this account.

result.​organization_idstring(Id)required
result.​environmentstring(Environment)required
Enum"test""prod"
result.​namestringrequired

Human-readable name for this resource

result.​created_atstring(date-time)required

Time object was originally created

result.​updated_atstring(date-time)required

Last time object was updated

result.​labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

Response
application/json
{ "result": { "id": "string", "fullname": "string", "organization_id": "string", "environment": "test", "labels": [], "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Update Account

Request

Updates the Account object matching {accountId}. For more information on Organizations and Accounts, refer to our Synqly Overview.

Path
accountIdstring(Id)required
Bodyapplication/jsonrequired
idstring(Id)required
fullnamestringrequired

Human friendly display name for this account.

organization_idstring(Id)required
environmentstring(Environment)required
Enum"test""prod"
namestringrequired

Human-readable name for this resource

created_atstring(date-time)required

Time object was originally created

updated_atstring(date-time)required

Last time object was updated

labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

curl -i -X PUT \
  'https://api.synqly.com/v1/accounts/{accountId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "string",
    "fullname": "string",
    "organization_id": "string",
    "environment": "test",
    "labels": [
      "string"
    ],
    "name": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }'

Responses

Bodyapplication/json
resultobject(Account)required
result.​idstring(Id)required
result.​fullnamestringrequired

Human friendly display name for this account.

result.​organization_idstring(Id)required
result.​environmentstring(Environment)required
Enum"test""prod"
result.​namestringrequired

Human-readable name for this resource

result.​created_atstring(date-time)required

Time object was originally created

result.​updated_atstring(date-time)required

Last time object was updated

result.​labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

Response
application/json
{ "result": { "id": "string", "fullname": "string", "organization_id": "string", "environment": "test", "labels": [], "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Patch Account

Request

Patches the Account object matching {accountId}. For more information on Organizations and Accounts, refer to our Synqly Overview.

Path
accountIdstring(Id)required
Bodyapplication/jsonrequiredArray [
opstring(PatchOp)required
Enum"add""copy""move""remove""replace""test"
pathstringrequired

The path to the field to update. The path is a JSON Pointer.

fromstring or null

The path to the field to copy from. This is required for copy and move operations.

valueany or null

The value to set the field to. This is required for add, replace and test operations.

]
curl -i -X PATCH \
  'https://api.synqly.com/v1/accounts/{accountId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "op": "add",
      "path": "string",
      "from": "string",
      "value": null
    }
  ]'

Responses

Bodyapplication/json
resultobject(Account)required
result.​idstring(Id)required
result.​fullnamestringrequired

Human friendly display name for this account.

result.​organization_idstring(Id)required
result.​environmentstring(Environment)required
Enum"test""prod"
result.​namestringrequired

Human-readable name for this resource

result.​created_atstring(date-time)required

Time object was originally created

result.​updated_atstring(date-time)required

Last time object was updated

result.​labelsArray of strings or null

User defined labels that apply to this account. These values can be used in role bindings to limit the scope of permissions.

Response
application/json
{ "result": { "id": "string", "fullname": "string", "organization_id": "string", "environment": "test", "labels": [], "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Delete Account

Request

Deletes the Account matching {accountId}. Deleting an Account also deletea all Tokens and Credentials belonging to the Account.

Path
accountIdstring(Id)required
curl -i -X DELETE \
  'https://api.synqly.com/v1/accounts/{accountId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Response
No content

Audit

Operations

Auth

Operations

Bridges

Operations

Capabilities

Operations

Credentials

Operations

Integration Points

An Integration Point describes a class of Integrations, and lets you describe names, allowed providers and other configuration that should apply to integrations associated with the Integration Point.

While an Integration can be created without associating it with an Integration Point, some Synqly features require the use of Integration Points, such as:

  • Connect UI
  • Validating allowed providers
  • Custom data mapping (coming soon)

Integration Points belong to the Organization, and can be associated with Integrations belonging to different Accounts.

For more information on Integration Points, see the Synqly Overview.

Operations

Integrations

An Integration represents the connection to a specific Provider. Once configured, an Integration enables interaction with the target Provider via our unified and normalized Connector APIs.

Each Integration belongs to an Account and may be associated with an Integration Point to provide additional features and configuration.

For more information on Integrations, see the Synqly Overview.

Operations

Members

Operations

Meta

Operations

Operations (In Development)

In Development

This feature is actively being developed. Breaking changes should be expected.

Please contact us before using this feature.

Operations

Organization Webhooks

Operations

Organization

Operations

Permissionset

Operations

Roles

Operations

Status

Operations

Sub Orgs

Operations

Tokens

Operations

Transforms

Operations