Nexla Rest API (v1)
The Nexla API is a REST-ful API used to easily create and manage resources in Nexla in ways that best fit any use case. It can be used to configure and monitor data flows for different data-integration use cases and to perform all aspects of data engineering automation offered by the Nexla platform.
The Nexla API supports all data flow-creation and -management actions in the platform, as well as administrative user- and organization-level account-management tasks. Note that all other client packages, such as the Nexla CLI and Nexla UI, also connect to the overall Nexla infrastructure through the Nexla API.
The API references in this document lists all API endpoints and the corresponding payloads.
Check out the API Developer Guides to view guides and tutorials for recommended use cases for different endpoints.
The API uses JSON for all data exchanges.
You should specify the API version that should be used in the Accept header of each request. For example, to access Version 1 of the API, the Accept header should be the following:
Accept: application/vnd.nexla.api.v1+json
The Nexla API also supports a generic version header, which will default your access to the latest version of the data source/destination API.
Accept: application/json
Most Nexla API endpoints require Bearer Token
authentication mechanism for making an authenticated request to the API. While this token can be generated programmatically outside Nexla UI by starting a session with an api_key
, unless unavoidable, we recommend starting your session from the Nexla UI and using the Nexla Session Token
from the Nexla UI as the Authorization header for calls to the Nexla API.
NexlaSessionToken
The first step in calling the Nexla API or Nexla CLI is to fetch a Session access token by logging on to your Nexla UI instance. This ensures that your authentication is performed through your organization's preferred Identity Provider.
To fetch an access token from the Nexla UI, simply go to your Nexla UI instance, and try the route /token
. For example, if your Nexla UI instance is at https://dataops.nexla.io
, open https://dataops.nexla.io/token
in the browser.
This will automatically route you to a login page, ask you to authenticate using your preferred Identity Provider, and, upon successful authentication, route you to a page where you can copy the Access Token.
Usage format: Bearer <JWT>
.
Bearer
NexlaApiKeyQuery
Important: Never share your API keys. Keep them guarded and secure. If you think the key has been compromised, you can rotate the API key by calling relevant API Key management endpoints.
The platform generates a unique API key for this resource. Add the API key as a query parameter to authenticate this request.
Usage: ?api_key=<api-key>
api_key
NexlaApiKeyHeader
Important: Never share your API keys. Keep them guarded and secure. If you think the key has been compromised, you can rotate the API key by calling relevant API Key management endpoints.
The platform generates a unique API key for this resource. Add the API key as an authorization header to authenticate this request.
Usage format: Basic <api-key>
Basic
Operations for managing your Nexla session programmatically.
Note: Unless unavoidable, we recommend starting your session from the Nexla UI and using the
Nexla Session Token
from the Nexla UI as the Authorization header for calls to the Nexla API.
Login with Basic Authentication
Use this endpoint for authentication if your organization allows basic authentication. A successful authentication attempt will result in an access_token
that can be used to make authenticated requests to other API endpoints. The access_token
automatically expires after a fixed duration, but you can also call the /logout
endpoint to invalidate the access token at the end of your session.
Nexla supports various methods of authentication, including Basic (email/password), Google SSO, and custom SAML- or OIDC-based SSO. One or more of these methods might be allowed in any organization, depending on the configuration chosen by the administrators. Instead of using this endpoint to start a session programmatically, we recommend performing authentication through the Nexla UI and using the Nexla Session Token (available in Tools >> Nexla Session Token) to connect to the API programmatically.
Note: A user might belong to multiple organizations. This method initiates an authenticated session in their default organization.
Authorizations:
Responses
Response samples
- 200
{- "access_token": "string",
- "token_type": "Bearer",
- "expires_in": 0,
- "user": {
- "id": 0,
- "full_name": "string",
- "email": "string",
- "org": 0,
- "impersonated": true,
- "impersonator": {
- "id": 0,
- "full_name": "string",
- "email": "string",
- "email_verified_at": "2019-08-24T14:15:22Z",
- "org": 0
}
}, - "org_membership": {
- "api_key": "string",
- "status": "ACTIVE",
- "is_admin?": true
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": "string",
- "client_identifier": "string",
- "org_webhook_host": "string"
}
}
Get All Flows
Returns all flows accessible to the authenticated user.
Authorizations:
query Parameters
flows_only | integer Value: 1 By default, flows responses include sub-lists of the resources included in the |
page | integer Add this parameter to a resource fetch request to fetch a specific page of data. |
per_page | integer Add this parameter to a resource fetch request to set the number of items that should be returned in each request. |
access_role | string Enum: "collaborator" "operator" "admin" "owner" Add this query parameter to a request to view resources for which the authenticated user has permission.
|
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Get Flow by ID
Returns a flow object if a valid flow ID is provided.
Authorizations:
path Parameters
flow_id required | integer The unique ID of the flow that needs to be fetched. |
query Parameters
flows_only | integer Value: 1 By default, flows responses include sub-lists of the resources included in the |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Delete a Flow
Deletes a flow from your Nexla account.
Authorizations:
path Parameters
flow_id required | integer The unique ID of the flow that needs to be deleted. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "code": "string",
- "message": "string"
}
Activate a Flow
To activate the entire flow, use either the origin_node_id
from any data source, set or sink in the flow, or include the ?all=1 or ?full_tree=1 query parameter.
Note:
All endpoints for activating or pausing a flow operate on the specific resource given and all of the flow nodes downstream from that resource. This allows for pausing and activating sub-flows while leaving the rest of the flow state unchanged.
You can also activate a flow by using the id of the
data_source
/data_set
/data_sink
that the flow node is linked to. See relevant endpoints in the API references for those resources.
Authorizations:
path Parameters
flow_id required | integer The unique ID of the flow that needs to be activated. |
all | integer Value: 1 Set this query parameter if the flow node ID you are making a call with is not an origin flow node but you want to activate the full flow chain. Not necessary if the flow node is an origin flow node. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Pause a Flow
To pause the entire flow, use either the origin_node_id
from any data source, set or sink in the flow, or include the ?all=1 or ?full_tree=1 query parameter.
Note:
All endpoints for activating or pausing a flow operate on the specific resource given and all of the flow nodes downstream from that resource. This allows for pausing and activating sub-flows while leaving the rest of the flow state unchanged.
You can also pause a flow by using the id of the
data_source
/data_set
/data_sink
that the flow node is linked to. See relevant endpoints in the API references for those resources.
Authorizations:
path Parameters
flow_id required | integer The unique ID of the flow that needs to be paused. |
all | integer Value: 1 Set this query parameter if the flow node ID you are making a call with is not an origin flow node but you want to pause the full flow chain. Not necessary if the flow node is an origin flow node. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Copy a Flow
Use this endpoint to create a copy of an existing flow.
Authorizations:
path Parameters
flow_id required | integer The unique ID of the flow that needs to be paused. |
Request Body schema: application/vnd.nexla.api.v1+json
reuse_data_credentials | boolean Set this to |
copy_access_controls | boolean Set this to |
copy_dependent_data_flows | boolean This is relevant for flows where one or more destinations have sources as their children. Set this to |
owner_id | integer The default API behavior is to create the new flow in the account of the authenticated user making this call. Set this property if you want a different user to be the owner of the new flow. |
org_id | integer The default API behavior is to create the new flow in the org that the authenticated user making this call belongs to. Set this property if you want the flow to be created in a different org. |
Responses
Request samples
- Payload
{- "reuse_data_credentials": true,
- "copy_access_controls": true,
- "copy_dependent_data_flows": true,
- "owner_id": 0,
- "org_id": 0
}
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Get Flow (by Resourcce ID)
Returns a flow object if a valid resource type and resource ID is provided.
Note: This is a variant of flow endpoints where the flow node can referenced not by its own ID, but by the ID of the unique resource that is linked to that flow node.
Authorizations:
path Parameters
resource_type required | string Enum: "data_sources" "data_sinks" "data_sets" The type of node linked to the flow you want to reference. For ex, set this to |
resource_id required | integer The unique id of the resource whose flow you want to reference. For ex, set this to id of the |
query Parameters
flows_only | integer Value: 1 By default, flows responses include sub-lists of the resources included in the |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Delete a Flow (by Resourcce ID)
Deletes a flow from your Nexla account.
Note: This is a variant of flow endpoints where the flow node can referenced not by its own ID, but by the ID of the unique resource that is linked to that flow node.
Authorizations:
path Parameters
resource_type required | string Enum: "data_sources" "data_sinks" "data_sets" The type of node linked to the flow you want to reference. For ex, set this to |
resource_id required | integer The unique id of the resource whose flow you want to reference. For ex, set this to id of the |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "code": "string",
- "message": "string"
}
Activate a Flow (with Resource ID)
To activate the entire flow include the ?all=1 or ?full_tree=1 query parameter.
Note:
- All endpoints for activating or pausing a flow operate on the specific resource given and all of the flow nodes downstream from that resource. This allows for pausing and activating sub-flows while leaving the rest of the flow state unchanged.
- This is a variant of flow endpoints where the flow node can referenced not by its own ID, but by the ID of the unique resource that is linked to that flow node.
Authorizations:
path Parameters
resource_type required | string Enum: "data_sources" "data_sinks" "data_sets" The type of node linked to the flow you want to reference. For ex, set this to |
resource_id required | integer The unique id of the resource whose flow you want to reference. For ex, set this to id of the |
all | integer Value: 1 Set this query parameter if the resource ID you are making a call with is not an origin flow node but you want to activate the full flow chain. Not necessary if the flow node is an origin flow node. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Pause a Flow (with Resource ID)
To pause the entire flow include the entire flow include the ?all=1 or ?full_tree=1 query parameter.
Note:
All endpoints for activating or pausing a flow operate on the specific resource given and all of the flow nodes downstream from that resource. This allows for pausing and activating sub-flows while leaving the rest of the flow state unchanged.
This is a variant of flow endpoints where the flow node can referenced not by its own ID, but by the ID of the unique resource that is linked to that flow node.
Authorizations:
path Parameters
resource_type required | string Enum: "data_sources" "data_sinks" "data_sets" The type of node linked to the flow you want to reference. For ex, set this to |
resource_id required | integer The unique id of the resource whose flow you want to reference. For ex, set this to id of the |
all | integer Value: 1 Set this query parameter if the flow node ID you are making a call with is not an origin flow node but you want to pause the full flow chain. Not necessary if the flow node is an origin flow node. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "flows": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "shared_origin_node_id": 0,
- "status": "string",
- "project_id": 0,
- "flow_type": "string",
- "ingestion_mode": "string",
- "name": "string",
- "description": "string",
- "children": [
- {
- "id": 0,
- "parent_node_id": 0,
- "origin_node_id": 0,
- "data_source_id": 0,
- "data_set_id": 0,
- "data_sink_id": 0,
- "children": [ ]
}
]
}
], - "code_containers": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "data_credentials_id": null,
- "public": true,
- "managed": true,
- "reusable": true,
- "resource_type": "string",
- "output_type": "string",
- "code_type": "string",
- "code_encoding": "string",
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sources": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_sink_id": 0,
- "auto_generated": true,
- "managed": true,
- "source_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "parent_data_set_id": 0,
- "code_container_id": 0,
- "data_sink_ids": [ ],
- "public": true,
- "managed": true,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "flow_node_id": 0,
- "origin_node_id": 0,
- "name": "string",
- "description": null,
- "status": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "data_source_id": 0,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connection_type": "string",
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_credentials": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": null,
- "credentials_type": "string",
- "verified_status": "string",
- "managed": true,
- "template_config": { },
- "vendor": null,
- "access_roles": [ ],
- "tags": [ ],
- "copied_from_id": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "shared_data_sets": [ ],
- "orgs": [
- {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}
], - "users": [
- {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}
], - "projects": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "access_roles": [ ]
}
]
}
Get All Sources
Returns all data sources accessible to the authenticated user.
Authorizations:
query Parameters
access_role | string Enum: "collaborator" "operator" "admin" "owner" Add this query parameter to a request to view resources for which the authenticated user has permission.
|
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
[- {
- "id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "ingest_method": "string",
- "source_format": "string",
- "managed": true,
- "code_container_id": 0,
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "access_roles": [
- "owner"
], - "auto_generated": true,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "data_sets": [ ],
- "tags": [ ],
- "flow_type": "string",
- "run_ids": [ ],
- "has_template": true,
- "vendor_endpoint": {
- "id": 0,
- "name": "string",
- "display_name": "string"
}, - "vendor": {
- "id": 0,
- "name": "string",
- "display_name": "string",
- "connection_type": "string"
}
}
]
Create a Source
Creates a new data source in the authenticated user's account.
Depending on the type of source you want to create (source_type
), properties like source_config
and data_credentials_id
will require appropriate configuration.
Note:
name
,source_type
,source_config
anddata_credentials_id
are required.
Authorizations:
Request Body schema: application/json
name | string | ||||||||||||||||||||||
description | string | ||||||||||||||||||||||
data_credentials_id | integer Credential ID: Nexla data credential that contains all authentication information for this source. Note that this is not applicable for | ||||||||||||||||||||||
source_type | string Connector Type: Connector codename. | ||||||||||||||||||||||
object | |||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "data_credentials_id": 0,
- "source_type": "as400",
- "source_config": {
- "start.cron": "0 0 22 10 11 ? 2022",
- "db_query_mode": "Default",
- "query": "string",
- "database": "string",
- "table": "string",
- "mode": "none",
- "incrementing.column.name": "string",
- "incrementing.load.from": "string",
- "timestamp.column.name": "string",
- "timestamp.load.from": 0,
- "commit.on.read": "false"
}
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "source_config_property1": "string",
- "source_config_property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Get Source by ID
Returns a source object if a valid ID is provided.
Authorizations:
path Parameters
source_id required | integer The unique ID of the source that needs to be fetched. |
query Parameters
expand | integer Value: 1 Add this parameter to a resource fetch request to receive details about related resources in the response. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "source_config_property1": "string",
- "source_config_property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Update a Source
Updates a data source in the authenticated user's account.
Depending on the type of source you want to update (source_type
), properties like source_config
and data_credentials_id
will require appropriate configuration.
Note: This method does not perform partial updating of
source_config
. The entiresource_config
object will be updated if this is added to the payload.
Authorizations:
path Parameters
source_id required | integer The unique ID of the source that needs to be updated. |
Request Body schema: application/json
name | string | ||||||||||||||||||||||
description | string | ||||||||||||||||||||||
data_credentials_id | integer Credential ID: Nexla data credential that contains all authentication information for this source. Note that this is not applicable for | ||||||||||||||||||||||
source_type | string Connector Type: Connector codename. | ||||||||||||||||||||||
object | |||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "data_credentials_id": 0,
- "source_type": "as400",
- "source_config": {
- "start.cron": "0 0 22 10 11 ? 2022",
- "db_query_mode": "Default",
- "query": "string",
- "database": "string",
- "table": "string",
- "mode": "none",
- "incrementing.column.name": "string",
- "incrementing.load.from": "string",
- "timestamp.column.name": "string",
- "timestamp.load.from": 0,
- "commit.on.read": "false"
}
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "source_config_property1": "string",
- "source_config_property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Delete a Source
Deletes a source from your Nexla account.
Authorizations:
path Parameters
source_id required | string The unique ID of the source that needs to be deleted. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "code": "string",
- "message": "string"
}
Get Source by ID with Expanded References
Returns a source object along with advanced information about associated references if a valid ID is provided.
Authorizations:
path Parameters
source_id required | integer The unique ID of the source that needs to be fetched |
query Parameters
expand | integer Value: 1 Add this parameter to a resource fetch request to receive details about related resources in the response. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "sample_service_id": null,
- "source_schema": {
- "properties": {
- "nexset_attribute_name1": "string",
- "nexset_attribute_name2": "string"
}, - "$schema": "string",
- "$schema-id": 0
}, - "transform": {
- "version": 0,
- "data_maps": [ ],
- "transforms": [ ],
- "custom_config": { }
}, - "output_schema": {
- "properties": {
- "nexset_attribute_name1": "string",
- "nexset_attribute_name2": "string"
}, - "$schema": "string",
- "$schema-id": 0
}
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "property1": "string",
- "property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}
Activate a Source
Activate a paused data source.
Authorizations:
path Parameters
source_id required | integer The unique ID of the source that needs to be activated. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "source_config_property1": "string",
- "source_config_property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Pause a Source
Pause an active data source.
Authorizations:
path Parameters
source_id required | integer The unique ID of the source that needs to be paused. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "source_config_property1": "string",
- "source_config_property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Copy a Source
Use this endpoint to create a copy of an existing flow.
Authorizations:
path Parameters
source_id required | integer The unique ID of the source that needs to be copied. |
Request Body schema: application/vnd.nexla.api.v1+json
reuse_data_credentials | boolean Set this to |
copy_access_controls | boolean Set this to |
owner_id | integer The default API behavior is to create the new source in the account of the authenticated user making this call. Set this property if you want a different user to be the owner of the new source. |
org_id | integer The default API behavior is to create the new source in the org that the authenticated user making this call belongs to. Set this property if you want the source to be created in a different org. |
Responses
Request samples
- Payload
{- "reuse_data_credentials": true,
- "copy_access_controls": true,
- "owner_id": 0,
- "org_id": 0
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_sets": [
- {
- "version": 0,
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "ingest_method": "string",
- "source_format": "string",
- "source_config": {
- "source_config_property1": "string",
- "source_config_property2": "string"
}, - "poll_schedule": null,
- "managed": true,
- "code_container_id": null,
- "source_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "auto_generated": true,
- "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "run_ids": [
- {
- "id": 0,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Operations for managing data sinks. Note that Destinations on the Nexla UI are aliased as data_sinks
in the Nexla API reference model, so all endpoints and responses use the term data_sinks
instead of destinations
.
Get All Sinks
Retrieves all data sinks accessible to the authenticated user.
Authorizations:
query Parameters
access_role | string Enum: "collaborator" "operator" "admin" "owner" Add this query parameter to a request to view resources for which the authenticated user has permission.
|
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
[- {
- "id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "data_set_id": 0,
- "data_map_id": 0,
- "data_source_id": null,
- "sink_format": null,
- "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "copied_from_id": 0,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "access_roles": [
- "owner"
], - "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "data_set": {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "data_map": {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "public": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "tags": [ ],
- "flow_type": "string",
- "has_template": true,
- "vendor_endpoint": {
- "id": 0,
- "name": "string",
- "display_name": "string"
}, - "vendor": {
- "id": 0,
- "name": "string",
- "display_name": "string",
- "connection_type": "string"
}
}
]
Create a Sink
Creates a Nexla data_sink with the specified configuration in your Nexla account.
Note:
name
,data_set_id
,sink_type
,sink_config
anddata_credentials_id
are required.
Authorizations:
Request Body schema: application/json
name | string | ||||||||||||
description | string | ||||||||||||
data_credentials_id | integer Credential ID: Nexla data credential that contains all authentication information for this destination. | ||||||||||||
data_set_id | integer Nexset ID: Set the Nexset ID whose output records will be written out to this destination. | ||||||||||||
sink_type | string Connector Type: Connector codename. | ||||||||||||
create_destination | boolean Create Table In Destination If the desired table doesn't exist in your database, you can instruct Nexla to create a table when this destination is first activated. Default Value: | ||||||||||||
object | |||||||||||||
|
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "sink_type": "as400",
- "create_destination": true,
- "sink_config": {
- "database": "string",
- "table": "string",
- "insert.mode": "INSERT",
- "primary.key": "string",
- "mapping": {
- "mode": "manual",
- "mapping": {
- "nexset_attribute_name1": {
- "db_column_name1": "TINYINT",
- "db_column_name2": "TINYINT"
}, - "nexset_attribute_name2": {
- "db_column_name1": "TINYINT",
- "db_column_name2": "TINYINT"
}
}, - "tracker_mode": "NONE",
- "tracker_name": "string"
}, - "upsert.nulls": true
}
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string"
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Get Sink by ID
Returns a data_sink object if a valid ID is provided.
Authorizations:
path Parameters
sink_id required | integer The unique ID of the sink that needs to be fetched. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string"
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Update Sink
Updates a data_sink object in the authenticated user's account.
Note: This method does not perform partial updating of the
sink_config
object. The entiresink_config
object will be updated if this is added to the payload.
Authorizations:
path Parameters
sink_id required | integer The unique ID of the sink that needs to be fetched. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Request Body schema: application/json
name | string | ||||||||||||
description | string | ||||||||||||
data_credentials_id | integer Credential ID: Nexla data credential that contains all authentication information for this destination. | ||||||||||||
data_set_id | integer Nexset ID: Set the Nexset ID whose output records will be written out to this destination. | ||||||||||||
sink_type | string Connector Type: Connector codename. | ||||||||||||
create_destination | boolean Create Table In Destination If the desired table doesn't exist in your database, you can instruct Nexla to create a table when this destination is first activated. Default Value: | ||||||||||||
object | |||||||||||||
|
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "data_credentials_id": 0,
- "data_set_id": 0,
- "sink_type": "as400",
- "create_destination": true,
- "sink_config": {
- "database": "string",
- "table": "string",
- "insert.mode": "INSERT",
- "primary.key": "string",
- "mapping": {
- "mode": "manual",
- "mapping": {
- "nexset_attribute_name1": {
- "db_column_name1": "TINYINT",
- "db_column_name2": "TINYINT"
}, - "nexset_attribute_name2": {
- "db_column_name1": "TINYINT",
- "db_column_name2": "TINYINT"
}
}, - "tracker_mode": "NONE",
- "tracker_name": "string"
}, - "upsert.nulls": true
}
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string"
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Delete a Sink
Deletes a sink from your Nexla account.
Authorizations:
path Parameters
sink_id required | string The unique ID of the sink that needs to be deleted. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "code": "string",
- "message": "string"
}
Get Sink by ID with Expanded References
Returns a data_sink object along with advanced information about associated references if a valid ID is provided.
Authorizations:
path Parameters
sink_id required | integer The unique ID of the sink that needs to be fetched. |
query Parameters
expand | integer Value: 1 Add this parameter to a resource fetch request to receive details about related resources in the response. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string",
- "description": "string",
- "output_schema": {
- "properties": {
- "nexset_attribute_name1": "string",
- "nexset_attribute_name2": "string"
}, - "$schema": "string",
- "$schema-id": 0
}, - "status": "string",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "version": 0
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}
Activate a Sink
Activate a paused data sink.
Authorizations:
path Parameters
sink_id required | integer The unique ID of the sink that needs to be activated. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string"
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Pause a Sink
Pause an active data sink.
Authorizations:
path Parameters
sink_id required | integer The unique ID of the sink that needs to be paused. |
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string"
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Copy a Sink
Use this endpoint to create a copy of an existing data sink.
Authorizations:
path Parameters
sink_id required | integer The unique ID of the sink that needs to be copied. |
Request Body schema: application/vnd.nexla.api.v1+json
reuse_data_credentials | boolean Set this to |
copy_access_controls | boolean Set this to |
owner_id | integer The default API behavior is to create the new sink in the account of the authenticated user making this call. Set this property if you want a different user to be the owner of the new sink. |
org_id | integer The default API behavior is to create the new sink in the org that the authenticated user making this call belongs to. Set this property if you want the sink to be created in a different org. |
Responses
Request samples
- Payload
{- "reuse_data_credentials": true,
- "copy_access_controls": true,
- "owner_id": 0,
- "org_id": 0
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "name": "string",
- "description": null,
- "status": "string",
- "data_set_id": 0,
- "data_map_id": null,
- "data_source_id": null,
- "sink_format": null,
- "sink_config": {
- "sink_config_property1": "string",
- "sink_config_property2": "string"
}, - "sink_schedule": null,
- "in_memory": true,
- "managed": true,
- "sink_type": "string",
- "connector_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "data_set": {
- "id": 0,
- "name": "string"
}, - "data_credentials": {
- "id": 0,
- "name": "string",
- "description": "string",
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "user@example.com"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": null,
- "client_identifier": null
}, - "access_roles": [
- "owner"
], - "credentials_version": "string",
- "managed": true,
- "credentials_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "api_keys": [ ],
- "credentials_non_secure_data": {
- "credential_property1": "string",
- "credential_property2": "string"
}, - "verified_status": "string",
- "verified_at": "2019-08-24T14:15:22Z",
- "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ]
}, - "copied_from_id": null,
- "updated_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "tags": [ ],
- "flow_type": "string"
}
Operations for managing Nexsets. Note that Nexsets on the Nexla UI are aliased as data_sets
in the Nexla API reference model, so all endpoints and responses use the term data_sets
instead of nexsets
.
Get All Nexsets
Retrieves all Nexsets accessible to the authenticated user.
Authorizations:
query Parameters
access_role | string Enum: "collaborator" "operator" "admin" "owner" Add this query parameter to a request to view resources for which the authenticated user has permission.
|
header Parameters
Accept | string Enum: "application/vnd.nexla.api.v1+json" "application/json" Setting to |
Responses
Response samples
- 200
[- {
- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "string",
- "email_verified_at": "2019-08-24T14:15:22Z"
}, - "org": {
- "id": 0,
- "name": "string",
- "email_domain": "string",
- "email": "string",
- "client_identifier": "string",
- "org_webhook_host": "string"
}, - "name": "string",
- "description": "string",
- "status": "string",
- "data_source_id": 0,
- "data_source": {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "status": "string",
- "source_type": "string",
- "connector": {
- "id": 0,
- "type": "string",
- "connection_type": "string",
- "name": "string",
- "description": "string",
- "nexset_api_compatible": true
}, - "vendor_id": "string"
}, - "parent_data_sets": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "description": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "data_sinks": [
- {
- "id": 0,
- "owner_id": 0,
- "org_id": 0,
- "name": "string",
- "status": "string",
- "sink_type": "string"
}
], - "access_roles": [
- "owner"
], - "transform_id": 0,
- "output_schema": { },
- "copied_from_id": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "tags": [
- "string"
], - "flow_type": "string"
}
]
Create a Nexset
Creates a Nexset from another Nexset.
The endpoint accepts a parent Nexset ID along with all transform and validation rules that should be applied to the parent Nexset.
The two payload variants reflect the following two ways of specifying transform rules:
- Attach the transform code that should be applied: Set
has_custom_transform: false
, and attach atransform
code snippet. - Use the ID of a reusable record transform: Set
has_custom_transform: false
, and attach thetransform_id
of the record transform to be applied.
Authorizations:
Request Body schema: application/vnd.nexla.api.v1+json
has_custom_transform required | boolean Value: false Set this to | ||||||||||
transform | object Transform code that should be applied on the parent Nexset. | ||||||||||
name required | string | ||||||||||
description | string | ||||||||||
parent_data_set_id required | integer Nexset ID of the parent Nexset on which all the rules should be applied for creating this Nexset. | ||||||||||
object You can document details about important Nexset attributes by annotating them with short descriptions. Set descriptions for all such attributes by adding them to this object. Attributes should be added in standard JSON schema path format. You can refer to Nexset's output schema structure for guidance. | |||||||||||
| |||||||||||
output_schema_validation_enabled | boolean Set this to true and attach the relevant Records that fail validation will be routed to the Nexset error queue instead of the Nexset output. | ||||||||||
object You can set JSON Schema validation rules that should be applied on every record of this Nexset. See https://json-schema.org/learn/getting-started-step-by-step.html for guidance on writing JSON schema validation rules. | |||||||||||
| |||||||||||
Array of integers or objects You can choose to attach one or more data sinks to this Nexset. Each data sink will receive the output of this Nexset when the Nexset generates output records. | |||||||||||
Array Any of integer The ID of the data sink. | |||||||||||
custom_config | object
| ||||||||||
tags | Array of strings |
Responses
Request samples
- Payload
{- "has_custom_transform": true,
- "transform_id": 0,
- "name": "string",
- "description": "string",
- "parent_data_set_id": 0,
- "output_schema_annotations": {
- "properties": {
- "nexset_attribute_name1": {
- "description": "string"
}, - "nexset_attribute_name2": {
- "description": "string"
}
}
}, - "output_schema_validation_enabled": true,
- "output_validation_schema": {
- "json_schema_validation_rule1": { },
- "json_schema_validation_rule2": { }
}, - "data_sinks": [
- 0
], - "custom_config": { },
- "tags": [
- "string"
]
}
Response samples
- 200
{- "id": 0,
- "owner": {
- "id": 0,
- "full_name": "string",
- "email": "string",
- "email_verified_at": "2019-08-24T14:15:22Z"
}, - "org": {