nexla_sdk
Nexla Python SDK for data integration and automation.
Classes
AccessRole
Defined in nexla_sdk/models/enums.py:4
Access roles for resources.
Members:
OWNER=ownerADMIN=adminOPERATOR=operatorCOLLABORATOR=collaborator
AuthenticationError
Defined in nexla_sdk/exceptions.py:71
Raised when authentication fails.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
AuthorizationError
Defined in nexla_sdk/exceptions.py:81
Raised when user lacks permission.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
BaseModel
Defined in nexla_sdk/models/base.py:8
Base model class with Pydantic functionality and Nexla API compatibility.
Features:
- Automatically ignores unknown fields from API responses
- Supports both camelCase and snake_case field names
- Handles datetime parsing automatically
- Provides JSON serialization methods
- Validates data types automatically
- Easy logging and printing support
Methods:
to_dict(self, exclude_none: bool = True) -> Dict[str, Any]- Source:
nexla_sdk/models/base.py:40 - Convert model to dictionary.
- Source:
to_json(self, exclude_none: bool = True, indent: int = 2) -> str- Source:
nexla_sdk/models/base.py:52 - Convert model to JSON string.
- Source:
Connector
Defined in nexla_sdk/models/common.py:31
Connector information.
Fields:
id:inttype:strconnection_type:strname:strdescription:strnexset_api_compatible:bool
Methods:
to_dict(self, exclude_none: bool = True) -> Dict[str, Any]- Source:
nexla_sdk/models/base.py:40 - Convert model to dictionary.
- Source:
to_json(self, exclude_none: bool = True, indent: int = 2) -> str- Source:
nexla_sdk/models/base.py:52 - Convert model to JSON string.
- Source:
ConnectorCategory
Defined in nexla_sdk/models/enums.py:85
Connector categories.
Members:
FILE=fileDATABASE=databaseNOSQL=nosqlSTREAMING=streamingAPI=apiVECTOR_DB=vector_dbSPECIAL=special
CredentialError
Defined in nexla_sdk/exceptions.py:114
Raised when credential validation fails.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
CredentialsResource
Defined in nexla_sdk/resources/credentials.py:10
Resource for managing data credentials.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: nexla_sdk.models.credentials.requests.CredentialCreate) -> nexla_sdk.models.credentials.responses.Credential- Source:
nexla_sdk/resources/credentials.py:50 - Create new credential.
- Source:
delete(self, credential_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/credentials.py:75 - Delete credential.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, credential_id: int, expand: bool = False) -> nexla_sdk.models.credentials.responses.Credential- Source:
nexla_sdk/resources/credentials.py:37 - Get single credential by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
list(self, credentials_type: Optional[str] = None, **kwargs) -> List[nexla_sdk.models.credentials.responses.Credential]- Source:
nexla_sdk/resources/credentials.py:18 - List all credentials.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
probe(self, credential_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/credentials.py:87 - Test credential validity.
- Source:
probe_sample(self, credential_id: int, request: nexla_sdk.models.credentials.requests.ProbeSampleRequest) -> nexla_sdk.models.credentials.responses.ProbeSampleResponse- Source:
nexla_sdk/resources/credentials.py:125 - Preview data content accessible by credential.
- Source:
probe_tree(self, credential_id: int, request: nexla_sdk.models.credentials.requests.ProbeTreeRequest) -> nexla_sdk.models.credentials.responses.ProbeTreeResponse- Source:
nexla_sdk/resources/credentials.py:108 - Preview storage structure accessible by credential.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, credential_id: int, data: nexla_sdk.models.credentials.requests.CredentialUpdate) -> nexla_sdk.models.credentials.responses.Credential- Source:
nexla_sdk/resources/credentials.py:62 - Update credential.
- Source:
DestinationsResource
Defined in nexla_sdk/resources/destinations.py:7
Resource for managing destinations (data sinks).
Methods:
activate(self, sink_id: int) -> nexla_sdk.models.destinations.responses.Destination- Source:
nexla_sdk/resources/destinations.py:77 - Activate destination.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, sink_id: int, options: Optional[nexla_sdk.models.destinations.requests.DestinationCopyOptions] = None) -> nexla_sdk.models.destinations.responses.Destination- Source:
nexla_sdk/resources/destinations.py:101 - Copy a destination.
- Source:
create(self, data: nexla_sdk.models.destinations.requests.DestinationCreate) -> nexla_sdk.models.destinations.responses.Destination- Source:
nexla_sdk/resources/destinations.py:40 - Create new destination.
- Source:
delete(self, sink_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/destinations.py:65 - Delete destination.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, sink_id: int, expand: bool = False) -> nexla_sdk.models.destinations.responses.Destination- Source:
nexla_sdk/resources/destinations.py:27 - Get single destination by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
list(self, **kwargs) -> List[nexla_sdk.models.destinations.responses.Destination]- Source:
nexla_sdk/resources/destinations.py:15 - List all destinations.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, sink_id: int) -> nexla_sdk.models.destinations.responses.Destination- Source:
nexla_sdk/resources/destinations.py:89 - Pause destination.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, sink_id: int, data: nexla_sdk.models.destinations.requests.DestinationUpdate) -> nexla_sdk.models.destinations.responses.Destination- Source:
nexla_sdk/resources/destinations.py:52 - Update destination.
- Source:
FlowError
Defined in nexla_sdk/exceptions.py:126
Raised when flow operations fail.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
FlowNode
Defined in nexla_sdk/models/common.py:61
Flow node in a data pipeline.
Fields:
id:intorigin_node_id:intparent_node_id:Optionaldata_source_id:Optionaldata_set_id:Optionaldata_sink_id:Optionalstatus:Optionalproject_id:Optionalflow_type:Optionalingestion_mode:Optionalname:Optionaldescription:Optionalchildren:Optional
Methods:
to_dict(self, exclude_none: bool = True) -> Dict[str, Any]- Source:
nexla_sdk/models/base.py:40 - Convert model to dictionary.
- Source:
to_json(self, exclude_none: bool = True, indent: int = 2) -> str- Source:
nexla_sdk/models/base.py:52 - Convert model to JSON string.
- Source:
FlowsResource
Defined in nexla_sdk/resources/flows.py:7
Resource for managing data flows.
Methods:
activate(self, flow_id: int, all: bool = False) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:75 - Activate a flow.
- Source:
activate_by_resource(self, resource_type: str, resource_id: int, all: bool = False) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:148 - Activate flow by resource ID.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, flow_id: int, options: Optional[nexla_sdk.models.flows.requests.FlowCopyOptions] = None) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:109 - Copy a flow.
- Source:
create(self, data: Union[Dict[str, Any], Any]) -> ~T- Source:
nexla_sdk/resources/base_resource.py:174 - Create new resource.
- Source:
delete(self, flow_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/flows.py:122 - Delete flow.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
delete_by_resource(self, resource_type: str, resource_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/flows.py:134 - Delete flow by resource ID.
- Source:
get(self, flow_id: int, flows_only: bool = False) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:40 - Get flow by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_by_resource(self, resource_type: str, resource_id: int, flows_only: bool = False) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:54 - Get flow by resource ID.
- Source:
list(self, flows_only: bool = False, include_run_metrics: bool = False, **kwargs) -> List[nexla_sdk.models.flows.responses.FlowResponse]- Source:
nexla_sdk/resources/flows.py:15 - List all flows.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, flow_id: int, all: bool = False) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:92 - Pause a flow.
- Source:
pause_by_resource(self, resource_type: str, resource_id: int, all: bool = False) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/flows.py:169 - Pause flow by resource ID.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, resource_id: int, data: Union[Dict[str, Any], Any]) -> ~T- Source:
nexla_sdk/resources/base_resource.py:188 - Update resource.
- Source:
LogEntry
Defined in nexla_sdk/models/common.py:41
Audit log entry.
Fields:
id:intitem_type:stritem_id:intevent:strchange_summary:Listobject_changes:Dictrequest_ip:strrequest_user_agent:strrequest_url:struser:Dictorg_id:intowner_id:intowner_email:strcreated_at:datetimeassociation_resource:Optionalimpersonator_id:Optional
Methods:
to_dict(self, exclude_none: bool = True) -> Dict[str, Any]- Source:
nexla_sdk/models/base.py:40 - Convert model to dictionary.
- Source:
to_json(self, exclude_none: bool = True, indent: int = 2) -> str- Source:
nexla_sdk/models/base.py:52 - Convert model to JSON string.
- Source:
LookupsResource
Defined in nexla_sdk/resources/lookups.py:8
Resource for managing lookups (data maps).
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: nexla_sdk.models.lookups.requests.LookupCreate) -> nexla_sdk.models.lookups.responses.Lookup- Source:
nexla_sdk/resources/lookups.py:41 - Create new lookup.
- Source:
delete(self, data_map_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/lookups.py:66 - Delete lookup.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
delete_entries(self, data_map_id: int, entry_keys: Union[str, List[str]]) -> Dict[str, Any]- Source:
nexla_sdk/resources/lookups.py:119 - Delete specific entries from a lookup.
- Source:
get(self, data_map_id: int, expand: bool = False) -> nexla_sdk.models.lookups.responses.Lookup- Source:
nexla_sdk/resources/lookups.py:28 - Get single lookup by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_entries(self, data_map_id: int, entry_keys: Union[str, List[str]]) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/lookups.py:98 - Get specific entries from a lookup.
- Source:
list(self, **kwargs) -> List[nexla_sdk.models.lookups.responses.Lookup]- Source:
nexla_sdk/resources/lookups.py:16 - List all lookups.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, data_map_id: int, data: nexla_sdk.models.lookups.requests.LookupUpdate) -> nexla_sdk.models.lookups.responses.Lookup- Source:
nexla_sdk/resources/lookups.py:53 - Update lookup.
- Source:
upsert_entries(self, data_map_id: int, entries: List[Dict[str, Any]]) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/lookups.py:78 - Upsert entries in a lookup.
- Source:
MetricsResource
Defined in nexla_sdk/resources/metrics.py:10
Resource for retrieving metrics.
Note: This resource already uses strongly-typed Pydantic models for all return types and doesn't follow standard CRUD patterns, so no additional typed overrides are needed.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: Union[Dict[str, Any], Any]) -> ~T- Source:
nexla_sdk/resources/base_resource.py:174 - Create new resource.
- Source:
delete(self, resource_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/base_resource.py:204 - Delete resource.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, resource_id: int, expand: bool = False) -> ~T- Source:
nexla_sdk/resources/base_resource.py:157 - Get single resource by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_rate_limits(self) -> Dict[str, Any]- Source:
nexla_sdk/resources/metrics.py:86 - Get current rate limit and usage.
- Source:
get_resource_daily_metrics(self, resource_type: nexla_sdk.models.metrics.enums.ResourceType, resource_id: int, from_date: str, to_date: Optional[str] = None) -> nexla_sdk.models.metrics.responses.MetricsResponse- Source:
nexla_sdk/resources/metrics.py:23 - Get daily metrics for a resource.
- Source:
get_resource_metrics_by_run(self, resource_type: nexla_sdk.models.metrics.enums.ResourceType, resource_id: int, groupby: Optional[str] = None, orderby: Optional[str] = None, page: Optional[int] = None, size: Optional[int] = None) -> nexla_sdk.models.metrics.responses.MetricsByRunResponse- Source:
nexla_sdk/resources/metrics.py:51 - Get metrics by run for a resource.
- Source:
list(self, page: Optional[int] = None, per_page: Optional[int] = None, access_role: Optional[str] = None, **params) -> List[~T]- Source:
nexla_sdk/resources/base_resource.py:106 - List resources.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, resource_id: int, data: Union[Dict[str, Any], Any]) -> ~T- Source:
nexla_sdk/resources/base_resource.py:188 - Update resource.
- Source:
NexlaClient
Defined in nexla_sdk/client.py:34
Client for the Nexla API
The Nexla API supports two authentication methods:
-
Service Key Authentication (recommended): Service keys are long-lived credentials created in the Nexla UI. The SDK obtains session tokens using the service key on demand and re-obtains a new token as needed. No refresh endpoint is used.
-
Direct Access Token Authentication: Use a pre-obtained access token directly. These tokens are not refreshed by the SDK.
Examples:
Method 1: Using service key (recommended for automation)
client = NexlaClient(service_key="your-service-key")
Method 2: Using access token directly (manual/short-term use)
client = NexlaClient(access_token="your-access-token")
Using the client (same regardless of authentication method)
flows = client.flows.list()
Note:
- Service keys should be treated as highly sensitive credentials
- Only provide either service_key OR access_token, not both
- When using direct access tokens, ensure they have sufficient lifetime for your operations as they cannot be automatically refreshed
Methods:
get_access_token(self) -> str- Source:
nexla_sdk/client.py:157 - Get a valid access token.
- Source:
refresh_access_token(self) -> str- Source:
nexla_sdk/client.py:179 - Obtain a fresh token and return it.
- Source:
request(self, method: str, path: str, **kwargs) -> Optional[Dict[str, Any]]- Source:
nexla_sdk/client.py:230 - Send a request to the Nexla API
- Source:
NexlaError
Defined in nexla_sdk/exceptions.py:5
Base exception for all Nexla errors.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
NexsetsResource
Defined in nexla_sdk/resources/nexsets.py:7
Resource for managing nexsets (data sets).
Methods:
activate(self, set_id: int) -> nexla_sdk.models.nexsets.responses.Nexset- Source:
nexla_sdk/resources/nexsets.py:77 - Activate nexset.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, set_id: int, options: Optional[nexla_sdk.models.nexsets.requests.NexsetCopyOptions] = None) -> nexla_sdk.models.nexsets.responses.Nexset- Source:
nexla_sdk/resources/nexsets.py:132 - Copy a nexset.
- Source:
create(self, data: nexla_sdk.models.nexsets.requests.NexsetCreate) -> nexla_sdk.models.nexsets.responses.Nexset- Source:
nexla_sdk/resources/nexsets.py:40 - Create new nexset.
- Source:
delete(self, set_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/nexsets.py:65 - Delete nexset.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, set_id: int, expand: bool = False) -> nexla_sdk.models.nexsets.responses.Nexset- Source:
nexla_sdk/resources/nexsets.py:27 - Get single nexset by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_samples(self, set_id: int, count: int = 10, include_metadata: bool = False, live: bool = False) -> List[nexla_sdk.models.nexsets.responses.NexsetSample]- Source:
nexla_sdk/resources/nexsets.py:101 - Get sample records from a nexset.
- Source:
list(self, **kwargs) -> List[nexla_sdk.models.nexsets.responses.Nexset]- Source:
nexla_sdk/resources/nexsets.py:15 - List all nexsets.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, set_id: int) -> nexla_sdk.models.nexsets.responses.Nexset- Source:
nexla_sdk/resources/nexsets.py:89 - Pause nexset.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, set_id: int, data: nexla_sdk.models.nexsets.requests.NexsetUpdate) -> nexla_sdk.models.nexsets.responses.Nexset- Source:
nexla_sdk/resources/nexsets.py:52 - Update nexset.
- Source:
NotFoundError
Defined in nexla_sdk/exceptions.py:86
Raised when a resource is not found.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
NotificationChannel
Defined in nexla_sdk/models/enums.py:53
Notification delivery channels.
Members:
APP=APPEMAIL=EMAILSMS=SMSSLACK=SLACKWEBHOOKS=WEBHOOKS
NotificationLevel
Defined in nexla_sdk/models/enums.py:43
Notification levels.
Members:
DEBUG=DEBUGINFO=INFOWARN=WARNERROR=ERRORRECOVERED=RECOVEREDRESOLVED=RESOLVED
NotificationsResource
Defined in nexla_sdk/resources/notifications.py:13
Resource for managing notifications.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: Union[Dict[str, Any], Any]) -> ~T- Source:
nexla_sdk/resources/base_resource.py:174 - Create new resource.
- Source:
create_channel_setting(self, data: nexla_sdk.models.notifications.requests.NotificationChannelSettingCreate) -> nexla_sdk.models.notifications.responses.NotificationChannelSetting- Source:
nexla_sdk/resources/notifications.py:185 - Create notification channel setting.
- Source:
create_setting(self, data: nexla_sdk.models.notifications.requests.NotificationSettingCreate) -> nexla_sdk.models.notifications.responses.NotificationSetting- Source:
nexla_sdk/resources/notifications.py:271 - Create notification setting.
- Source:
delete(self, notification_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/notifications.py:34 - Delete notification.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
delete_all(self) -> Dict[str, Any]- Source:
nexla_sdk/resources/notifications.py:77 - Delete all notifications.
- Source:
delete_channel_setting(self, setting_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/notifications.py:230 - Delete notification channel setting.
- Source:
delete_setting(self, setting_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/notifications.py:316 - Delete notification setting.
- Source:
get(self, notification_id: int, expand: bool = False) -> nexla_sdk.models.notifications.responses.Notification- Source:
nexla_sdk/resources/notifications.py:21 - Get single notification by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_channel_setting(self, setting_id: int) -> nexla_sdk.models.notifications.responses.NotificationChannelSetting- Source:
nexla_sdk/resources/notifications.py:199 - Get notification channel setting.
- Source:
get_count(self, read: Optional[int] = None) -> nexla_sdk.models.notifications.responses.NotificationCount- Source:
nexla_sdk/resources/notifications.py:87 - Get notification count.
- Source:
get_resource_settings(self, resource_type: str, resource_id: int, expand: bool = False, filter_overridden: bool = False, notification_type_id: Optional[int] = None) -> List[nexla_sdk.models.notifications.responses.NotificationSetting]- Source:
nexla_sdk/resources/notifications.py:347 - Get notification settings for a resource.
- Source:
get_setting(self, setting_id: int) -> nexla_sdk.models.notifications.responses.NotificationSetting- Source:
nexla_sdk/resources/notifications.py:285 - Get notification setting.
- Source:
get_settings_by_type(self, notification_type_id: int, expand: bool = False) -> List[nexla_sdk.models.notifications.responses.NotificationSetting]- Source:
nexla_sdk/resources/notifications.py:329 - Get notification settings for a type.
- Source:
get_type(self, event_type: str, resource_type: str) -> nexla_sdk.models.notifications.responses.NotificationType- Source:
nexla_sdk/resources/notifications.py:154 - Get specific notification type.
- Source:
get_types(self, status: Optional[str] = None) -> List[nexla_sdk.models.notifications.responses.NotificationType]- Source:
nexla_sdk/resources/notifications.py:139 - Get all notification types.
- Source:
list(self, read: Optional[int] = None, level: Optional[str] = None, from_timestamp: Optional[int] = None, to_timestamp: Optional[int] = None, **kwargs) -> List[nexla_sdk.models.notifications.responses.Notification]- Source:
nexla_sdk/resources/notifications.py:46 - List notifications.
- Source:
list_channel_settings(self) -> List[nexla_sdk.models.notifications.responses.NotificationChannelSetting]- Source:
nexla_sdk/resources/notifications.py:174 - List notification channel settings.
- Source:
list_settings(self, event_type: Optional[str] = None, resource_type: Optional[str] = None, status: Optional[str] = None) -> List[nexla_sdk.models.notifications.responses.NotificationSetting]- Source:
nexla_sdk/resources/notifications.py:244 - List notification settings.
- Source:
mark_read(self, notification_ids: Union[List[int], str]) -> Dict[str, Any]- Source:
nexla_sdk/resources/notifications.py:102 - Mark notifications as read.
- Source:
mark_unread(self, notification_ids: Union[List[int], str]) -> Dict[str, Any]- Source:
nexla_sdk/resources/notifications.py:120 - Mark notifications as unread.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, resource_id: int, data: Union[Dict[str, Any], Any]) -> ~T- Source:
nexla_sdk/resources/base_resource.py:188 - Update resource.
- Source:
update_channel_setting(self, setting_id: int, data: nexla_sdk.models.notifications.requests.NotificationChannelSettingUpdate) -> nexla_sdk.models.notifications.responses.NotificationChannelSetting- Source:
nexla_sdk/resources/notifications.py:213 - Update notification channel setting.
- Source:
update_setting(self, setting_id: int, data: nexla_sdk.models.notifications.requests.NotificationSettingUpdate) -> nexla_sdk.models.notifications.responses.NotificationSetting- Source:
nexla_sdk/resources/notifications.py:299 - Update notification setting.
- Source:
OrgMembershipStatus
Defined in nexla_sdk/models/enums.py:79
Organization membership status.
Members:
ACTIVE=ACTIVEDEACTIVATED=DEACTIVATED
Organization
Defined in nexla_sdk/models/organizations/responses.py:19
Organization response model.
Fields:
id:intname:stremail_domain:Optionalaccess_roles:Listowner:Optionalstatus:Optionalmembers_default_access_role:Optionaldefault_reusable_code_container_access_role:Optionalrequire_org_admin_to_publish:Optionalrequire_org_admin_to_subscribe:Optionalenable_nexla_password_login:Optionaldescription:Optionalemail:Optionalclient_identifier:Optionalorg_webhook_host:Optionaldefault_cluster_id:Optionalbilling_owner:Optionaladmins:Listorg_tier:Optionalaccount_tier_display_name:Optionalaccount_tier_name:Optionalemail_domain_verified_at:Optionalname_verified_at:Optionalcreated_at:Optionalupdated_at:Optional
Methods:
to_dict(self, exclude_none: bool = True) -> Dict[str, Any]- Source:
nexla_sdk/models/base.py:40 - Convert model to dictionary.
- Source:
to_json(self, exclude_none: bool = True, indent: int = 2) -> str- Source:
nexla_sdk/models/base.py:52 - Convert model to JSON string.
- Source:
OrganizationsResource
Defined in nexla_sdk/resources/organizations.py:14
Resource for managing organizations.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
activate_members(self, org_id: int, members: nexla_sdk.models.organizations.requests.OrgMemberActivateDeactivateRequest) -> List[nexla_sdk.models.organizations.responses.OrgMember]- Source:
nexla_sdk/resources/organizations.py:157 - Activate members in an organization.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: nexla_sdk.models.organizations.requests.OrganizationCreate) -> nexla_sdk.models.organizations.responses.Organization- Source:
nexla_sdk/resources/organizations.py:47 - Create a new organization. Note: This is an admin-only operation.
- Source:
deactivate_members(self, org_id: int, members: nexla_sdk.models.organizations.requests.OrgMemberActivateDeactivateRequest) -> List[nexla_sdk.models.organizations.responses.OrgMember]- Source:
nexla_sdk/resources/organizations.py:142 - Deactivate members in an organization.
- Source:
delete(self, org_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/organizations.py:72 - Delete organization.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
delete_members(self, org_id: int, members: nexla_sdk.models.organizations.requests.OrgMemberDelete) -> Dict[str, Any]- Source:
nexla_sdk/resources/organizations.py:128 - Remove members from organization.
- Source:
get(self, org_id: int, expand: bool = False) -> nexla_sdk.models.organizations.responses.Organization- Source:
nexla_sdk/resources/organizations.py:34 - Get single organization by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_account_summary(self, org_id: int) -> nexla_sdk.models.organizations.responses.AccountSummary- Source:
nexla_sdk/resources/organizations.py:172 - Get account summary statistics for an organization.
- Source:
get_audit_log(self, org_id: int, **params) -> List[nexla_sdk.models.common.LogEntry]- Source:
nexla_sdk/resources/organizations.py:197 - Get audit log for an organization.
- Source:
get_auth_settings(self, org_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/organizations.py:228 - Get authentication settings for organization.
- Source:
get_current_account_summary(self) -> nexla_sdk.models.organizations.responses.AccountSummary- Source:
nexla_sdk/resources/organizations.py:186 - Get account summary for the current organization based on auth token.
- Source:
get_members(self, org_id: int) -> List[nexla_sdk.models.organizations.responses.OrgMember]- Source:
nexla_sdk/resources/organizations.py:84 - Get all members in organization.
- Source:
get_resource_audit_log(self, org_id: int, resource_type: str, **params) -> List[nexla_sdk.models.common.LogEntry]- Source:
nexla_sdk/resources/organizations.py:212 - Get audit log for a specific resource type within an organization.
- Source:
list(self, **kwargs) -> List[nexla_sdk.models.organizations.responses.Organization]- Source:
nexla_sdk/resources/organizations.py:22 - List all organizations.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
replace_members(self, org_id: int, members: nexla_sdk.models.organizations.requests.OrgMemberList) -> List[nexla_sdk.models.organizations.responses.OrgMember]- Source:
nexla_sdk/resources/organizations.py:113 - Replace all members in organization.
- Source:
update(self, org_id: int, data: nexla_sdk.models.organizations.requests.OrganizationUpdate) -> nexla_sdk.models.organizations.responses.Organization- Source:
nexla_sdk/resources/organizations.py:59 - Update organization.
- Source:
update_auth_setting(self, org_id: int, auth_setting_id: int, enabled: bool) -> Dict[str, Any]- Source:
nexla_sdk/resources/organizations.py:241 - Enable/disable authentication configuration.
- Source:
update_members(self, org_id: int, members: nexla_sdk.models.organizations.requests.OrgMemberList) -> List[nexla_sdk.models.organizations.responses.OrgMember]- Source:
nexla_sdk/resources/organizations.py:98 - Add or update members in organization.
- Source:
Owner
Defined in nexla_sdk/models/common.py:6
User who owns a resource.
Fields:
id:intfull_name:stremail:stremail_verified_at:Optional
Methods:
to_dict(self, exclude_none: bool = True) -> Dict[str, Any]- Source:
nexla_sdk/models/base.py:40 - Convert model to dictionary.
- Source:
to_json(self, exclude_none: bool = True, indent: int = 2) -> str- Source:
nexla_sdk/models/base.py:52 - Convert model to JSON string.
- Source:
ProjectsResource
Defined in nexla_sdk/resources/projects.py:8
Resource for managing projects.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
add_flows(self, project_id: int, flows: nexla_sdk.models.projects.requests.ProjectFlowList) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/projects.py:95 - Add flows to project.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: nexla_sdk.models.projects.requests.ProjectCreate) -> nexla_sdk.models.projects.responses.Project- Source:
nexla_sdk/resources/projects.py:44 - Create new project.
- Source:
delete(self, project_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/projects.py:69 - Delete project.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, project_id: int, expand: bool = False) -> nexla_sdk.models.projects.responses.Project- Source:
nexla_sdk/resources/projects.py:31 - Get single project by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_flows(self, project_id: int) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/projects.py:81 - Get flows in project.
- Source:
list(self, expand: bool = False, **kwargs) -> List[nexla_sdk.models.projects.responses.Project]- Source:
nexla_sdk/resources/projects.py:16 - List all projects.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
remove_flows(self, project_id: int, flows: Optional[nexla_sdk.models.projects.requests.ProjectFlowList] = None) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/projects.py:125 - Remove flows from project.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
replace_flows(self, project_id: int, flows: nexla_sdk.models.projects.requests.ProjectFlowList) -> nexla_sdk.models.flows.responses.FlowResponse- Source:
nexla_sdk/resources/projects.py:110 - Replace all flows in project.
- Source:
update(self, project_id: int, data: nexla_sdk.models.projects.requests.ProjectUpdate) -> nexla_sdk.models.projects.responses.Project- Source:
nexla_sdk/resources/projects.py:56 - Update project.
- Source:
RateLimitError
Defined in nexla_sdk/exceptions.py:96
Raised when rate limit is exceeded.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
ResourceConflictError
Defined in nexla_sdk/exceptions.py:109
Raised when resource conflicts occur.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
ResourceStatus
Defined in nexla_sdk/models/enums.py:12
Common resource status values.
Members:
ACTIVE=ACTIVEPAUSED=PAUSEDDRAFT=DRAFTDELETED=DELETEDERROR=ERRORINIT=INITPROCESSING=PROCESSING
ResourceType
Defined in nexla_sdk/models/enums.py:23
Resource types in Nexla.
Members:
ORG=ORGUSER=USERTEAM=TEAMDATA_FLOW=DATA_FLOWCUSTOM_DATA_FLOW=CUSTOM_DATA_FLOWSOURCE=SOURCEDATASET=DATASETSINK=SINKDATA_MAP=DATA_MAPDATA_SCHEMA=DATA_SCHEMADATA_CREDENTIAL=DATA_CREDENTIALPROJECT=PROJECTCODE_CONTAINER=CODE_CONTAINERTRANSFORM=TRANSFORMFLOW=FLOWPIPELINE=PIPELINE
ServerError
Defined in nexla_sdk/exceptions.py:104
Raised when server returns 5xx error.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
SourcesResource
Defined in nexla_sdk/resources/sources.py:7
Resource for managing data sources.
Methods:
activate(self, source_id: int) -> nexla_sdk.models.sources.responses.Source- Source:
nexla_sdk/resources/sources.py:77 - Activate source.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, source_id: int, options: Optional[nexla_sdk.models.sources.requests.SourceCopyOptions] = None) -> nexla_sdk.models.sources.responses.Source- Source:
nexla_sdk/resources/sources.py:101 - Copy a source.
- Source:
create(self, data: nexla_sdk.models.sources.requests.SourceCreate) -> nexla_sdk.models.sources.responses.Source- Source:
nexla_sdk/resources/sources.py:40 - Create new source.
- Source:
delete(self, source_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/sources.py:65 - Delete source.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, source_id: int, expand: bool = False) -> nexla_sdk.models.sources.responses.Source- Source:
nexla_sdk/resources/sources.py:27 - Get single source by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
list(self, **kwargs) -> List[nexla_sdk.models.sources.responses.Source]- Source:
nexla_sdk/resources/sources.py:15 - List all sources.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, source_id: int) -> nexla_sdk.models.sources.responses.Source- Source:
nexla_sdk/resources/sources.py:89 - Pause source.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
update(self, source_id: int, data: nexla_sdk.models.sources.requests.SourceUpdate) -> nexla_sdk.models.sources.responses.Source- Source:
nexla_sdk/resources/sources.py:52 - Update source.
- Source:
TeamsResource
Defined in nexla_sdk/resources/teams.py:7
Resource for managing teams.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
add_members(self, team_id: int, members: nexla_sdk.models.teams.requests.TeamMemberList) -> List[nexla_sdk.models.teams.responses.TeamMember]- Source:
nexla_sdk/resources/teams.py:91 - Add members to team.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: nexla_sdk.models.teams.requests.TeamCreate) -> nexla_sdk.models.teams.responses.Team- Source:
nexla_sdk/resources/teams.py:40 - Create new team.
- Source:
delete(self, team_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/teams.py:65 - Delete team.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
get(self, team_id: int, expand: bool = False) -> nexla_sdk.models.teams.responses.Team- Source:
nexla_sdk/resources/teams.py:27 - Get single team by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_members(self, team_id: int) -> List[nexla_sdk.models.teams.responses.TeamMember]- Source:
nexla_sdk/resources/teams.py:77 - Get team members.
- Source:
list(self, **kwargs) -> List[nexla_sdk.models.teams.responses.Team]- Source:
nexla_sdk/resources/teams.py:15 - List all teams.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
remove_members(self, team_id: int, members: Optional[nexla_sdk.models.teams.requests.TeamMemberList] = None) -> List[nexla_sdk.models.teams.responses.TeamMember]- Source:
nexla_sdk/resources/teams.py:121 - Remove members from team.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
replace_members(self, team_id: int, members: nexla_sdk.models.teams.requests.TeamMemberList) -> List[nexla_sdk.models.teams.responses.TeamMember]- Source:
nexla_sdk/resources/teams.py:106 - Replace all team members.
- Source:
update(self, team_id: int, data: nexla_sdk.models.teams.requests.TeamUpdate) -> nexla_sdk.models.teams.responses.Team- Source:
nexla_sdk/resources/teams.py:52 - Update team.
- Source:
TransformError
Defined in nexla_sdk/exceptions.py:140
Raised when transform operations fail.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source:
UserStatus
Defined in nexla_sdk/models/enums.py:70
User account status.
Members:
ACTIVE=ACTIVEDEACTIVATED=DEACTIVATEDSOURCE_COUNT_CAPPED=SOURCE_COUNT_CAPPEDSOURCE_DATA_CAPPED=SOURCE_DATA_CAPPEDTRIAL_EXPIRED=TRIAL_EXPIRED
UserTier
Defined in nexla_sdk/models/enums.py:62
User account tiers.
Members:
FREE=FREETRIAL=TRIALPAID=PAIDFREE_FOREVER=FREE_FOREVER
UsersResource
Defined in nexla_sdk/resources/users.py:8
Resource for managing users.
Methods:
activate(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:217 - Activate resource.
- Source:
add_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:292 - Add access control rules.
- Source:
copy(self, resource_id: int, options: Union[Dict[str, Any], Any, NoneType] = None) -> ~T- Source:
nexla_sdk/resources/base_resource.py:245 - Copy resource.
- Source:
create(self, data: nexla_sdk.models.users.requests.UserCreate) -> nexla_sdk.models.users.responses.User- Source:
nexla_sdk/resources/users.py:51 - Create new user.
- Source:
create_quarantine_settings(self, user_id: int, data_credentials_id: int, config: Dict[str, Any]) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:112 - Create quarantine data export settings.
- Source:
delete(self, user_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:76 - Delete user.
- Source:
delete_accessors(self, resource_id: int, accessors: Optional[List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]] = None) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:332 - Delete access control rules.
- Source:
delete_quarantine_settings(self, user_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:150 - Delete quarantine data export settings.
- Source:
get(self, user_id: int, expand: bool = False) -> nexla_sdk.models.users.responses.User- Source:
nexla_sdk/resources/users.py:33 - Get user by ID.
- Source:
get_accessors(self, resource_id: int) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:274 - Get access control rules for resource.
- Source:
get_account_metrics(self, user_id: int, from_date: str, to_date: Optional[str] = None, org_id: Optional[int] = None) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:197 - Get total account metrics for user.
- Source:
get_audit_log(self, resource_id: int) -> List[Dict[str, Any]]- Source:
nexla_sdk/resources/base_resource.py:261 - Get audit log for resource.
- Source:
get_daily_metrics(self, user_id: int, resource_type: nexla_sdk.models.metrics.enums.UserMetricResourceType, from_date: str, to_date: Optional[str] = None, org_id: Optional[int] = None) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:243 - Get daily data processing metrics for a user.
- Source:
get_dashboard_metrics(self, user_id: int, access_role: Optional[str] = None) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:223 - Get 24 hour flow stats for user.
- Source:
get_quarantine_settings(self, user_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:99 - Get quarantine data export settings for user.
- Source:
get_settings(self) -> List[nexla_sdk.models.users.responses.UserSettings]- Source:
nexla_sdk/resources/users.py:88 - Get current user's settings.
- Source:
get_transferable_resources(self, user_id: int, org_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:163 - Get a list of resources owned by a user that can be transferred.
- Source:
list(self, expand: bool = False, **kwargs) -> List[nexla_sdk.models.users.responses.User]- Source:
nexla_sdk/resources/users.py:16 - List all users.
- Source:
paginate(self, per_page: int = 20, access_role: Optional[str] = None, **params) -> nexla_sdk.utils.pagination.Paginator[~T]- Source:
nexla_sdk/resources/base_resource.py:135 - Get paginator for iterating through resources.
- Source:
pause(self, resource_id: int) -> ~T- Source:
nexla_sdk/resources/base_resource.py:231 - Pause resource.
- Source:
replace_accessors(self, resource_id: int, accessors: List[Union[nexla_sdk.models.access.requests.UserAccessorRequest, nexla_sdk.models.access.requests.TeamAccessorRequest, nexla_sdk.models.access.requests.OrgAccessorRequest]]) -> List[Union[nexla_sdk.models.access.responses.UserAccessorResponse, nexla_sdk.models.access.responses.TeamAccessorResponse, nexla_sdk.models.access.responses.OrgAccessorResponse]]- Source:
nexla_sdk/resources/base_resource.py:312 - Replace all access control rules.
- Source:
transfer_resources(self, user_id: int, org_id: int, delegate_owner_id: int) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:178 - Transfer a user's resources to another user within an organization.
- Source:
update(self, user_id: int, data: nexla_sdk.models.users.requests.UserUpdate) -> nexla_sdk.models.users.responses.User- Source:
nexla_sdk/resources/users.py:63 - Update user.
- Source:
update_quarantine_settings(self, user_id: int, data: Dict[str, Any]) -> Dict[str, Any]- Source:
nexla_sdk/resources/users.py:134 - Update quarantine data export settings.
- Source:
ValidationError
Defined in nexla_sdk/exceptions.py:91
Raised when request validation fails.
Methods:
get_error_summary(self) -> Dict[str, Any]- Source:
nexla_sdk/exceptions.py:55 - Get structured error information.
- Source: