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

Audit

Operations

Auth

Operations

Bridges

Operations

Capabilities

Operations

Credentials

Operations

List Credentials

Request

Returns a list of all Credential objects belonging to the Account, Integration, or IntegrationPoint, or OrganizationWebhook matching {ownerId}.

Path
ownerIdstring(Id)required
Query
limitinteger or null

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

start_afterstring or null

Return Credential 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.

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

Responses

Bodyapplication/json
resultArray of objects(CredentialResponse)required
result[].​idstring(Id)required
result[].​owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
result[].​fullnamestringrequired

Human friendly display name for this Credential. Defaults to the same value as the 'name' field if not specified.

result[].​configobject(CredentialConfigNoSecret)required
result[].​config.​typestringrequired
result[].​managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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[].​account_idstring(Id)
result[].​integration_idstring(Id)
result[].​integration_point_idstring(Id)
result[].​organization_webhook_idstring(Id)
result[].​expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

Response
application/json
{ "result": [ {} ] }

Create Credential

Request

Creates a Credential object in the Account, IntegrationPoint, or OrganizationWebhook matching matching {ownerId}. A Credential may only by used by a single Account, Integration, IntegrationPoint or OrganizationWebhook; however, Credential objects can be shared by multiple Integrations within an Account.

Path
ownerIdstring(Id)required
Bodyapplication/jsonrequired
namestring or null

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

fullnamestring or null

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

configAwsCredential (object) or TokenCredential (object) or BasicCredential (object) or SecretCredential (object) or OAuthClientCredential (object) or CredentialConfig (object)(CredentialConfig)
One of:

Base type for all credential types

owner_typestring(OwnerType)
Enum"account""integration""integration_point""organization_webhook"
expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

curl -i -X POST \
  'https://api.synqly.com/v1/credentials/{ownerId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "fullname": "string",
    "config": {
      "type": "aws",
      "access_key_id": "string",
      "secret_access_key": "string",
      "session": "string"
    },
    "owner_type": "account",
    "expires": "2019-08-24T14:15:22Z"
  }'

Responses

Bodyapplication/json
resultobject(CredentialResponse)required

Response object for a Credential

result.​idstring(Id)required
result.​owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
result.​fullnamestringrequired

Human friendly display name for this Credential. Defaults to the same value as the 'name' field if not specified.

result.​configobject(CredentialConfigNoSecret)required
result.​config.​typestringrequired
result.​managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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.​account_idstring(Id)
result.​integration_idstring(Id)
result.​integration_point_idstring(Id)
result.​organization_webhook_idstring(Id)
result.​expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

Response
application/json
{ "result": { "id": "string", "account_id": "string", "integration_id": "string", "integration_point_id": "string", "organization_webhook_id": "string", "owner_type": "account", "fullname": "string", "config": {}, "expires": "2019-08-24T14:15:22Z", "managed": "Managed", "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Get Credential

Request

Returns the Credential object matching {credentialId} where the Credential belongs to the Account, Integration, IntegrationPoint or OrganizationWebhook matching {ownerId}.

Path
ownerIdstring(Id)required
credentialIdstring(Id)required
curl -i -X GET \
  'https://api.synqly.com/v1/credentials/{ownerId}/{credentialId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
resultobject(CredentialResponse)required

Response object for a Credential

result.​idstring(Id)required
result.​owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
result.​fullnamestringrequired

Human friendly display name for this Credential. Defaults to the same value as the 'name' field if not specified.

result.​configobject(CredentialConfigNoSecret)required
result.​config.​typestringrequired
result.​managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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.​account_idstring(Id)
result.​integration_idstring(Id)
result.​integration_point_idstring(Id)
result.​organization_webhook_idstring(Id)
result.​expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

Response
application/json
{ "result": { "id": "string", "account_id": "string", "integration_id": "string", "integration_point_id": "string", "organization_webhook_id": "string", "owner_type": "account", "fullname": "string", "config": {}, "expires": "2019-08-24T14:15:22Z", "managed": "Managed", "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Update Credential

Request

Updates the Credential object matching {credentialId}, where the Credential belongs to the Account, Integration, IntegrationPoint or OrganizationWebhook matching {ownerId}.

Path
ownerIdstring(Id)required
credentialIdstring(Id)required
Bodyapplication/jsonrequired
idstring(Id)required
owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
fullnamestringrequired

Human friendly display name for this Credential

managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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

account_idstring(Id)
integration_idstring(Id)
integration_point_idstring(Id)
organization_webhook_idstring(Id)
configAwsCredential (object) or TokenCredential (object) or BasicCredential (object) or SecretCredential (object) or OAuthClientCredential (object) or CredentialConfig (object)(CredentialConfig)
One of:

Base type for all credential types

expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

curl -i -X PUT \
  'https://api.synqly.com/v1/credentials/{ownerId}/{credentialId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "string",
    "account_id": "string",
    "integration_id": "string",
    "integration_point_id": "string",
    "organization_webhook_id": "string",
    "owner_type": "account",
    "fullname": "string",
    "config": {
      "type": "aws",
      "access_key_id": "string",
      "secret_access_key": "string",
      "session": "string"
    },
    "expires": "2019-08-24T14:15:22Z",
    "managed": "Managed",
    "name": "string",
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z"
  }'

Responses

Bodyapplication/json
resultobject(CredentialResponse)required

Response object for a Credential

result.​idstring(Id)required
result.​owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
result.​fullnamestringrequired

Human friendly display name for this Credential. Defaults to the same value as the 'name' field if not specified.

result.​configobject(CredentialConfigNoSecret)required
result.​config.​typestringrequired
result.​managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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.​account_idstring(Id)
result.​integration_idstring(Id)
result.​integration_point_idstring(Id)
result.​organization_webhook_idstring(Id)
result.​expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

Response
application/json
{ "result": { "id": "string", "account_id": "string", "integration_id": "string", "integration_point_id": "string", "organization_webhook_id": "string", "owner_type": "account", "fullname": "string", "config": {}, "expires": "2019-08-24T14:15:22Z", "managed": "Managed", "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Patch Credential

Request

Patches the Credential object matching {credentialId}, where the Credential belongs to the Account, Integration, IntegrationPoint or OrganizationWebhook matching {ownerId}.

Path
ownerIdstring(Id)required
credentialIdstring(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/credentials/{ownerId}/{credentialId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "op": "add",
      "path": "string",
      "from": "string",
      "value": null
    }
  ]'

Responses

Bodyapplication/json
resultobject(CredentialResponse)required

Response object for a Credential

result.​idstring(Id)required
result.​owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
result.​fullnamestringrequired

Human friendly display name for this Credential. Defaults to the same value as the 'name' field if not specified.

result.​configobject(CredentialConfigNoSecret)required
result.​config.​typestringrequired
result.​managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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.​account_idstring(Id)
result.​integration_idstring(Id)
result.​integration_point_idstring(Id)
result.​organization_webhook_idstring(Id)
result.​expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

Response
application/json
{ "result": { "id": "string", "account_id": "string", "integration_id": "string", "integration_point_id": "string", "organization_webhook_id": "string", "owner_type": "account", "fullname": "string", "config": {}, "expires": "2019-08-24T14:15:22Z", "managed": "Managed", "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

Delete Credential

Request

Deletes the Credential object matching {credentialId}, where the Credential belongs to the Account, Integration, IntegrationPoint or OrganizationWebhook matching {ownerId}.

Path
ownerIdstring(Id)required
credentialIdstring(Id)required
curl -i -X DELETE \
  'https://api.synqly.com/v1/credentials/{ownerId}/{credentialId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Response
No content

Lookup Credential

Request

Returns the Credential object matching {credentialId}.

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

Responses

Bodyapplication/json
resultobject(CredentialResponse)required

Response object for a Credential

result.​idstring(Id)required
result.​owner_typestring(OwnerType)required
Enum"account""integration""integration_point""organization_webhook"
result.​fullnamestringrequired

Human friendly display name for this Credential. Defaults to the same value as the 'name' field if not specified.

result.​configobject(CredentialConfigNoSecret)required
result.​config.​typestringrequired
result.​managedstring(ManagedType)required
Enum"Managed""Unmanaged"
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.​account_idstring(Id)
result.​integration_idstring(Id)
result.​integration_point_idstring(Id)
result.​organization_webhook_idstring(Id)
result.​expiresstring or null(date-time)

Time when this credential expires and can no longer be used again.

Response
application/json
{ "result": { "id": "string", "account_id": "string", "integration_id": "string", "integration_point_id": "string", "organization_webhook_id": "string", "owner_type": "account", "fullname": "string", "config": {}, "expires": "2019-08-24T14:15:22Z", "managed": "Managed", "name": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" } }

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