diff --git a/.release-please-manifest.json b/.release-please-manifest.json index ba6c348..f14b480 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.1.0-alpha.1" + ".": "0.1.0-alpha.2" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index b70c8fe..a25cca2 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ -configured_endpoints: 5 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-9401d823cca81901da726bddeb09c51d38461d700828a76e7b41abb25bc2e0eb.yml +configured_endpoints: 7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openint%2Fopenint-3c4c569aecc7073dd54b777ab6aa9959eda2a884975a2a9765f79ba8b599df0c.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index 141f613..0475d3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.1.0-alpha.2 (2025-03-05) + +Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/openintegrations/python-sdk/compare/v0.1.0-alpha.1...v0.1.0-alpha.2) + +### Features + +* **api:** manual updates ([#10](https://github.com/openintegrations/python-sdk/issues/10)) ([ee8775b](https://github.com/openintegrations/python-sdk/commit/ee8775bcbe538e4ee176ea6b70613f0e7118627f)) +* **api:** manual updates ([#11](https://github.com/openintegrations/python-sdk/issues/11)) ([035fbea](https://github.com/openintegrations/python-sdk/commit/035fbead3a022304829924c9996f434a7cd4a593)) +* **api:** manual updates ([#12](https://github.com/openintegrations/python-sdk/issues/12)) ([6dfc2e8](https://github.com/openintegrations/python-sdk/commit/6dfc2e881d3b6b113a597c2a9251a00c3203ce84)) +* **api:** manual updates ([#13](https://github.com/openintegrations/python-sdk/issues/13)) ([224a7a0](https://github.com/openintegrations/python-sdk/commit/224a7a02297b3b06218ae5f8297c1e829cb91037)) +* **api:** manual updates ([#7](https://github.com/openintegrations/python-sdk/issues/7)) ([6b05d11](https://github.com/openintegrations/python-sdk/commit/6b05d115709fed32c7c6884621ac0959abf75ea1)) +* **api:** manual updates ([#8](https://github.com/openintegrations/python-sdk/issues/8)) ([5054460](https://github.com/openintegrations/python-sdk/commit/5054460f4d5e441afd71fe29a1ab3ef11ec82cba)) +* **api:** manual updates ([#9](https://github.com/openintegrations/python-sdk/issues/9)) ([ac996eb](https://github.com/openintegrations/python-sdk/commit/ac996ebde3816be7fcef375087d13d62d85374f0)) +* **docs:** updating documented docs for mintlify ([#5](https://github.com/openintegrations/python-sdk/issues/5)) ([80624c2](https://github.com/openintegrations/python-sdk/commit/80624c2bfe3e06d971af96da9a629123b7920290)) + ## 0.1.0-alpha.1 (2025-03-04) Full Changelog: [v0.0.1-alpha.0...v0.1.0-alpha.1](https://github.com/openintegrations/python-sdk/compare/v0.0.1-alpha.0...v0.1.0-alpha.1) diff --git a/README.md b/README.md index ebb01d3..7bf28b8 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,8 @@ client = Openint( api_key=os.environ.get("OPENINT_API_KEY"), # This is the default and can be omitted ) -response = client.get_connection() -print(response.items) +page = client.list_connections() +print(page.items) ``` While you can provide an `api_key` keyword argument, @@ -55,8 +55,8 @@ client = AsyncOpenint( async def main() -> None: - response = await client.get_connection() - print(response.items) + page = await client.list_connections() + print(page.items) asyncio.run(main()) @@ -89,7 +89,7 @@ from openint import Openint client = Openint() try: - client.get_connection() + client.list_connections() except openint.APIConnectionError as e: print("The server could not be reached") print(e.__cause__) # an underlying Exception, likely raised within httpx. @@ -132,7 +132,7 @@ client = Openint( ) # Or, configure per-request: -client.with_options(max_retries=5).get_connection() +client.with_options(max_retries=5).list_connections() ``` ### Timeouts @@ -155,7 +155,7 @@ client = Openint( ) # Override per-request: -client.with_options(timeout=5.0).get_connection() +client.with_options(timeout=5.0).list_connections() ``` On timeout, an `APITimeoutError` is thrown. @@ -196,11 +196,11 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to from openint import Openint client = Openint() -response = client.with_raw_response.get_connection() +response = client.with_raw_response.list_connections() print(response.headers.get('X-My-Header')) -client = response.parse() # get the object that `get_connection()` would have returned -print(client.items) +client = response.parse() # get the object that `list_connections()` would have returned +print(client) ``` These methods return an [`APIResponse`](https://github.com/openintegrations/python-sdk/tree/main/src/openint/_response.py) object. @@ -214,7 +214,7 @@ The above interface eagerly reads the full response body when you make the reque To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods. ```python -with client.with_streaming_response.get_connection() as response: +with client.with_streaming_response.list_connections() as response: print(response.headers.get("X-My-Header")) for line in response.iter_lines(): diff --git a/api.md b/api.md index b9e3ef6..1c18443 100644 --- a/api.md +++ b/api.md @@ -5,6 +5,8 @@ Types: ```python from openint.types import ( CheckConnectionResponse, + CreateMagicLinkResponse, + CreateTokenResponse, GetConnectionResponse, ListConnectionConfigsResponse, ListConnectionsResponse, @@ -15,7 +17,9 @@ from openint.types import ( Methods: - client.check_connection(id) -> CheckConnectionResponse -- client.get_connection(\*\*params) -> GetConnectionResponse -- client.list_connection_configs(\*\*params) -> ListConnectionConfigsResponse -- client.list_connections(id, \*\*params) -> ListConnectionsResponse -- client.list_events(\*\*params) -> ListEventsResponse +- client.create_magic_link(\*\*params) -> CreateMagicLinkResponse +- client.create_token(\*\*params) -> CreateTokenResponse +- client.get_connection(id, \*\*params) -> GetConnectionResponse +- client.list_connection_configs(\*\*params) -> SyncOffsetPagination[ListConnectionConfigsResponse] +- client.list_connections(\*\*params) -> SyncOffsetPagination[ListConnectionsResponse] +- client.list_events(\*\*params) -> SyncOffsetPagination[ListEventsResponse] diff --git a/pyproject.toml b/pyproject.toml index b8d0077..107d19a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openint" -version = "0.1.0-alpha.1" +version = "0.1.0-alpha.2" description = "The official Python library for the Openint API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/openint/_client.py b/src/openint/_client.py index 37f25dc..f7c0a42 100644 --- a/src/openint/_client.py +++ b/src/openint/_client.py @@ -3,7 +3,7 @@ from __future__ import annotations import os -from typing import Any, List, Union, Mapping, cast +from typing import Any, List, Union, Mapping, Optional, cast from typing_extensions import Self, Literal, override import httpx @@ -12,8 +12,10 @@ from ._qs import Querystring from .types import ( client_list_events_params, + client_create_token_params, client_get_connection_params, client_list_connections_params, + client_create_magic_link_params, client_list_connection_configs_params, ) from ._types import ( @@ -42,17 +44,21 @@ async_to_streamed_response_wrapper, ) from ._streaming import Stream as Stream, AsyncStream as AsyncStream +from .pagination import SyncOffsetPagination, AsyncOffsetPagination from ._exceptions import APIStatusError from ._base_client import ( DEFAULT_MAX_RETRIES, SyncAPIClient, AsyncAPIClient, + AsyncPaginator, make_request_options, ) from .types.list_events_response import ListEventsResponse +from .types.create_token_response import CreateTokenResponse from .types.get_connection_response import GetConnectionResponse from .types.check_connection_response import CheckConnectionResponse from .types.list_connections_response import ListConnectionsResponse +from .types.create_magic_link_response import CreateMagicLinkResponse from .types.list_connection_configs_response import ListConnectionConfigsResponse __all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Openint", "AsyncOpenint", "Client", "AsyncClient"] @@ -103,7 +109,7 @@ def __init__( if base_url is None: base_url = os.environ.get("OPENINT_BASE_URL") if base_url is None: - base_url = f"https://localhost:3000" + base_url = f"https://api.openint.dev/v1" super().__init__( version=__version__, @@ -127,10 +133,25 @@ def qs(self) -> Querystring: @property @override def auth_headers(self) -> dict[str, str]: + if self._organization_auth: + return self._organization_auth + if self._customer_auth: + return self._customer_auth + return {} + + @property + def _organization_auth(self) -> dict[str, str]: api_key = self.api_key if api_key is None: return {} - return {"Authorization": f"Bearer {api_key}"} + return {"authorization": api_key} + + @property + def _customer_auth(self) -> dict[str, str]: + customer_token = self.customer_token + if customer_token is None: + return {} + return {"Authorization": f"Bearer {customer_token}"} @property @override @@ -143,13 +164,18 @@ def default_headers(self) -> dict[str, str | Omit]: @override def _validate_headers(self, headers: Headers, custom_headers: Headers) -> None: - if self.api_key and headers.get("Authorization"): + if self.api_key and headers.get("authorization"): + return + if isinstance(custom_headers.get("authorization"), Omit): + return + + if self.customer_token and headers.get("Authorization"): return if isinstance(custom_headers.get("Authorization"), Omit): return raise TypeError( - '"Could not resolve authentication method. Expected the api_key to be set. Or for the `Authorization` headers to be explicitly omitted"' + '"Could not resolve authentication method. Expected either api_key or customer_token to be set. Or for one of the `authorization` or `Authorization` headers to be explicitly omitted"' ) def copy( @@ -217,6 +243,8 @@ def check_connection( timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, ) -> CheckConnectionResponse: """ + Verify that a connection is healthy + Args: extra_headers: Send extra headers @@ -236,26 +264,96 @@ def check_connection( cast_to=CheckConnectionResponse, ) - def get_connection( + def create_magic_link( self, *, - connector_config_id: str | NotGiven = NOT_GIVEN, - connector_name: str | NotGiven = NOT_GIVEN, - customer_id: str | NotGiven = NOT_GIVEN, - expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, - include_secrets: Literal["none", "basic", "all"] | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - offset: int | NotGiven = NOT_GIVEN, + customer_id: str, + connection_id: Optional[str] | NotGiven = NOT_GIVEN, + connector_names: Optional[ + Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + ] + | NotGiven = NOT_GIVEN, + email: str | NotGiven = NOT_GIVEN, + redirect_url: Optional[str] | NotGiven = NOT_GIVEN, + theme: Optional[Literal["light", "dark"]] | NotGiven = NOT_GIVEN, + validity_in_seconds: float | NotGiven = NOT_GIVEN, + view: Optional[Literal["manage", "manage-deeplink", "add", "add-deeplink"]] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> GetConnectionResponse: + ) -> CreateMagicLinkResponse: """ + Create a magic link for connecting integrations + Args: - include_secrets: Controls secret inclusion: none (default), basic (auth only), or all secrets + connector_names: Filter integrations by comma separated connector names + + email: The email address of the customer + + redirect_url: Where to send user to after connect / if they press back button + + theme: Magic Link display theme + + validity_in_seconds: How long the magic link will be valid for (in seconds) before it expires + + view: Magic Link tab view extra_headers: Send extra headers @@ -265,45 +363,48 @@ def get_connection( timeout: Override the client-level default timeout for this request, in seconds """ - return self.get( - "/connection", + return self.post( + "/connect/magic-link", + body=maybe_transform( + { + "customer_id": customer_id, + "connection_id": connection_id, + "connector_names": connector_names, + "email": email, + "redirect_url": redirect_url, + "theme": theme, + "validity_in_seconds": validity_in_seconds, + "view": view, + }, + client_create_magic_link_params.ClientCreateMagicLinkParams, + ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "connector_config_id": connector_config_id, - "connector_name": connector_name, - "customer_id": customer_id, - "expand": expand, - "include_secrets": include_secrets, - "limit": limit, - "offset": offset, - }, - client_get_connection_params.ClientGetConnectionParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=GetConnectionResponse, + cast_to=CreateMagicLinkResponse, ) - def list_connection_configs( + def create_token( self, *, - connector_name: str | NotGiven = NOT_GIVEN, - expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - offset: int | NotGiven = NOT_GIVEN, + customer_id: str, + validity_in_seconds: float | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ListConnectionConfigsResponse: + ) -> CreateTokenResponse: """ + Create an authentication token for a customer + Args: + customer_id: Anything that uniquely identifies the customer that you will be sending the + token to + + validity_in_seconds: How long the token will be valid for (in seconds) before it expires + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -312,27 +413,22 @@ def list_connection_configs( timeout: Override the client-level default timeout for this request, in seconds """ - return self.get( - "/connector-config", + return self.post( + "/connect/token", + body=maybe_transform( + { + "customer_id": customer_id, + "validity_in_seconds": validity_in_seconds, + }, + client_create_token_params.ClientCreateTokenParams, + ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "connector_name": connector_name, - "expand": expand, - "limit": limit, - "offset": offset, - }, - client_list_connection_configs_params.ClientListConnectionConfigsParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=ListConnectionConfigsResponse, + cast_to=CreateTokenResponse, ) - def list_connections( + def get_connection( self, id: str, *, @@ -345,8 +441,10 @@ def list_connections( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ListConnectionsResponse: + ) -> GetConnectionResponse: """ + Get details of a specific connection + Args: include_secrets: Controls secret inclusion: none (default), basic (auth only), or all secrets @@ -364,7 +462,7 @@ def list_connections( if not id: raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") return cast( - ListConnectionsResponse, + GetConnectionResponse, self.get( f"/connection/{id}", options=make_request_options( @@ -378,15 +476,233 @@ def list_connections( "include_secrets": include_secrets, "refresh_policy": refresh_policy, }, - client_list_connections_params.ClientListConnectionsParams, + client_get_connection_params.ClientGetConnectionParams, ), ), cast_to=cast( - Any, ListConnectionsResponse + Any, GetConnectionResponse ), # Union types cannot be passed in as arguments in the type system ), ) + def list_connection_configs( + self, + *, + connector_name: Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + | NotGiven = NOT_GIVEN, + expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> SyncOffsetPagination[ListConnectionConfigsResponse]: + """ + List all connector configurations with optional filtering + + Args: + connector_name: The name of the connector + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + return self.get_api_list( + "/connector-config", + page=SyncOffsetPagination[ListConnectionConfigsResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "connector_name": connector_name, + "expand": expand, + "limit": limit, + "offset": offset, + }, + client_list_connection_configs_params.ClientListConnectionConfigsParams, + ), + ), + model=cast( + Any, ListConnectionConfigsResponse + ), # Union types cannot be passed in as arguments in the type system + ) + + def list_connections( + self, + *, + connector_config_id: str | NotGiven = NOT_GIVEN, + connector_name: Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + | NotGiven = NOT_GIVEN, + customer_id: str | NotGiven = NOT_GIVEN, + expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, + include_secrets: Literal["none", "basic", "all"] | NotGiven = NOT_GIVEN, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> SyncOffsetPagination[ListConnectionsResponse]: + """ + List all connections with optional filtering + + Args: + connector_name: The name of the connector + + include_secrets: Controls secret inclusion: none (default), basic (auth only), or all secrets + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + return self.get_api_list( + "/connection", + page=SyncOffsetPagination[ListConnectionsResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "connector_config_id": connector_config_id, + "connector_name": connector_name, + "customer_id": customer_id, + "expand": expand, + "include_secrets": include_secrets, + "limit": limit, + "offset": offset, + }, + client_list_connections_params.ClientListConnectionsParams, + ), + ), + model=cast(Any, ListConnectionsResponse), # Union types cannot be passed in as arguments in the type system + ) + def list_events( self, *, @@ -398,8 +714,10 @@ def list_events( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ListEventsResponse: + ) -> SyncOffsetPagination[ListEventsResponse]: """ + List all events for an organization + Args: extra_headers: Send extra headers @@ -409,8 +727,9 @@ def list_events( timeout: Override the client-level default timeout for this request, in seconds """ - return self.get( + return self.get_api_list( "/event", + page=SyncOffsetPagination[ListEventsResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, @@ -424,7 +743,7 @@ def list_events( client_list_events_params.ClientListEventsParams, ), ), - cast_to=ListEventsResponse, + model=ListEventsResponse, ) @override @@ -506,7 +825,7 @@ def __init__( if base_url is None: base_url = os.environ.get("OPENINT_BASE_URL") if base_url is None: - base_url = f"https://localhost:3000" + base_url = f"https://api.openint.dev/v1" super().__init__( version=__version__, @@ -530,10 +849,25 @@ def qs(self) -> Querystring: @property @override def auth_headers(self) -> dict[str, str]: + if self._organization_auth: + return self._organization_auth + if self._customer_auth: + return self._customer_auth + return {} + + @property + def _organization_auth(self) -> dict[str, str]: api_key = self.api_key if api_key is None: return {} - return {"Authorization": f"Bearer {api_key}"} + return {"authorization": api_key} + + @property + def _customer_auth(self) -> dict[str, str]: + customer_token = self.customer_token + if customer_token is None: + return {} + return {"Authorization": f"Bearer {customer_token}"} @property @override @@ -546,13 +880,18 @@ def default_headers(self) -> dict[str, str | Omit]: @override def _validate_headers(self, headers: Headers, custom_headers: Headers) -> None: - if self.api_key and headers.get("Authorization"): + if self.api_key and headers.get("authorization"): + return + if isinstance(custom_headers.get("authorization"), Omit): + return + + if self.customer_token and headers.get("Authorization"): return if isinstance(custom_headers.get("Authorization"), Omit): return raise TypeError( - '"Could not resolve authentication method. Expected the api_key to be set. Or for the `Authorization` headers to be explicitly omitted"' + '"Could not resolve authentication method. Expected either api_key or customer_token to be set. Or for one of the `authorization` or `Authorization` headers to be explicitly omitted"' ) def copy( @@ -620,6 +959,8 @@ async def check_connection( timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, ) -> CheckConnectionResponse: """ + Verify that a connection is healthy + Args: extra_headers: Send extra headers @@ -639,26 +980,96 @@ async def check_connection( cast_to=CheckConnectionResponse, ) - async def get_connection( + async def create_magic_link( self, *, - connector_config_id: str | NotGiven = NOT_GIVEN, - connector_name: str | NotGiven = NOT_GIVEN, - customer_id: str | NotGiven = NOT_GIVEN, - expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, - include_secrets: Literal["none", "basic", "all"] | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - offset: int | NotGiven = NOT_GIVEN, + customer_id: str, + connection_id: Optional[str] | NotGiven = NOT_GIVEN, + connector_names: Optional[ + Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + ] + | NotGiven = NOT_GIVEN, + email: str | NotGiven = NOT_GIVEN, + redirect_url: Optional[str] | NotGiven = NOT_GIVEN, + theme: Optional[Literal["light", "dark"]] | NotGiven = NOT_GIVEN, + validity_in_seconds: float | NotGiven = NOT_GIVEN, + view: Optional[Literal["manage", "manage-deeplink", "add", "add-deeplink"]] | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> GetConnectionResponse: + ) -> CreateMagicLinkResponse: """ + Create a magic link for connecting integrations + Args: - include_secrets: Controls secret inclusion: none (default), basic (auth only), or all secrets + connector_names: Filter integrations by comma separated connector names + + email: The email address of the customer + + redirect_url: Where to send user to after connect / if they press back button + + theme: Magic Link display theme + + validity_in_seconds: How long the magic link will be valid for (in seconds) before it expires + + view: Magic Link tab view extra_headers: Send extra headers @@ -668,45 +1079,48 @@ async def get_connection( timeout: Override the client-level default timeout for this request, in seconds """ - return await self.get( - "/connection", + return await self.post( + "/connect/magic-link", + body=await async_maybe_transform( + { + "customer_id": customer_id, + "connection_id": connection_id, + "connector_names": connector_names, + "email": email, + "redirect_url": redirect_url, + "theme": theme, + "validity_in_seconds": validity_in_seconds, + "view": view, + }, + client_create_magic_link_params.ClientCreateMagicLinkParams, + ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=await async_maybe_transform( - { - "connector_config_id": connector_config_id, - "connector_name": connector_name, - "customer_id": customer_id, - "expand": expand, - "include_secrets": include_secrets, - "limit": limit, - "offset": offset, - }, - client_get_connection_params.ClientGetConnectionParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=GetConnectionResponse, + cast_to=CreateMagicLinkResponse, ) - async def list_connection_configs( + async def create_token( self, *, - connector_name: str | NotGiven = NOT_GIVEN, - expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - offset: int | NotGiven = NOT_GIVEN, + customer_id: str, + validity_in_seconds: float | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. extra_headers: Headers | None = None, extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ListConnectionConfigsResponse: + ) -> CreateTokenResponse: """ + Create an authentication token for a customer + Args: + customer_id: Anything that uniquely identifies the customer that you will be sending the + token to + + validity_in_seconds: How long the token will be valid for (in seconds) before it expires + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -715,27 +1129,22 @@ async def list_connection_configs( timeout: Override the client-level default timeout for this request, in seconds """ - return await self.get( - "/connector-config", + return await self.post( + "/connect/token", + body=await async_maybe_transform( + { + "customer_id": customer_id, + "validity_in_seconds": validity_in_seconds, + }, + client_create_token_params.ClientCreateTokenParams, + ), options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=await async_maybe_transform( - { - "connector_name": connector_name, - "expand": expand, - "limit": limit, - "offset": offset, - }, - client_list_connection_configs_params.ClientListConnectionConfigsParams, - ), + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - cast_to=ListConnectionConfigsResponse, + cast_to=CreateTokenResponse, ) - async def list_connections( + async def get_connection( self, id: str, *, @@ -748,8 +1157,10 @@ async def list_connections( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ListConnectionsResponse: + ) -> GetConnectionResponse: """ + Get details of a specific connection + Args: include_secrets: Controls secret inclusion: none (default), basic (auth only), or all secrets @@ -767,7 +1178,7 @@ async def list_connections( if not id: raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") return cast( - ListConnectionsResponse, + GetConnectionResponse, await self.get( f"/connection/{id}", options=make_request_options( @@ -781,18 +1192,184 @@ async def list_connections( "include_secrets": include_secrets, "refresh_policy": refresh_policy, }, - client_list_connections_params.ClientListConnectionsParams, + client_get_connection_params.ClientGetConnectionParams, ), ), cast_to=cast( - Any, ListConnectionsResponse + Any, GetConnectionResponse ), # Union types cannot be passed in as arguments in the type system ), ) - async def list_events( + def list_connection_configs( + self, + *, + connector_name: Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + | NotGiven = NOT_GIVEN, + expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> AsyncPaginator[ListConnectionConfigsResponse, AsyncOffsetPagination[ListConnectionConfigsResponse]]: + """ + List all connector configurations with optional filtering + + Args: + connector_name: The name of the connector + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + return self.get_api_list( + "/connector-config", + page=AsyncOffsetPagination[ListConnectionConfigsResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "connector_name": connector_name, + "expand": expand, + "limit": limit, + "offset": offset, + }, + client_list_connection_configs_params.ClientListConnectionConfigsParams, + ), + ), + model=cast( + Any, ListConnectionConfigsResponse + ), # Union types cannot be passed in as arguments in the type system + ) + + def list_connections( self, *, + connector_config_id: str | NotGiven = NOT_GIVEN, + connector_name: Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + | NotGiven = NOT_GIVEN, + customer_id: str | NotGiven = NOT_GIVEN, + expand: List[Literal["connector"]] | NotGiven = NOT_GIVEN, + include_secrets: Literal["none", "basic", "all"] | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, offset: int | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -801,9 +1378,15 @@ async def list_events( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> ListEventsResponse: + ) -> AsyncPaginator[ListConnectionsResponse, AsyncOffsetPagination[ListConnectionsResponse]]: """ + List all connections with optional filtering + Args: + connector_name: The name of the connector + + include_secrets: Controls secret inclusion: none (default), basic (auth only), or all secrets + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -812,14 +1395,63 @@ async def list_events( timeout: Override the client-level default timeout for this request, in seconds """ - return await self.get( + return self.get_api_list( + "/connection", + page=AsyncOffsetPagination[ListConnectionsResponse], + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + query=maybe_transform( + { + "connector_config_id": connector_config_id, + "connector_name": connector_name, + "customer_id": customer_id, + "expand": expand, + "include_secrets": include_secrets, + "limit": limit, + "offset": offset, + }, + client_list_connections_params.ClientListConnectionsParams, + ), + ), + model=cast(Any, ListConnectionsResponse), # Union types cannot be passed in as arguments in the type system + ) + + def list_events( + self, + *, + limit: int | NotGiven = NOT_GIVEN, + offset: int | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> AsyncPaginator[ListEventsResponse, AsyncOffsetPagination[ListEventsResponse]]: + """ + List all events for an organization + + Args: + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + return self.get_api_list( "/event", + page=AsyncOffsetPagination[ListEventsResponse], options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout, - query=await async_maybe_transform( + query=maybe_transform( { "limit": limit, "offset": offset, @@ -827,7 +1459,7 @@ async def list_events( client_list_events_params.ClientListEventsParams, ), ), - cast_to=ListEventsResponse, + model=ListEventsResponse, ) @override @@ -869,6 +1501,12 @@ def __init__(self, client: Openint) -> None: self.check_connection = to_raw_response_wrapper( client.check_connection, ) + self.create_magic_link = to_raw_response_wrapper( + client.create_magic_link, + ) + self.create_token = to_raw_response_wrapper( + client.create_token, + ) self.get_connection = to_raw_response_wrapper( client.get_connection, ) @@ -888,6 +1526,12 @@ def __init__(self, client: AsyncOpenint) -> None: self.check_connection = async_to_raw_response_wrapper( client.check_connection, ) + self.create_magic_link = async_to_raw_response_wrapper( + client.create_magic_link, + ) + self.create_token = async_to_raw_response_wrapper( + client.create_token, + ) self.get_connection = async_to_raw_response_wrapper( client.get_connection, ) @@ -907,6 +1551,12 @@ def __init__(self, client: Openint) -> None: self.check_connection = to_streamed_response_wrapper( client.check_connection, ) + self.create_magic_link = to_streamed_response_wrapper( + client.create_magic_link, + ) + self.create_token = to_streamed_response_wrapper( + client.create_token, + ) self.get_connection = to_streamed_response_wrapper( client.get_connection, ) @@ -926,6 +1576,12 @@ def __init__(self, client: AsyncOpenint) -> None: self.check_connection = async_to_streamed_response_wrapper( client.check_connection, ) + self.create_magic_link = async_to_streamed_response_wrapper( + client.create_magic_link, + ) + self.create_token = async_to_streamed_response_wrapper( + client.create_token, + ) self.get_connection = async_to_streamed_response_wrapper( client.get_connection, ) diff --git a/src/openint/_version.py b/src/openint/_version.py index 3ce24e1..5f81e4c 100644 --- a/src/openint/_version.py +++ b/src/openint/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "openint" -__version__ = "0.1.0-alpha.1" # x-release-please-version +__version__ = "0.1.0-alpha.2" # x-release-please-version diff --git a/src/openint/pagination.py b/src/openint/pagination.py new file mode 100644 index 0000000..60bfb3c --- /dev/null +++ b/src/openint/pagination.py @@ -0,0 +1,74 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import List, Generic, TypeVar, Optional +from typing_extensions import override + +from ._base_client import BasePage, PageInfo, BaseSyncPage, BaseAsyncPage + +__all__ = ["SyncOffsetPagination", "AsyncOffsetPagination"] + +_T = TypeVar("_T") + + +class SyncOffsetPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]): + items: List[_T] + total: Optional[int] = None + offset: Optional[int] = None + limit: Optional[int] = None + + @override + def _get_page_items(self) -> List[_T]: + items = self.items + if not items: + return [] + return items + + @override + def next_page_info(self) -> Optional[PageInfo]: + offset = self.offset + if offset is None: + return None + + length = len(self._get_page_items()) + current_count = offset + length + + total = self.total + if total is None: + return None + + if current_count < total: + return PageInfo(params={"offset": current_count}) + + return None + + +class AsyncOffsetPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]): + items: List[_T] + total: Optional[int] = None + offset: Optional[int] = None + limit: Optional[int] = None + + @override + def _get_page_items(self) -> List[_T]: + items = self.items + if not items: + return [] + return items + + @override + def next_page_info(self) -> Optional[PageInfo]: + offset = self.offset + if offset is None: + return None + + length = len(self._get_page_items()) + current_count = offset + length + + total = self.total + if total is None: + return None + + if current_count < total: + return PageInfo(params={"offset": current_count}) + + return None diff --git a/src/openint/types/__init__.py b/src/openint/types/__init__.py index 73a1db8..9c39d0e 100644 --- a/src/openint/types/__init__.py +++ b/src/openint/types/__init__.py @@ -3,12 +3,16 @@ from __future__ import annotations from .list_events_response import ListEventsResponse as ListEventsResponse +from .create_token_response import CreateTokenResponse as CreateTokenResponse from .get_connection_response import GetConnectionResponse as GetConnectionResponse from .check_connection_response import CheckConnectionResponse as CheckConnectionResponse from .client_list_events_params import ClientListEventsParams as ClientListEventsParams from .list_connections_response import ListConnectionsResponse as ListConnectionsResponse +from .client_create_token_params import ClientCreateTokenParams as ClientCreateTokenParams +from .create_magic_link_response import CreateMagicLinkResponse as CreateMagicLinkResponse from .client_get_connection_params import ClientGetConnectionParams as ClientGetConnectionParams from .client_list_connections_params import ClientListConnectionsParams as ClientListConnectionsParams +from .client_create_magic_link_params import ClientCreateMagicLinkParams as ClientCreateMagicLinkParams from .list_connection_configs_response import ListConnectionConfigsResponse as ListConnectionConfigsResponse from .client_list_connection_configs_params import ( ClientListConnectionConfigsParams as ClientListConnectionConfigsParams, diff --git a/src/openint/types/client_create_magic_link_params.py b/src/openint/types/client_create_magic_link_params.py new file mode 100644 index 0000000..735fe70 --- /dev/null +++ b/src/openint/types/client_create_magic_link_params.py @@ -0,0 +1,88 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing import Optional +from typing_extensions import Literal, Required, TypedDict + +__all__ = ["ClientCreateMagicLinkParams"] + + +class ClientCreateMagicLinkParams(TypedDict, total=False): + customer_id: Required[str] + + connection_id: Optional[str] + + connector_names: Optional[ + Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + ] + """Filter integrations by comma separated connector names""" + + email: str + """The email address of the customer""" + + redirect_url: Optional[str] + """Where to send user to after connect / if they press back button""" + + theme: Optional[Literal["light", "dark"]] + """Magic Link display theme""" + + validity_in_seconds: float + """How long the magic link will be valid for (in seconds) before it expires""" + + view: Optional[Literal["manage", "manage-deeplink", "add", "add-deeplink"]] + """Magic Link tab view""" diff --git a/src/openint/types/client_create_token_params.py b/src/openint/types/client_create_token_params.py new file mode 100644 index 0000000..821f434 --- /dev/null +++ b/src/openint/types/client_create_token_params.py @@ -0,0 +1,18 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import Required, TypedDict + +__all__ = ["ClientCreateTokenParams"] + + +class ClientCreateTokenParams(TypedDict, total=False): + customer_id: Required[str] + """ + Anything that uniquely identifies the customer that you will be sending the + token to + """ + + validity_in_seconds: float + """How long the token will be valid for (in seconds) before it expires""" diff --git a/src/openint/types/client_get_connection_params.py b/src/openint/types/client_get_connection_params.py index 18299a6..fc65a91 100644 --- a/src/openint/types/client_get_connection_params.py +++ b/src/openint/types/client_get_connection_params.py @@ -9,17 +9,13 @@ class ClientGetConnectionParams(TypedDict, total=False): - connector_config_id: str - - connector_name: str - - customer_id: str - expand: List[Literal["connector"]] include_secrets: Literal["none", "basic", "all"] """Controls secret inclusion: none (default), basic (auth only), or all secrets""" - limit: int - - offset: int + refresh_policy: Literal["none", "force", "auto"] + """ + Controls credential refresh: none (never), force (always), or auto (when + expired, default) + """ diff --git a/src/openint/types/client_list_connection_configs_params.py b/src/openint/types/client_list_connection_configs_params.py index 92f5ee6..c384d3e 100644 --- a/src/openint/types/client_list_connection_configs_params.py +++ b/src/openint/types/client_list_connection_configs_params.py @@ -9,7 +9,62 @@ class ClientListConnectionConfigsParams(TypedDict, total=False): - connector_name: str + connector_name: Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + """The name of the connector""" expand: List[Literal["connector"]] diff --git a/src/openint/types/client_list_connections_params.py b/src/openint/types/client_list_connections_params.py index 527a5a5..57be83d 100644 --- a/src/openint/types/client_list_connections_params.py +++ b/src/openint/types/client_list_connections_params.py @@ -9,13 +9,72 @@ class ClientListConnectionsParams(TypedDict, total=False): + connector_config_id: str + + connector_name: Literal[ + "aircall", + "airtable", + "apollo", + "beancount", + "brex", + "coda", + "confluence", + "debug", + "discord", + "finch", + "firebase", + "foreceipt", + "fs", + "github", + "gong", + "google", + "greenhouse", + "heron", + "hubspot", + "intercom", + "jira", + "kustomer", + "lever", + "linear", + "lunchmoney", + "merge", + "microsoft", + "mongodb", + "moota", + "onebrick", + "outreach", + "pipedrive", + "plaid", + "postgres", + "qbo", + "ramp", + "revert", + "salesforce", + "salesloft", + "saltedge", + "slack", + "splitwise", + "spreadsheet", + "stripe", + "teller", + "toggl", + "twenty", + "webhook", + "wise", + "xero", + "yodlee", + "zohodesk", + "googledrive", + ] + """The name of the connector""" + + customer_id: str + expand: List[Literal["connector"]] include_secrets: Literal["none", "basic", "all"] """Controls secret inclusion: none (default), basic (auth only), or all secrets""" - refresh_policy: Literal["none", "force", "auto"] - """ - Controls credential refresh: none (never), force (always), or auto (when - expired, default) - """ + limit: int + + offset: int diff --git a/src/openint/types/create_magic_link_response.py b/src/openint/types/create_magic_link_response.py new file mode 100644 index 0000000..ace38fa --- /dev/null +++ b/src/openint/types/create_magic_link_response.py @@ -0,0 +1,10 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + + +from .._models import BaseModel + +__all__ = ["CreateMagicLinkResponse"] + + +class CreateMagicLinkResponse(BaseModel): + url: str diff --git a/src/openint/types/create_token_response.py b/src/openint/types/create_token_response.py new file mode 100644 index 0000000..dc0b804 --- /dev/null +++ b/src/openint/types/create_token_response.py @@ -0,0 +1,10 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + + +from .._models import BaseModel + +__all__ = ["CreateTokenResponse"] + + +class CreateTokenResponse(BaseModel): + token: str diff --git a/src/openint/types/get_connection_response.py b/src/openint/types/get_connection_response.py index ae318d0..419e28c 100644 --- a/src/openint/types/get_connection_response.py +++ b/src/openint/types/get_connection_response.py @@ -10,242 +10,241 @@ __all__ = [ "GetConnectionResponse", - "Item", - "ItemConnectorsAircallConnectionSettings", - "ItemConnectorsAircallConnectionSettingsSettings", - "ItemConnectorsAirtableConnectionSettings", - "ItemConnectorsAirtableConnectionSettingsSettings", - "ItemConnectorsApolloConnectionSettings", - "ItemConnectorsApolloConnectionSettingsSettings", - "ItemConnectorsApolloConnectionSettingsSettingsOAuth", - "ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsApolloConnectionSettingsSettingsError", - "ItemConnectorsBeancountConnectionSettings", - "ItemConnectorsBrexConnectionSettings", - "ItemConnectorsBrexConnectionSettingsSettings", - "ItemConnectorsCodaConnectionSettings", - "ItemConnectorsCodaConnectionSettingsSettings", - "ItemConnectorsConfluenceConnectionSettings", - "ItemConnectorsConfluenceConnectionSettingsSettings", - "ItemConnectorsConfluenceConnectionSettingsSettingsOAuth", - "ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsConfluenceConnectionSettingsSettingsError", - "ItemConnectorsDebugConnectionSettings", - "ItemConnectorsDiscordConnectionSettings", - "ItemConnectorsDiscordConnectionSettingsSettings", - "ItemConnectorsDiscordConnectionSettingsSettingsOAuth", - "ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsDiscordConnectionSettingsSettingsError", - "ItemConnectorsFinchConnectionSettings", - "ItemConnectorsFinchConnectionSettingsSettings", - "ItemConnectorsFirebaseConnectionSettings", - "ItemConnectorsFirebaseConnectionSettingsSettings", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthData", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0UserJson", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember1", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember2", - "ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig", - "ItemConnectorsForeceiptConnectionSettings", - "ItemConnectorsForeceiptConnectionSettingsSettings", - "ItemConnectorsFsConnectionSettings", - "ItemConnectorsFsConnectionSettingsSettings", - "ItemConnectorsGitHubConnectionSettings", - "ItemConnectorsGitHubConnectionSettingsSettings", - "ItemConnectorsGitHubConnectionSettingsSettingsOAuth", - "ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsGitHubConnectionSettingsSettingsError", - "ItemConnectorsGongConnectionSettings", - "ItemConnectorsGongConnectionSettingsSettings", - "ItemConnectorsGongConnectionSettingsSettingsOAuth", - "ItemConnectorsGongConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsGongConnectionSettingsSettingsError", - "ItemConnectorsGoogleConnectionSettings", - "ItemConnectorsGoogleConnectionSettingsSettings", - "ItemConnectorsGoogleConnectionSettingsSettingsOAuth", - "ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsGoogleConnectionSettingsSettingsError", - "ItemConnectorsGreenhouseConnectionSettings", - "ItemConnectorsGreenhouseConnectionSettingsSettings", - "ItemConnectorsHeronConnectionSettings", - "ItemConnectorsHubspotConnectionSettings", - "ItemConnectorsHubspotConnectionSettingsSettings", - "ItemConnectorsHubspotConnectionSettingsSettingsOAuth", - "ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsHubspotConnectionSettingsSettingsError", - "ItemConnectorsIntercomConnectionSettings", - "ItemConnectorsIntercomConnectionSettingsSettings", - "ItemConnectorsIntercomConnectionSettingsSettingsOAuth", - "ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsIntercomConnectionSettingsSettingsError", - "ItemConnectorsJiraConnectionSettings", - "ItemConnectorsJiraConnectionSettingsSettings", - "ItemConnectorsJiraConnectionSettingsSettingsOAuth", - "ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsJiraConnectionSettingsSettingsError", - "ItemConnectorsKustomerConnectionSettings", - "ItemConnectorsKustomerConnectionSettingsSettings", - "ItemConnectorsKustomerConnectionSettingsSettingsOAuth", - "ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsKustomerConnectionSettingsSettingsError", - "ItemConnectorsLeverConnectionSettings", - "ItemConnectorsLeverConnectionSettingsSettings", - "ItemConnectorsLeverConnectionSettingsSettingsOAuth", - "ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsLeverConnectionSettingsSettingsError", - "ItemConnectorsLinearConnectionSettings", - "ItemConnectorsLinearConnectionSettingsSettings", - "ItemConnectorsLinearConnectionSettingsSettingsOAuth", - "ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsLinearConnectionSettingsSettingsError", - "ItemConnectorsLunchmoneyConnectionSettings", - "ItemConnectorsMercuryConnectionSettings", - "ItemConnectorsMergeConnectionSettings", - "ItemConnectorsMergeConnectionSettingsSettings", - "ItemConnectorsMicrosoftConnectionSettings", - "ItemConnectorsMicrosoftConnectionSettingsSettings", - "ItemConnectorsMicrosoftConnectionSettingsSettingsOAuth", - "ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsMicrosoftConnectionSettingsSettingsError", - "ItemConnectorsMongoDBConnectionSettings", - "ItemConnectorsMongoDBConnectionSettingsSettings", - "ItemConnectorsMootaConnectionSettings", - "ItemConnectorsOnebrickConnectionSettings", - "ItemConnectorsOnebrickConnectionSettingsSettings", - "ItemConnectorsOutreachConnectionSettings", - "ItemConnectorsOutreachConnectionSettingsSettings", - "ItemConnectorsOutreachConnectionSettingsSettingsOAuth", - "ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsOutreachConnectionSettingsSettingsError", - "ItemConnectorsPipedriveConnectionSettings", - "ItemConnectorsPipedriveConnectionSettingsSettings", - "ItemConnectorsPipedriveConnectionSettingsSettingsOAuth", - "ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsPipedriveConnectionSettingsSettingsError", - "ItemConnectorsPlaidConnectionSettings", - "ItemConnectorsPlaidConnectionSettingsSettings", - "ItemConnectorsPostgresConnectionSettings", - "ItemConnectorsPostgresConnectionSettingsSettings", - "ItemConnectorsPostgresConnectionSettingsSettingsSourceQueries", - "ItemConnectorsQboConnectionSettings", - "ItemConnectorsQboConnectionSettingsSettings", - "ItemConnectorsQboConnectionSettingsSettingsOAuth", - "ItemConnectorsQboConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsQboConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsQboConnectionSettingsSettingsError", - "ItemConnectorsRampConnectionSettings", - "ItemConnectorsRampConnectionSettingsSettings", - "ItemConnectorsRevertConnectionSettings", - "ItemConnectorsRevertConnectionSettingsSettings", - "ItemConnectorsSalesforceConnectionSettings", - "ItemConnectorsSalesforceConnectionSettingsSettings", - "ItemConnectorsSalesforceConnectionSettingsSettingsOAuth", - "ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsSalesforceConnectionSettingsSettingsError", - "ItemConnectorsSalesloftConnectionSettings", - "ItemConnectorsSalesloftConnectionSettingsSettings", - "ItemConnectorsSalesloftConnectionSettingsSettingsOAuth", - "ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsSalesloftConnectionSettingsSettingsError", - "ItemConnectorsSaltedgeConnectionSettings", - "ItemConnectorsSlackConnectionSettings", - "ItemConnectorsSlackConnectionSettingsSettings", - "ItemConnectorsSlackConnectionSettingsSettingsOAuth", - "ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsSlackConnectionSettingsSettingsError", - "ItemConnectorsSplitwiseConnectionSettings", - "ItemConnectorsSplitwiseConnectionSettingsSettings", - "ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUser", - "ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications", - "ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture", - "ItemConnectorsSpreadsheetConnectionSettings", - "ItemConnectorsSpreadsheetConnectionSettingsSettings", - "ItemConnectorsStripeConnectionSettings", - "ItemConnectorsStripeConnectionSettingsSettings", - "ItemConnectorsTellerConnectionSettings", - "ItemConnectorsTellerConnectionSettingsSettings", - "ItemConnectorsTogglConnectionSettings", - "ItemConnectorsTogglConnectionSettingsSettings", - "ItemConnectorsTwentyConnectionSettings", - "ItemConnectorsTwentyConnectionSettingsSettings", - "ItemConnectorsVenmoConnectionSettings", - "ItemConnectorsVenmoConnectionSettingsSettings", - "ItemConnectorsWebhookConnectionSettings", - "ItemConnectorsWebhookConnectionSettingsSettings", - "ItemConnectorsWiseConnectionSettings", - "ItemConnectorsWiseConnectionSettingsSettings", - "ItemConnectorsXeroConnectionSettings", - "ItemConnectorsXeroConnectionSettingsSettings", - "ItemConnectorsXeroConnectionSettingsSettingsOAuth", - "ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsXeroConnectionSettingsSettingsError", - "ItemConnectorsYodleeConnectionSettings", - "ItemConnectorsYodleeConnectionSettingsSettings", - "ItemConnectorsYodleeConnectionSettingsSettingsAccessToken", - "ItemConnectorsYodleeConnectionSettingsSettingsProviderAccount", - "ItemConnectorsZohodeskConnectionSettings", - "ItemConnectorsZohodeskConnectionSettingsSettings", - "ItemConnectorsZohodeskConnectionSettingsSettingsOAuth", - "ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials", - "ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw", - "ItemConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig", - "ItemConnectorsZohodeskConnectionSettingsSettingsError", - "ItemConnectorsGoogledriveConnectionSettings", + "ConnectorsAircallConnectionSettings", + "ConnectorsAircallConnectionSettingsSettings", + "ConnectorsAirtableConnectionSettings", + "ConnectorsAirtableConnectionSettingsSettings", + "ConnectorsApolloConnectionSettings", + "ConnectorsApolloConnectionSettingsSettings", + "ConnectorsApolloConnectionSettingsSettingsOAuth", + "ConnectorsApolloConnectionSettingsSettingsOAuthCredentials", + "ConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsApolloConnectionSettingsSettingsError", + "ConnectorsBeancountConnectionSettings", + "ConnectorsBrexConnectionSettings", + "ConnectorsBrexConnectionSettingsSettings", + "ConnectorsCodaConnectionSettings", + "ConnectorsCodaConnectionSettingsSettings", + "ConnectorsConfluenceConnectionSettings", + "ConnectorsConfluenceConnectionSettingsSettings", + "ConnectorsConfluenceConnectionSettingsSettingsOAuth", + "ConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials", + "ConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsConfluenceConnectionSettingsSettingsError", + "ConnectorsDebugConnectionSettings", + "ConnectorsDiscordConnectionSettings", + "ConnectorsDiscordConnectionSettingsSettings", + "ConnectorsDiscordConnectionSettingsSettingsOAuth", + "ConnectorsDiscordConnectionSettingsSettingsOAuthCredentials", + "ConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsDiscordConnectionSettingsSettingsError", + "ConnectorsFinchConnectionSettings", + "ConnectorsFinchConnectionSettingsSettings", + "ConnectorsFirebaseConnectionSettings", + "ConnectorsFirebaseConnectionSettingsSettings", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember0", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthData", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0UserJson", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember1", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember2", + "ConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig", + "ConnectorsForeceiptConnectionSettings", + "ConnectorsForeceiptConnectionSettingsSettings", + "ConnectorsFsConnectionSettings", + "ConnectorsFsConnectionSettingsSettings", + "ConnectorsGitHubConnectionSettings", + "ConnectorsGitHubConnectionSettingsSettings", + "ConnectorsGitHubConnectionSettingsSettingsOAuth", + "ConnectorsGitHubConnectionSettingsSettingsOAuthCredentials", + "ConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsGitHubConnectionSettingsSettingsError", + "ConnectorsGongConnectionSettings", + "ConnectorsGongConnectionSettingsSettings", + "ConnectorsGongConnectionSettingsSettingsOAuth", + "ConnectorsGongConnectionSettingsSettingsOAuthCredentials", + "ConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsGongConnectionSettingsSettingsError", + "ConnectorsGoogleConnectionSettings", + "ConnectorsGoogleConnectionSettingsSettings", + "ConnectorsGoogleConnectionSettingsSettingsOAuth", + "ConnectorsGoogleConnectionSettingsSettingsOAuthCredentials", + "ConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsGoogleConnectionSettingsSettingsError", + "ConnectorsGreenhouseConnectionSettings", + "ConnectorsGreenhouseConnectionSettingsSettings", + "ConnectorsHeronConnectionSettings", + "ConnectorsHubspotConnectionSettings", + "ConnectorsHubspotConnectionSettingsSettings", + "ConnectorsHubspotConnectionSettingsSettingsOAuth", + "ConnectorsHubspotConnectionSettingsSettingsOAuthCredentials", + "ConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsHubspotConnectionSettingsSettingsError", + "ConnectorsIntercomConnectionSettings", + "ConnectorsIntercomConnectionSettingsSettings", + "ConnectorsIntercomConnectionSettingsSettingsOAuth", + "ConnectorsIntercomConnectionSettingsSettingsOAuthCredentials", + "ConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsIntercomConnectionSettingsSettingsError", + "ConnectorsJiraConnectionSettings", + "ConnectorsJiraConnectionSettingsSettings", + "ConnectorsJiraConnectionSettingsSettingsOAuth", + "ConnectorsJiraConnectionSettingsSettingsOAuthCredentials", + "ConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsJiraConnectionSettingsSettingsError", + "ConnectorsKustomerConnectionSettings", + "ConnectorsKustomerConnectionSettingsSettings", + "ConnectorsKustomerConnectionSettingsSettingsOAuth", + "ConnectorsKustomerConnectionSettingsSettingsOAuthCredentials", + "ConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsKustomerConnectionSettingsSettingsError", + "ConnectorsLeverConnectionSettings", + "ConnectorsLeverConnectionSettingsSettings", + "ConnectorsLeverConnectionSettingsSettingsOAuth", + "ConnectorsLeverConnectionSettingsSettingsOAuthCredentials", + "ConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsLeverConnectionSettingsSettingsError", + "ConnectorsLinearConnectionSettings", + "ConnectorsLinearConnectionSettingsSettings", + "ConnectorsLinearConnectionSettingsSettingsOAuth", + "ConnectorsLinearConnectionSettingsSettingsOAuthCredentials", + "ConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsLinearConnectionSettingsSettingsError", + "ConnectorsLunchmoneyConnectionSettings", + "ConnectorsMercuryConnectionSettings", + "ConnectorsMergeConnectionSettings", + "ConnectorsMergeConnectionSettingsSettings", + "ConnectorsMicrosoftConnectionSettings", + "ConnectorsMicrosoftConnectionSettingsSettings", + "ConnectorsMicrosoftConnectionSettingsSettingsOAuth", + "ConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials", + "ConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsMicrosoftConnectionSettingsSettingsError", + "ConnectorsMongoDBConnectionSettings", + "ConnectorsMongoDBConnectionSettingsSettings", + "ConnectorsMootaConnectionSettings", + "ConnectorsOnebrickConnectionSettings", + "ConnectorsOnebrickConnectionSettingsSettings", + "ConnectorsOutreachConnectionSettings", + "ConnectorsOutreachConnectionSettingsSettings", + "ConnectorsOutreachConnectionSettingsSettingsOAuth", + "ConnectorsOutreachConnectionSettingsSettingsOAuthCredentials", + "ConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsOutreachConnectionSettingsSettingsError", + "ConnectorsPipedriveConnectionSettings", + "ConnectorsPipedriveConnectionSettingsSettings", + "ConnectorsPipedriveConnectionSettingsSettingsOAuth", + "ConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials", + "ConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsPipedriveConnectionSettingsSettingsError", + "ConnectorsPlaidConnectionSettings", + "ConnectorsPlaidConnectionSettingsSettings", + "ConnectorsPostgresConnectionSettings", + "ConnectorsPostgresConnectionSettingsSettings", + "ConnectorsPostgresConnectionSettingsSettingsSourceQueries", + "ConnectorsQboConnectionSettings", + "ConnectorsQboConnectionSettingsSettings", + "ConnectorsQboConnectionSettingsSettingsOAuth", + "ConnectorsQboConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsQboConnectionSettingsSettingsOAuthCredentials", + "ConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsQboConnectionSettingsSettingsError", + "ConnectorsRampConnectionSettings", + "ConnectorsRampConnectionSettingsSettings", + "ConnectorsRevertConnectionSettings", + "ConnectorsRevertConnectionSettingsSettings", + "ConnectorsSalesforceConnectionSettings", + "ConnectorsSalesforceConnectionSettingsSettings", + "ConnectorsSalesforceConnectionSettingsSettingsOAuth", + "ConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials", + "ConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsSalesforceConnectionSettingsSettingsError", + "ConnectorsSalesloftConnectionSettings", + "ConnectorsSalesloftConnectionSettingsSettings", + "ConnectorsSalesloftConnectionSettingsSettingsOAuth", + "ConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials", + "ConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsSalesloftConnectionSettingsSettingsError", + "ConnectorsSaltedgeConnectionSettings", + "ConnectorsSlackConnectionSettings", + "ConnectorsSlackConnectionSettingsSettings", + "ConnectorsSlackConnectionSettingsSettingsOAuth", + "ConnectorsSlackConnectionSettingsSettingsOAuthCredentials", + "ConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsSlackConnectionSettingsSettingsError", + "ConnectorsSplitwiseConnectionSettings", + "ConnectorsSplitwiseConnectionSettingsSettings", + "ConnectorsSplitwiseConnectionSettingsSettingsCurrentUser", + "ConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications", + "ConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture", + "ConnectorsSpreadsheetConnectionSettings", + "ConnectorsSpreadsheetConnectionSettingsSettings", + "ConnectorsStripeConnectionSettings", + "ConnectorsStripeConnectionSettingsSettings", + "ConnectorsTellerConnectionSettings", + "ConnectorsTellerConnectionSettingsSettings", + "ConnectorsTogglConnectionSettings", + "ConnectorsTogglConnectionSettingsSettings", + "ConnectorsTwentyConnectionSettings", + "ConnectorsTwentyConnectionSettingsSettings", + "ConnectorsVenmoConnectionSettings", + "ConnectorsVenmoConnectionSettingsSettings", + "ConnectorsWebhookConnectionSettings", + "ConnectorsWebhookConnectionSettingsSettings", + "ConnectorsWiseConnectionSettings", + "ConnectorsWiseConnectionSettingsSettings", + "ConnectorsXeroConnectionSettings", + "ConnectorsXeroConnectionSettingsSettings", + "ConnectorsXeroConnectionSettingsSettingsOAuth", + "ConnectorsXeroConnectionSettingsSettingsOAuthCredentials", + "ConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsXeroConnectionSettingsSettingsError", + "ConnectorsYodleeConnectionSettings", + "ConnectorsYodleeConnectionSettingsSettings", + "ConnectorsYodleeConnectionSettingsSettingsAccessToken", + "ConnectorsYodleeConnectionSettingsSettingsProviderAccount", + "ConnectorsZohodeskConnectionSettings", + "ConnectorsZohodeskConnectionSettingsSettings", + "ConnectorsZohodeskConnectionSettingsSettingsOAuth", + "ConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials", + "ConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw", + "ConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig", + "ConnectorsZohodeskConnectionSettingsSettingsError", + "ConnectorsGoogledriveConnectionSettings", ] -class ItemConnectorsAircallConnectionSettingsSettings(BaseModel): +class ConnectorsAircallConnectionSettingsSettings(BaseModel): api_id: str = FieldInfo(alias="apiId") api_token: str = FieldInfo(alias="apiToken") -class ItemConnectorsAircallConnectionSettings(BaseModel): +class ConnectorsAircallConnectionSettings(BaseModel): connector_name: Literal["aircall"] - settings: ItemConnectorsAircallConnectionSettingsSettings + settings: ConnectorsAircallConnectionSettingsSettings id: Optional[str] = None @@ -256,16 +255,16 @@ class ItemConnectorsAircallConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsAirtableConnectionSettingsSettings(BaseModel): +class ConnectorsAirtableConnectionSettingsSettings(BaseModel): airtable_base: str = FieldInfo(alias="airtableBase") api_key: str = FieldInfo(alias="apiKey") -class ItemConnectorsAirtableConnectionSettings(BaseModel): +class ConnectorsAirtableConnectionSettings(BaseModel): connector_name: Literal["airtable"] - settings: ItemConnectorsAirtableConnectionSettingsSettings + settings: ConnectorsAirtableConnectionSettingsSettings id: Optional[str] = None @@ -276,7 +275,7 @@ class ItemConnectorsAirtableConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -292,8 +291,8 @@ class ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw(BaseMode scope: Optional[str] = None -class ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsApolloConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsApolloConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -306,7 +305,7 @@ class ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -318,30 +317,30 @@ class ItemConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig(BaseMo def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsApolloConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsApolloConnectionSettingsSettingsOAuthCredentials +class ConnectorsApolloConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsApolloConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsApolloConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsApolloConnectionSettingsSettingsError(BaseModel): +class ConnectorsApolloConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsApolloConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsApolloConnectionSettingsSettingsOAuth +class ConnectorsApolloConnectionSettingsSettings(BaseModel): + oauth: ConnectorsApolloConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsApolloConnectionSettingsSettingsError] = None + error: Optional[ConnectorsApolloConnectionSettingsSettingsError] = None -class ItemConnectorsApolloConnectionSettings(BaseModel): +class ConnectorsApolloConnectionSettings(BaseModel): connector_name: Literal["apollo"] - settings: ItemConnectorsApolloConnectionSettingsSettings + settings: ConnectorsApolloConnectionSettingsSettings id: Optional[str] = None @@ -352,7 +351,7 @@ class ItemConnectorsApolloConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsBeancountConnectionSettings(BaseModel): +class ConnectorsBeancountConnectionSettings(BaseModel): connector_name: Literal["beancount"] settings: None @@ -366,14 +365,14 @@ class ItemConnectorsBeancountConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsBrexConnectionSettingsSettings(BaseModel): +class ConnectorsBrexConnectionSettingsSettings(BaseModel): access_token: str = FieldInfo(alias="accessToken") -class ItemConnectorsBrexConnectionSettings(BaseModel): +class ConnectorsBrexConnectionSettings(BaseModel): connector_name: Literal["brex"] - settings: ItemConnectorsBrexConnectionSettingsSettings + settings: ConnectorsBrexConnectionSettingsSettings id: Optional[str] = None @@ -384,14 +383,14 @@ class ItemConnectorsBrexConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsCodaConnectionSettingsSettings(BaseModel): +class ConnectorsCodaConnectionSettingsSettings(BaseModel): api_key: str = FieldInfo(alias="apiKey") -class ItemConnectorsCodaConnectionSettings(BaseModel): +class ConnectorsCodaConnectionSettings(BaseModel): connector_name: Literal["coda"] - settings: ItemConnectorsCodaConnectionSettingsSettings + settings: ConnectorsCodaConnectionSettingsSettings id: Optional[str] = None @@ -402,7 +401,7 @@ class ItemConnectorsCodaConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -418,8 +417,8 @@ class ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw(Base scope: Optional[str] = None -class ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsConfluenceConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -432,7 +431,7 @@ class ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials(BaseMod refresh_token: Optional[str] = None -class ItemConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -444,30 +443,30 @@ class ItemConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig(Ba def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsConfluenceConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials +class ConnectorsConfluenceConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsConfluenceConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsConfluenceConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsConfluenceConnectionSettingsSettingsError(BaseModel): +class ConnectorsConfluenceConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsConfluenceConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsConfluenceConnectionSettingsSettingsOAuth +class ConnectorsConfluenceConnectionSettingsSettings(BaseModel): + oauth: ConnectorsConfluenceConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsConfluenceConnectionSettingsSettingsError] = None + error: Optional[ConnectorsConfluenceConnectionSettingsSettingsError] = None -class ItemConnectorsConfluenceConnectionSettings(BaseModel): +class ConnectorsConfluenceConnectionSettings(BaseModel): connector_name: Literal["confluence"] - settings: ItemConnectorsConfluenceConnectionSettingsSettings + settings: ConnectorsConfluenceConnectionSettingsSettings id: Optional[str] = None @@ -478,7 +477,7 @@ class ItemConnectorsConfluenceConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsDebugConnectionSettings(BaseModel): +class ConnectorsDebugConnectionSettings(BaseModel): connector_name: Literal["debug"] id: Optional[str] = None @@ -492,7 +491,7 @@ class ItemConnectorsDebugConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -508,8 +507,8 @@ class ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw(BaseMod scope: Optional[str] = None -class ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsDiscordConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsDiscordConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -522,7 +521,7 @@ class ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentials(BaseModel) refresh_token: Optional[str] = None -class ItemConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -534,30 +533,30 @@ class ItemConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig(BaseM def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsDiscordConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsDiscordConnectionSettingsSettingsOAuthCredentials +class ConnectorsDiscordConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsDiscordConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsDiscordConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsDiscordConnectionSettingsSettingsError(BaseModel): +class ConnectorsDiscordConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsDiscordConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsDiscordConnectionSettingsSettingsOAuth +class ConnectorsDiscordConnectionSettingsSettings(BaseModel): + oauth: ConnectorsDiscordConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsDiscordConnectionSettingsSettingsError] = None + error: Optional[ConnectorsDiscordConnectionSettingsSettingsError] = None -class ItemConnectorsDiscordConnectionSettings(BaseModel): +class ConnectorsDiscordConnectionSettings(BaseModel): connector_name: Literal["discord"] - settings: ItemConnectorsDiscordConnectionSettingsSettings + settings: ConnectorsDiscordConnectionSettingsSettings id: Optional[str] = None @@ -568,14 +567,14 @@ class ItemConnectorsDiscordConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsFinchConnectionSettingsSettings(BaseModel): +class ConnectorsFinchConnectionSettingsSettings(BaseModel): access_token: str -class ItemConnectorsFinchConnectionSettings(BaseModel): +class ConnectorsFinchConnectionSettings(BaseModel): connector_name: Literal["finch"] - settings: ItemConnectorsFinchConnectionSettingsSettings + settings: ConnectorsFinchConnectionSettingsSettings id: Optional[str] = None @@ -586,7 +585,7 @@ class ItemConnectorsFinchConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount(BaseModel): project_id: str if TYPE_CHECKING: @@ -596,15 +595,15 @@ class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember0(BaseModel): role: Literal["admin"] - service_account: ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount = FieldInfo( + service_account: ConnectorsFirebaseConnectionSettingsSettingsUnionMember0ServiceAccount = FieldInfo( alias="serviceAccount" ) -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0UserJson(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0UserJson(BaseModel): app_name: str = FieldInfo(alias="appName") sts_token_manager: Dict[str, object] = FieldInfo(alias="stsTokenManager") @@ -618,21 +617,21 @@ class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionM def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0(BaseModel): method: Literal["userJson"] - user_json: ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0UserJson = FieldInfo( + user_json: ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0UserJson = FieldInfo( alias="userJson" ) -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember1(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember1(BaseModel): custom_token: str = FieldInfo(alias="customToken") method: Literal["customToken"] -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember2(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember2(BaseModel): email: str method: Literal["emailPassword"] @@ -640,14 +639,14 @@ class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionM password: str -ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthData: TypeAlias = Union[ - ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0, - ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember1, - ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember2, +ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthData: TypeAlias = Union[ + ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember0, + ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember1, + ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthDataUnionMember2, ] -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig(BaseModel): +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig(BaseModel): api_key: str = FieldInfo(alias="apiKey") app_id: str = FieldInfo(alias="appId") @@ -665,26 +664,25 @@ class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig storage_bucket: Optional[str] = FieldInfo(alias="storageBucket", default=None) -class ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1(BaseModel): - auth_data: ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthData = FieldInfo(alias="authData") +class ConnectorsFirebaseConnectionSettingsSettingsUnionMember1(BaseModel): + auth_data: ConnectorsFirebaseConnectionSettingsSettingsUnionMember1AuthData = FieldInfo(alias="authData") - firebase_config: ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig = FieldInfo( + firebase_config: ConnectorsFirebaseConnectionSettingsSettingsUnionMember1FirebaseConfig = FieldInfo( alias="firebaseConfig" ) role: Literal["user"] -ItemConnectorsFirebaseConnectionSettingsSettings: TypeAlias = Union[ - ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember0, - ItemConnectorsFirebaseConnectionSettingsSettingsUnionMember1, +ConnectorsFirebaseConnectionSettingsSettings: TypeAlias = Union[ + ConnectorsFirebaseConnectionSettingsSettingsUnionMember0, ConnectorsFirebaseConnectionSettingsSettingsUnionMember1 ] -class ItemConnectorsFirebaseConnectionSettings(BaseModel): +class ConnectorsFirebaseConnectionSettings(BaseModel): connector_name: Literal["firebase"] - settings: ItemConnectorsFirebaseConnectionSettingsSettings + settings: ConnectorsFirebaseConnectionSettingsSettings id: Optional[str] = None @@ -695,7 +693,7 @@ class ItemConnectorsFirebaseConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsForeceiptConnectionSettingsSettings(BaseModel): +class ConnectorsForeceiptConnectionSettingsSettings(BaseModel): env_name: Literal["staging", "production"] = FieldInfo(alias="envName") api_id: Optional[object] = FieldInfo(alias="_id", default=None) @@ -705,10 +703,10 @@ class ItemConnectorsForeceiptConnectionSettingsSettings(BaseModel): options: Optional[object] = None -class ItemConnectorsForeceiptConnectionSettings(BaseModel): +class ConnectorsForeceiptConnectionSettings(BaseModel): connector_name: Literal["foreceipt"] - settings: ItemConnectorsForeceiptConnectionSettingsSettings + settings: ConnectorsForeceiptConnectionSettingsSettings id: Optional[str] = None @@ -719,14 +717,14 @@ class ItemConnectorsForeceiptConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsFsConnectionSettingsSettings(BaseModel): +class ConnectorsFsConnectionSettingsSettings(BaseModel): base_path: str = FieldInfo(alias="basePath") -class ItemConnectorsFsConnectionSettings(BaseModel): +class ConnectorsFsConnectionSettings(BaseModel): connector_name: Literal["fs"] - settings: ItemConnectorsFsConnectionSettingsSettings + settings: ConnectorsFsConnectionSettingsSettings id: Optional[str] = None @@ -737,7 +735,7 @@ class ItemConnectorsFsConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -753,8 +751,8 @@ class ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw(BaseMode scope: Optional[str] = None -class ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsGitHubConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsGitHubConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -767,7 +765,7 @@ class ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -779,30 +777,30 @@ class ItemConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig(BaseMo def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsGitHubConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsGitHubConnectionSettingsSettingsOAuthCredentials +class ConnectorsGitHubConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsGitHubConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsGitHubConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsGitHubConnectionSettingsSettingsError(BaseModel): +class ConnectorsGitHubConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsGitHubConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsGitHubConnectionSettingsSettingsOAuth +class ConnectorsGitHubConnectionSettingsSettings(BaseModel): + oauth: ConnectorsGitHubConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsGitHubConnectionSettingsSettingsError] = None + error: Optional[ConnectorsGitHubConnectionSettingsSettingsError] = None -class ItemConnectorsGitHubConnectionSettings(BaseModel): +class ConnectorsGitHubConnectionSettings(BaseModel): connector_name: Literal["github"] - settings: ItemConnectorsGitHubConnectionSettingsSettings + settings: ConnectorsGitHubConnectionSettingsSettings id: Optional[str] = None @@ -813,7 +811,7 @@ class ItemConnectorsGitHubConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -829,8 +827,8 @@ class ItemConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel) scope: Optional[str] = None -class ItemConnectorsGongConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsGongConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsGongConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -843,7 +841,7 @@ class ItemConnectorsGongConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -855,30 +853,30 @@ class ItemConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig(BaseMode def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsGongConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsGongConnectionSettingsSettingsOAuthCredentials +class ConnectorsGongConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsGongConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsGongConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsGongConnectionSettingsSettingsError(BaseModel): +class ConnectorsGongConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsGongConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsGongConnectionSettingsSettingsOAuth +class ConnectorsGongConnectionSettingsSettings(BaseModel): + oauth: ConnectorsGongConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsGongConnectionSettingsSettingsError] = None + error: Optional[ConnectorsGongConnectionSettingsSettingsError] = None -class ItemConnectorsGongConnectionSettings(BaseModel): +class ConnectorsGongConnectionSettings(BaseModel): connector_name: Literal["gong"] - settings: ItemConnectorsGongConnectionSettingsSettings + settings: ConnectorsGongConnectionSettingsSettings id: Optional[str] = None @@ -889,7 +887,7 @@ class ItemConnectorsGongConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -905,8 +903,8 @@ class ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw(BaseMode scope: Optional[str] = None -class ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsGoogleConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsGoogleConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -919,7 +917,7 @@ class ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -931,32 +929,32 @@ class ItemConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig(BaseMo def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsGoogleConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsGoogleConnectionSettingsSettingsOAuthCredentials +class ConnectorsGoogleConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsGoogleConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsGoogleConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsGoogleConnectionSettingsSettingsError(BaseModel): +class ConnectorsGoogleConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsGoogleConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsGoogleConnectionSettingsSettingsOAuth +class ConnectorsGoogleConnectionSettingsSettings(BaseModel): + oauth: ConnectorsGoogleConnectionSettingsSettingsOAuth client_id: Optional[str] = None - error: Optional[ItemConnectorsGoogleConnectionSettingsSettingsError] = None + error: Optional[ConnectorsGoogleConnectionSettingsSettingsError] = None -class ItemConnectorsGoogleConnectionSettings(BaseModel): +class ConnectorsGoogleConnectionSettings(BaseModel): connector_name: Literal["google"] - settings: ItemConnectorsGoogleConnectionSettingsSettings + settings: ConnectorsGoogleConnectionSettingsSettings id: Optional[str] = None @@ -967,14 +965,14 @@ class ItemConnectorsGoogleConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGreenhouseConnectionSettingsSettings(BaseModel): +class ConnectorsGreenhouseConnectionSettingsSettings(BaseModel): api_key: str = FieldInfo(alias="apiKey") -class ItemConnectorsGreenhouseConnectionSettings(BaseModel): +class ConnectorsGreenhouseConnectionSettings(BaseModel): connector_name: Literal["greenhouse"] - settings: ItemConnectorsGreenhouseConnectionSettingsSettings + settings: ConnectorsGreenhouseConnectionSettingsSettings id: Optional[str] = None @@ -985,7 +983,7 @@ class ItemConnectorsGreenhouseConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsHeronConnectionSettings(BaseModel): +class ConnectorsHeronConnectionSettings(BaseModel): connector_name: Literal["heron"] settings: None @@ -999,7 +997,7 @@ class ItemConnectorsHeronConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1015,8 +1013,8 @@ class ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw(BaseMod scope: Optional[str] = None -class ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsHubspotConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsHubspotConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1029,7 +1027,7 @@ class ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentials(BaseModel) refresh_token: Optional[str] = None -class ItemConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1041,32 +1039,32 @@ class ItemConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig(BaseM def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsHubspotConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsHubspotConnectionSettingsSettingsOAuthCredentials +class ConnectorsHubspotConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsHubspotConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsHubspotConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsHubspotConnectionSettingsSettingsError(BaseModel): +class ConnectorsHubspotConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsHubspotConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsHubspotConnectionSettingsSettingsOAuth +class ConnectorsHubspotConnectionSettingsSettings(BaseModel): + oauth: ConnectorsHubspotConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsHubspotConnectionSettingsSettingsError] = None + error: Optional[ConnectorsHubspotConnectionSettingsSettingsError] = None extra: Optional[object] = None -class ItemConnectorsHubspotConnectionSettings(BaseModel): +class ConnectorsHubspotConnectionSettings(BaseModel): connector_name: Literal["hubspot"] - settings: ItemConnectorsHubspotConnectionSettingsSettings + settings: ConnectorsHubspotConnectionSettingsSettings id: Optional[str] = None @@ -1077,7 +1075,7 @@ class ItemConnectorsHubspotConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1093,8 +1091,8 @@ class ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw(BaseMo scope: Optional[str] = None -class ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsIntercomConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsIntercomConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1107,7 +1105,7 @@ class ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentials(BaseModel refresh_token: Optional[str] = None -class ItemConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1119,30 +1117,30 @@ class ItemConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig(Base def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsIntercomConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsIntercomConnectionSettingsSettingsOAuthCredentials +class ConnectorsIntercomConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsIntercomConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsIntercomConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsIntercomConnectionSettingsSettingsError(BaseModel): +class ConnectorsIntercomConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsIntercomConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsIntercomConnectionSettingsSettingsOAuth +class ConnectorsIntercomConnectionSettingsSettings(BaseModel): + oauth: ConnectorsIntercomConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsIntercomConnectionSettingsSettingsError] = None + error: Optional[ConnectorsIntercomConnectionSettingsSettingsError] = None -class ItemConnectorsIntercomConnectionSettings(BaseModel): +class ConnectorsIntercomConnectionSettings(BaseModel): connector_name: Literal["intercom"] - settings: ItemConnectorsIntercomConnectionSettingsSettings + settings: ConnectorsIntercomConnectionSettingsSettings id: Optional[str] = None @@ -1153,7 +1151,7 @@ class ItemConnectorsIntercomConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1169,8 +1167,8 @@ class ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel) scope: Optional[str] = None -class ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsJiraConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsJiraConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1183,7 +1181,7 @@ class ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1195,30 +1193,30 @@ class ItemConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig(BaseMode def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsJiraConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsJiraConnectionSettingsSettingsOAuthCredentials +class ConnectorsJiraConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsJiraConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsJiraConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsJiraConnectionSettingsSettingsError(BaseModel): +class ConnectorsJiraConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsJiraConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsJiraConnectionSettingsSettingsOAuth +class ConnectorsJiraConnectionSettingsSettings(BaseModel): + oauth: ConnectorsJiraConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsJiraConnectionSettingsSettingsError] = None + error: Optional[ConnectorsJiraConnectionSettingsSettingsError] = None -class ItemConnectorsJiraConnectionSettings(BaseModel): +class ConnectorsJiraConnectionSettings(BaseModel): connector_name: Literal["jira"] - settings: ItemConnectorsJiraConnectionSettingsSettings + settings: ConnectorsJiraConnectionSettingsSettings id: Optional[str] = None @@ -1229,7 +1227,7 @@ class ItemConnectorsJiraConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1245,8 +1243,8 @@ class ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw(BaseMo scope: Optional[str] = None -class ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsKustomerConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsKustomerConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1259,7 +1257,7 @@ class ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentials(BaseModel refresh_token: Optional[str] = None -class ItemConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1271,30 +1269,30 @@ class ItemConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig(Base def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsKustomerConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsKustomerConnectionSettingsSettingsOAuthCredentials +class ConnectorsKustomerConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsKustomerConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsKustomerConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsKustomerConnectionSettingsSettingsError(BaseModel): +class ConnectorsKustomerConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsKustomerConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsKustomerConnectionSettingsSettingsOAuth +class ConnectorsKustomerConnectionSettingsSettings(BaseModel): + oauth: ConnectorsKustomerConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsKustomerConnectionSettingsSettingsError] = None + error: Optional[ConnectorsKustomerConnectionSettingsSettingsError] = None -class ItemConnectorsKustomerConnectionSettings(BaseModel): +class ConnectorsKustomerConnectionSettings(BaseModel): connector_name: Literal["kustomer"] - settings: ItemConnectorsKustomerConnectionSettingsSettings + settings: ConnectorsKustomerConnectionSettingsSettings id: Optional[str] = None @@ -1305,7 +1303,7 @@ class ItemConnectorsKustomerConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1321,8 +1319,8 @@ class ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel scope: Optional[str] = None -class ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsLeverConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsLeverConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1335,7 +1333,7 @@ class ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1347,30 +1345,30 @@ class ItemConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig(BaseMod def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsLeverConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsLeverConnectionSettingsSettingsOAuthCredentials +class ConnectorsLeverConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsLeverConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsLeverConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsLeverConnectionSettingsSettingsError(BaseModel): +class ConnectorsLeverConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsLeverConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsLeverConnectionSettingsSettingsOAuth +class ConnectorsLeverConnectionSettingsSettings(BaseModel): + oauth: ConnectorsLeverConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsLeverConnectionSettingsSettingsError] = None + error: Optional[ConnectorsLeverConnectionSettingsSettingsError] = None -class ItemConnectorsLeverConnectionSettings(BaseModel): +class ConnectorsLeverConnectionSettings(BaseModel): connector_name: Literal["lever"] - settings: ItemConnectorsLeverConnectionSettingsSettings + settings: ConnectorsLeverConnectionSettingsSettings id: Optional[str] = None @@ -1381,7 +1379,7 @@ class ItemConnectorsLeverConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1397,8 +1395,8 @@ class ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw(BaseMode scope: Optional[str] = None -class ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsLinearConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsLinearConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1411,7 +1409,7 @@ class ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1423,30 +1421,30 @@ class ItemConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig(BaseMo def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsLinearConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsLinearConnectionSettingsSettingsOAuthCredentials +class ConnectorsLinearConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsLinearConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsLinearConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsLinearConnectionSettingsSettingsError(BaseModel): +class ConnectorsLinearConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsLinearConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsLinearConnectionSettingsSettingsOAuth +class ConnectorsLinearConnectionSettingsSettings(BaseModel): + oauth: ConnectorsLinearConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsLinearConnectionSettingsSettingsError] = None + error: Optional[ConnectorsLinearConnectionSettingsSettingsError] = None -class ItemConnectorsLinearConnectionSettings(BaseModel): +class ConnectorsLinearConnectionSettings(BaseModel): connector_name: Literal["linear"] - settings: ItemConnectorsLinearConnectionSettingsSettings + settings: ConnectorsLinearConnectionSettingsSettings id: Optional[str] = None @@ -1457,7 +1455,7 @@ class ItemConnectorsLinearConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsLunchmoneyConnectionSettings(BaseModel): +class ConnectorsLunchmoneyConnectionSettings(BaseModel): connector_name: Literal["lunchmoney"] settings: None @@ -1471,7 +1469,7 @@ class ItemConnectorsLunchmoneyConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMercuryConnectionSettings(BaseModel): +class ConnectorsMercuryConnectionSettings(BaseModel): connector_name: Literal["mercury"] settings: None @@ -1485,16 +1483,16 @@ class ItemConnectorsMercuryConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMergeConnectionSettingsSettings(BaseModel): +class ConnectorsMergeConnectionSettingsSettings(BaseModel): account_token: str = FieldInfo(alias="accountToken") account_details: Optional[object] = FieldInfo(alias="accountDetails", default=None) -class ItemConnectorsMergeConnectionSettings(BaseModel): +class ConnectorsMergeConnectionSettings(BaseModel): connector_name: Literal["merge"] - settings: ItemConnectorsMergeConnectionSettingsSettings + settings: ConnectorsMergeConnectionSettingsSettings id: Optional[str] = None @@ -1505,7 +1503,7 @@ class ItemConnectorsMergeConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1521,8 +1519,8 @@ class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw(BaseM scope: Optional[str] = None -class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1535,7 +1533,7 @@ class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials(BaseMode refresh_token: Optional[str] = None -class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1547,32 +1545,32 @@ class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig(Bas def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsMicrosoftConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials +class ConnectorsMicrosoftConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsMicrosoftConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsMicrosoftConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsMicrosoftConnectionSettingsSettingsError(BaseModel): +class ConnectorsMicrosoftConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsMicrosoftConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsMicrosoftConnectionSettingsSettingsOAuth +class ConnectorsMicrosoftConnectionSettingsSettings(BaseModel): + oauth: ConnectorsMicrosoftConnectionSettingsSettingsOAuth client_id: Optional[str] = None - error: Optional[ItemConnectorsMicrosoftConnectionSettingsSettingsError] = None + error: Optional[ConnectorsMicrosoftConnectionSettingsSettingsError] = None -class ItemConnectorsMicrosoftConnectionSettings(BaseModel): +class ConnectorsMicrosoftConnectionSettings(BaseModel): connector_name: Literal["microsoft"] - settings: ItemConnectorsMicrosoftConnectionSettingsSettings + settings: ConnectorsMicrosoftConnectionSettingsSettings id: Optional[str] = None @@ -1583,16 +1581,16 @@ class ItemConnectorsMicrosoftConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMongoDBConnectionSettingsSettings(BaseModel): +class ConnectorsMongoDBConnectionSettingsSettings(BaseModel): database_name: str = FieldInfo(alias="databaseName") database_url: str = FieldInfo(alias="databaseUrl") -class ItemConnectorsMongoDBConnectionSettings(BaseModel): +class ConnectorsMongoDBConnectionSettings(BaseModel): connector_name: Literal["mongodb"] - settings: ItemConnectorsMongoDBConnectionSettingsSettings + settings: ConnectorsMongoDBConnectionSettingsSettings id: Optional[str] = None @@ -1603,7 +1601,7 @@ class ItemConnectorsMongoDBConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMootaConnectionSettings(BaseModel): +class ConnectorsMootaConnectionSettings(BaseModel): connector_name: Literal["moota"] settings: None @@ -1617,14 +1615,14 @@ class ItemConnectorsMootaConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsOnebrickConnectionSettingsSettings(BaseModel): +class ConnectorsOnebrickConnectionSettingsSettings(BaseModel): access_token: str = FieldInfo(alias="accessToken") -class ItemConnectorsOnebrickConnectionSettings(BaseModel): +class ConnectorsOnebrickConnectionSettings(BaseModel): connector_name: Literal["onebrick"] - settings: ItemConnectorsOnebrickConnectionSettingsSettings + settings: ConnectorsOnebrickConnectionSettingsSettings id: Optional[str] = None @@ -1635,7 +1633,7 @@ class ItemConnectorsOnebrickConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1651,8 +1649,8 @@ class ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw(BaseMo scope: Optional[str] = None -class ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsOutreachConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsOutreachConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1665,7 +1663,7 @@ class ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentials(BaseModel refresh_token: Optional[str] = None -class ItemConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1677,30 +1675,30 @@ class ItemConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig(Base def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsOutreachConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsOutreachConnectionSettingsSettingsOAuthCredentials +class ConnectorsOutreachConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsOutreachConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsOutreachConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsOutreachConnectionSettingsSettingsError(BaseModel): +class ConnectorsOutreachConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsOutreachConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsOutreachConnectionSettingsSettingsOAuth +class ConnectorsOutreachConnectionSettingsSettings(BaseModel): + oauth: ConnectorsOutreachConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsOutreachConnectionSettingsSettingsError] = None + error: Optional[ConnectorsOutreachConnectionSettingsSettingsError] = None -class ItemConnectorsOutreachConnectionSettings(BaseModel): +class ConnectorsOutreachConnectionSettings(BaseModel): connector_name: Literal["outreach"] - settings: ItemConnectorsOutreachConnectionSettingsSettings + settings: ConnectorsOutreachConnectionSettingsSettings id: Optional[str] = None @@ -1711,7 +1709,7 @@ class ItemConnectorsOutreachConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1727,8 +1725,8 @@ class ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw(BaseM scope: Optional[str] = None -class ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsPipedriveConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1741,7 +1739,7 @@ class ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials(BaseMode refresh_token: Optional[str] = None -class ItemConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1753,30 +1751,30 @@ class ItemConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig(Bas def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsPipedriveConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials +class ConnectorsPipedriveConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsPipedriveConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsPipedriveConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsPipedriveConnectionSettingsSettingsError(BaseModel): +class ConnectorsPipedriveConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsPipedriveConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsPipedriveConnectionSettingsSettingsOAuth +class ConnectorsPipedriveConnectionSettingsSettings(BaseModel): + oauth: ConnectorsPipedriveConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsPipedriveConnectionSettingsSettingsError] = None + error: Optional[ConnectorsPipedriveConnectionSettingsSettingsError] = None -class ItemConnectorsPipedriveConnectionSettings(BaseModel): +class ConnectorsPipedriveConnectionSettings(BaseModel): connector_name: Literal["pipedrive"] - settings: ItemConnectorsPipedriveConnectionSettingsSettings + settings: ConnectorsPipedriveConnectionSettingsSettings id: Optional[str] = None @@ -1787,7 +1785,7 @@ class ItemConnectorsPipedriveConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsPlaidConnectionSettingsSettings(BaseModel): +class ConnectorsPlaidConnectionSettingsSettings(BaseModel): access_token: str = FieldInfo(alias="accessToken") institution: Optional[object] = None @@ -1801,10 +1799,10 @@ class ItemConnectorsPlaidConnectionSettingsSettings(BaseModel): webhook_item_error: None = FieldInfo(alias="webhookItemError", default=None) -class ItemConnectorsPlaidConnectionSettings(BaseModel): +class ConnectorsPlaidConnectionSettings(BaseModel): connector_name: Literal["plaid"] - settings: ItemConnectorsPlaidConnectionSettingsSettings + settings: ConnectorsPlaidConnectionSettingsSettings id: Optional[str] = None @@ -1815,24 +1813,24 @@ class ItemConnectorsPlaidConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsPostgresConnectionSettingsSettingsSourceQueries(BaseModel): +class ConnectorsPostgresConnectionSettingsSettingsSourceQueries(BaseModel): invoice: Optional[str] = None -class ItemConnectorsPostgresConnectionSettingsSettings(BaseModel): +class ConnectorsPostgresConnectionSettingsSettings(BaseModel): database_url: str = FieldInfo(alias="databaseUrl") migrate_tables: Optional[bool] = FieldInfo(alias="migrateTables", default=None) - source_queries: Optional[ItemConnectorsPostgresConnectionSettingsSettingsSourceQueries] = FieldInfo( + source_queries: Optional[ConnectorsPostgresConnectionSettingsSettingsSourceQueries] = FieldInfo( alias="sourceQueries", default=None ) -class ItemConnectorsPostgresConnectionSettings(BaseModel): +class ConnectorsPostgresConnectionSettings(BaseModel): connector_name: Literal["postgres"] - settings: ItemConnectorsPostgresConnectionSettingsSettings + settings: ConnectorsPostgresConnectionSettingsSettings id: Optional[str] = None @@ -1843,11 +1841,11 @@ class ItemConnectorsPostgresConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsQboConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsQboConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): realm_id: str = FieldInfo(alias="realmId") -class ItemConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1863,8 +1861,8 @@ class ItemConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): scope: Optional[str] = None -class ItemConnectorsQboConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsQboConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsQboConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1877,30 +1875,30 @@ class ItemConnectorsQboConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsQboConnectionSettingsSettingsOAuth(BaseModel): - connection_config: ItemConnectorsQboConnectionSettingsSettingsOAuthConnectionConfig +class ConnectorsQboConnectionSettingsSettingsOAuth(BaseModel): + connection_config: ConnectorsQboConnectionSettingsSettingsOAuthConnectionConfig - credentials: ItemConnectorsQboConnectionSettingsSettingsOAuthCredentials + credentials: ConnectorsQboConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None -class ItemConnectorsQboConnectionSettingsSettingsError(BaseModel): +class ConnectorsQboConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsQboConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsQboConnectionSettingsSettingsOAuth +class ConnectorsQboConnectionSettingsSettings(BaseModel): + oauth: ConnectorsQboConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsQboConnectionSettingsSettingsError] = None + error: Optional[ConnectorsQboConnectionSettingsSettingsError] = None -class ItemConnectorsQboConnectionSettings(BaseModel): +class ConnectorsQboConnectionSettings(BaseModel): connector_name: Literal["qbo"] - settings: ItemConnectorsQboConnectionSettingsSettings + settings: ConnectorsQboConnectionSettingsSettings id: Optional[str] = None @@ -1911,16 +1909,16 @@ class ItemConnectorsQboConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsRampConnectionSettingsSettings(BaseModel): +class ConnectorsRampConnectionSettingsSettings(BaseModel): access_token: Optional[str] = FieldInfo(alias="accessToken", default=None) start_after_transaction_id: Optional[str] = FieldInfo(alias="startAfterTransactionId", default=None) -class ItemConnectorsRampConnectionSettings(BaseModel): +class ConnectorsRampConnectionSettings(BaseModel): connector_name: Literal["ramp"] - settings: ItemConnectorsRampConnectionSettingsSettings + settings: ConnectorsRampConnectionSettingsSettings id: Optional[str] = None @@ -1931,14 +1929,14 @@ class ItemConnectorsRampConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsRevertConnectionSettingsSettings(BaseModel): +class ConnectorsRevertConnectionSettingsSettings(BaseModel): tenant_id: str -class ItemConnectorsRevertConnectionSettings(BaseModel): +class ConnectorsRevertConnectionSettings(BaseModel): connector_name: Literal["revert"] - settings: ItemConnectorsRevertConnectionSettingsSettings + settings: ConnectorsRevertConnectionSettingsSettings id: Optional[str] = None @@ -1949,7 +1947,7 @@ class ItemConnectorsRevertConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -1965,8 +1963,8 @@ class ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw(Base scope: Optional[str] = None -class ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsSalesforceConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -1979,7 +1977,7 @@ class ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials(BaseMod refresh_token: Optional[str] = None -class ItemConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -1991,30 +1989,30 @@ class ItemConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig(Ba def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsSalesforceConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials +class ConnectorsSalesforceConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsSalesforceConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsSalesforceConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsSalesforceConnectionSettingsSettingsError(BaseModel): +class ConnectorsSalesforceConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsSalesforceConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsSalesforceConnectionSettingsSettingsOAuth +class ConnectorsSalesforceConnectionSettingsSettings(BaseModel): + oauth: ConnectorsSalesforceConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsSalesforceConnectionSettingsSettingsError] = None + error: Optional[ConnectorsSalesforceConnectionSettingsSettingsError] = None -class ItemConnectorsSalesforceConnectionSettings(BaseModel): +class ConnectorsSalesforceConnectionSettings(BaseModel): connector_name: Literal["salesforce"] - settings: ItemConnectorsSalesforceConnectionSettingsSettings + settings: ConnectorsSalesforceConnectionSettingsSettings id: Optional[str] = None @@ -2025,7 +2023,7 @@ class ItemConnectorsSalesforceConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -2041,8 +2039,8 @@ class ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw(BaseM scope: Optional[str] = None -class ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsSalesloftConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -2055,7 +2053,7 @@ class ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials(BaseMode refresh_token: Optional[str] = None -class ItemConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -2067,30 +2065,30 @@ class ItemConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig(Bas def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsSalesloftConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials +class ConnectorsSalesloftConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsSalesloftConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsSalesloftConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsSalesloftConnectionSettingsSettingsError(BaseModel): +class ConnectorsSalesloftConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsSalesloftConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsSalesloftConnectionSettingsSettingsOAuth +class ConnectorsSalesloftConnectionSettingsSettings(BaseModel): + oauth: ConnectorsSalesloftConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsSalesloftConnectionSettingsSettingsError] = None + error: Optional[ConnectorsSalesloftConnectionSettingsSettingsError] = None -class ItemConnectorsSalesloftConnectionSettings(BaseModel): +class ConnectorsSalesloftConnectionSettings(BaseModel): connector_name: Literal["salesloft"] - settings: ItemConnectorsSalesloftConnectionSettingsSettings + settings: ConnectorsSalesloftConnectionSettingsSettings id: Optional[str] = None @@ -2101,7 +2099,7 @@ class ItemConnectorsSalesloftConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSaltedgeConnectionSettings(BaseModel): +class ConnectorsSaltedgeConnectionSettings(BaseModel): connector_name: Literal["saltedge"] id: Optional[str] = None @@ -2115,7 +2113,7 @@ class ItemConnectorsSaltedgeConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -2131,8 +2129,8 @@ class ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel scope: Optional[str] = None -class ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsSlackConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsSlackConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -2145,7 +2143,7 @@ class ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -2157,30 +2155,30 @@ class ItemConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig(BaseMod def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsSlackConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsSlackConnectionSettingsSettingsOAuthCredentials +class ConnectorsSlackConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsSlackConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsSlackConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsSlackConnectionSettingsSettingsError(BaseModel): +class ConnectorsSlackConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsSlackConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsSlackConnectionSettingsSettingsOAuth +class ConnectorsSlackConnectionSettingsSettings(BaseModel): + oauth: ConnectorsSlackConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsSlackConnectionSettingsSettingsError] = None + error: Optional[ConnectorsSlackConnectionSettingsSettingsError] = None -class ItemConnectorsSlackConnectionSettings(BaseModel): +class ConnectorsSlackConnectionSettings(BaseModel): connector_name: Literal["slack"] - settings: ItemConnectorsSlackConnectionSettingsSettings + settings: ConnectorsSlackConnectionSettingsSettings id: Optional[str] = None @@ -2191,7 +2189,7 @@ class ItemConnectorsSlackConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications(BaseModel): +class ConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications(BaseModel): added_as_friend: bool added_to_group: bool @@ -2209,7 +2207,7 @@ class ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications( payments: bool -class ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture(BaseModel): +class ConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture(BaseModel): large: Optional[str] = None medium: Optional[str] = None @@ -2223,7 +2221,7 @@ class ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture(BaseMo xxlarge: Optional[str] = None -class ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUser(BaseModel): +class ConnectorsSplitwiseConnectionSettingsSettingsCurrentUser(BaseModel): id: float country_code: str @@ -2246,29 +2244,29 @@ class ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUser(BaseModel): locale: str - notifications: ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications + notifications: ConnectorsSplitwiseConnectionSettingsSettingsCurrentUserNotifications notifications_count: float notifications_read: str - picture: ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture + picture: ConnectorsSplitwiseConnectionSettingsSettingsCurrentUserPicture registration_status: str -class ItemConnectorsSplitwiseConnectionSettingsSettings(BaseModel): +class ConnectorsSplitwiseConnectionSettingsSettings(BaseModel): access_token: str = FieldInfo(alias="accessToken") - current_user: Optional[ItemConnectorsSplitwiseConnectionSettingsSettingsCurrentUser] = FieldInfo( + current_user: Optional[ConnectorsSplitwiseConnectionSettingsSettingsCurrentUser] = FieldInfo( alias="currentUser", default=None ) -class ItemConnectorsSplitwiseConnectionSettings(BaseModel): +class ConnectorsSplitwiseConnectionSettings(BaseModel): connector_name: Literal["splitwise"] - settings: ItemConnectorsSplitwiseConnectionSettingsSettings + settings: ConnectorsSplitwiseConnectionSettingsSettings id: Optional[str] = None @@ -2279,7 +2277,7 @@ class ItemConnectorsSplitwiseConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSpreadsheetConnectionSettingsSettings(BaseModel): +class ConnectorsSpreadsheetConnectionSettingsSettings(BaseModel): account_external_id: str = FieldInfo(alias="accountExternalId") preset: Literal[ @@ -2299,10 +2297,10 @@ class ItemConnectorsSpreadsheetConnectionSettingsSettings(BaseModel): ] -class ItemConnectorsSpreadsheetConnectionSettings(BaseModel): +class ConnectorsSpreadsheetConnectionSettings(BaseModel): connector_name: Literal["spreadsheet"] - settings: ItemConnectorsSpreadsheetConnectionSettingsSettings + settings: ConnectorsSpreadsheetConnectionSettingsSettings id: Optional[str] = None @@ -2313,14 +2311,14 @@ class ItemConnectorsSpreadsheetConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsStripeConnectionSettingsSettings(BaseModel): +class ConnectorsStripeConnectionSettingsSettings(BaseModel): secret_key: str = FieldInfo(alias="secretKey") -class ItemConnectorsStripeConnectionSettings(BaseModel): +class ConnectorsStripeConnectionSettings(BaseModel): connector_name: Literal["stripe"] - settings: ItemConnectorsStripeConnectionSettingsSettings + settings: ConnectorsStripeConnectionSettingsSettings id: Optional[str] = None @@ -2331,14 +2329,14 @@ class ItemConnectorsStripeConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsTellerConnectionSettingsSettings(BaseModel): +class ConnectorsTellerConnectionSettingsSettings(BaseModel): token: str -class ItemConnectorsTellerConnectionSettings(BaseModel): +class ConnectorsTellerConnectionSettings(BaseModel): connector_name: Literal["teller"] - settings: ItemConnectorsTellerConnectionSettingsSettings + settings: ConnectorsTellerConnectionSettingsSettings id: Optional[str] = None @@ -2349,7 +2347,7 @@ class ItemConnectorsTellerConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsTogglConnectionSettingsSettings(BaseModel): +class ConnectorsTogglConnectionSettingsSettings(BaseModel): api_token: str = FieldInfo(alias="apiToken") email: Optional[str] = None @@ -2357,10 +2355,10 @@ class ItemConnectorsTogglConnectionSettingsSettings(BaseModel): password: Optional[str] = None -class ItemConnectorsTogglConnectionSettings(BaseModel): +class ConnectorsTogglConnectionSettings(BaseModel): connector_name: Literal["toggl"] - settings: ItemConnectorsTogglConnectionSettingsSettings + settings: ConnectorsTogglConnectionSettingsSettings id: Optional[str] = None @@ -2371,14 +2369,14 @@ class ItemConnectorsTogglConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsTwentyConnectionSettingsSettings(BaseModel): +class ConnectorsTwentyConnectionSettingsSettings(BaseModel): access_token: str -class ItemConnectorsTwentyConnectionSettings(BaseModel): +class ConnectorsTwentyConnectionSettings(BaseModel): connector_name: Literal["twenty"] - settings: ItemConnectorsTwentyConnectionSettingsSettings + settings: ConnectorsTwentyConnectionSettingsSettings id: Optional[str] = None @@ -2389,16 +2387,16 @@ class ItemConnectorsTwentyConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsVenmoConnectionSettingsSettings(BaseModel): +class ConnectorsVenmoConnectionSettingsSettings(BaseModel): credentials: Optional[object] = None me: Optional[object] = None -class ItemConnectorsVenmoConnectionSettings(BaseModel): +class ConnectorsVenmoConnectionSettings(BaseModel): connector_name: Literal["venmo"] - settings: ItemConnectorsVenmoConnectionSettingsSettings + settings: ConnectorsVenmoConnectionSettingsSettings id: Optional[str] = None @@ -2409,14 +2407,14 @@ class ItemConnectorsVenmoConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsWebhookConnectionSettingsSettings(BaseModel): +class ConnectorsWebhookConnectionSettingsSettings(BaseModel): destination_url: str = FieldInfo(alias="destinationUrl") -class ItemConnectorsWebhookConnectionSettings(BaseModel): +class ConnectorsWebhookConnectionSettings(BaseModel): connector_name: Literal["webhook"] - settings: ItemConnectorsWebhookConnectionSettingsSettings + settings: ConnectorsWebhookConnectionSettingsSettings id: Optional[str] = None @@ -2427,16 +2425,16 @@ class ItemConnectorsWebhookConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsWiseConnectionSettingsSettings(BaseModel): +class ConnectorsWiseConnectionSettingsSettings(BaseModel): env_name: Literal["sandbox", "live"] = FieldInfo(alias="envName") api_token: Optional[str] = FieldInfo(alias="apiToken", default=None) -class ItemConnectorsWiseConnectionSettings(BaseModel): +class ConnectorsWiseConnectionSettings(BaseModel): connector_name: Literal["wise"] - settings: ItemConnectorsWiseConnectionSettingsSettings + settings: ConnectorsWiseConnectionSettingsSettings id: Optional[str] = None @@ -2447,7 +2445,7 @@ class ItemConnectorsWiseConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -2463,8 +2461,8 @@ class ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel) scope: Optional[str] = None -class ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsXeroConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsXeroConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -2477,7 +2475,7 @@ class ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentials(BaseModel): refresh_token: Optional[str] = None -class ItemConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -2489,30 +2487,30 @@ class ItemConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig(BaseMode def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsXeroConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsXeroConnectionSettingsSettingsOAuthCredentials +class ConnectorsXeroConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsXeroConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsXeroConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsXeroConnectionSettingsSettingsError(BaseModel): +class ConnectorsXeroConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsXeroConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsXeroConnectionSettingsSettingsOAuth +class ConnectorsXeroConnectionSettingsSettings(BaseModel): + oauth: ConnectorsXeroConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsXeroConnectionSettingsSettingsError] = None + error: Optional[ConnectorsXeroConnectionSettingsSettingsError] = None -class ItemConnectorsXeroConnectionSettings(BaseModel): +class ConnectorsXeroConnectionSettings(BaseModel): connector_name: Literal["xero"] - settings: ItemConnectorsXeroConnectionSettingsSettings + settings: ConnectorsXeroConnectionSettingsSettings id: Optional[str] = None @@ -2523,7 +2521,7 @@ class ItemConnectorsXeroConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsYodleeConnectionSettingsSettingsAccessToken(BaseModel): +class ConnectorsYodleeConnectionSettingsSettingsAccessToken(BaseModel): access_token: str = FieldInfo(alias="accessToken") expires_in: float = FieldInfo(alias="expiresIn") @@ -2531,7 +2529,7 @@ class ItemConnectorsYodleeConnectionSettingsSettingsAccessToken(BaseModel): issued_at: str = FieldInfo(alias="issuedAt") -class ItemConnectorsYodleeConnectionSettingsSettingsProviderAccount(BaseModel): +class ConnectorsYodleeConnectionSettingsSettingsProviderAccount(BaseModel): id: float aggregation_source: str = FieldInfo(alias="aggregationSource") @@ -2549,28 +2547,28 @@ class ItemConnectorsYodleeConnectionSettingsSettingsProviderAccount(BaseModel): is_deleted: Optional[bool] = FieldInfo(alias="isDeleted", default=None) -class ItemConnectorsYodleeConnectionSettingsSettings(BaseModel): +class ConnectorsYodleeConnectionSettingsSettings(BaseModel): login_name: str = FieldInfo(alias="loginName") provider_account_id: Union[float, str] = FieldInfo(alias="providerAccountId") - access_token: Optional[ItemConnectorsYodleeConnectionSettingsSettingsAccessToken] = FieldInfo( + access_token: Optional[ConnectorsYodleeConnectionSettingsSettingsAccessToken] = FieldInfo( alias="accessToken", default=None ) provider: None = None - provider_account: Optional[ItemConnectorsYodleeConnectionSettingsSettingsProviderAccount] = FieldInfo( + provider_account: Optional[ConnectorsYodleeConnectionSettingsSettingsProviderAccount] = FieldInfo( alias="providerAccount", default=None ) user: None = None -class ItemConnectorsYodleeConnectionSettings(BaseModel): +class ConnectorsYodleeConnectionSettings(BaseModel): connector_name: Literal["yodlee"] - settings: ItemConnectorsYodleeConnectionSettingsSettings + settings: ConnectorsYodleeConnectionSettingsSettings id: Optional[str] = None @@ -2581,7 +2579,7 @@ class ItemConnectorsYodleeConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): +class ConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw(BaseModel): access_token: str token_type: str @@ -2597,8 +2595,8 @@ class ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw(BaseMo scope: Optional[str] = None -class ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials(BaseModel): - raw: ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw +class ConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials(BaseModel): + raw: ConnectorsZohodeskConnectionSettingsSettingsOAuthCredentialsRaw type: Literal["OAUTH2", "OAUTH1", "BASIC", "API_KEY"] @@ -2611,7 +2609,7 @@ class ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials(BaseModel refresh_token: Optional[str] = None -class ItemConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): +class ConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig(BaseModel): instance_url: Optional[str] = None portal_id: Optional[float] = FieldInfo(alias="portalId", default=None) @@ -2623,30 +2621,30 @@ class ItemConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig(Base def __getattr__(self, attr: str) -> object: ... -class ItemConnectorsZohodeskConnectionSettingsSettingsOAuth(BaseModel): - credentials: ItemConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials +class ConnectorsZohodeskConnectionSettingsSettingsOAuth(BaseModel): + credentials: ConnectorsZohodeskConnectionSettingsSettingsOAuthCredentials metadata: Optional[Dict[str, object]] = None - connection_config: Optional[ItemConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig] = None + connection_config: Optional[ConnectorsZohodeskConnectionSettingsSettingsOAuthConnectionConfig] = None -class ItemConnectorsZohodeskConnectionSettingsSettingsError(BaseModel): +class ConnectorsZohodeskConnectionSettingsSettingsError(BaseModel): code: Union[Literal["refresh_token_external_error"], str] message: Optional[str] = None -class ItemConnectorsZohodeskConnectionSettingsSettings(BaseModel): - oauth: ItemConnectorsZohodeskConnectionSettingsSettingsOAuth +class ConnectorsZohodeskConnectionSettingsSettings(BaseModel): + oauth: ConnectorsZohodeskConnectionSettingsSettingsOAuth - error: Optional[ItemConnectorsZohodeskConnectionSettingsSettingsError] = None + error: Optional[ConnectorsZohodeskConnectionSettingsSettingsError] = None -class ItemConnectorsZohodeskConnectionSettings(BaseModel): +class ConnectorsZohodeskConnectionSettings(BaseModel): connector_name: Literal["zohodesk"] - settings: ItemConnectorsZohodeskConnectionSettingsSettings + settings: ConnectorsZohodeskConnectionSettingsSettings id: Optional[str] = None @@ -2657,7 +2655,7 @@ class ItemConnectorsZohodeskConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGoogledriveConnectionSettings(BaseModel): +class ConnectorsGoogledriveConnectionSettings(BaseModel): connector_name: Literal["googledrive"] settings: None @@ -2671,70 +2669,60 @@ class ItemConnectorsGoogledriveConnectionSettings(BaseModel): updated_at: Optional[datetime] = None -Item: TypeAlias = Union[ - ItemConnectorsAircallConnectionSettings, - ItemConnectorsAirtableConnectionSettings, - ItemConnectorsApolloConnectionSettings, - ItemConnectorsBeancountConnectionSettings, - ItemConnectorsBrexConnectionSettings, - ItemConnectorsCodaConnectionSettings, - ItemConnectorsConfluenceConnectionSettings, - ItemConnectorsDebugConnectionSettings, - ItemConnectorsDiscordConnectionSettings, - ItemConnectorsFinchConnectionSettings, - ItemConnectorsFirebaseConnectionSettings, - ItemConnectorsForeceiptConnectionSettings, - ItemConnectorsFsConnectionSettings, - ItemConnectorsGitHubConnectionSettings, - ItemConnectorsGongConnectionSettings, - ItemConnectorsGoogleConnectionSettings, - ItemConnectorsGreenhouseConnectionSettings, - ItemConnectorsHeronConnectionSettings, - ItemConnectorsHubspotConnectionSettings, - ItemConnectorsIntercomConnectionSettings, - ItemConnectorsJiraConnectionSettings, - ItemConnectorsKustomerConnectionSettings, - ItemConnectorsLeverConnectionSettings, - ItemConnectorsLinearConnectionSettings, - ItemConnectorsLunchmoneyConnectionSettings, - ItemConnectorsMercuryConnectionSettings, - ItemConnectorsMergeConnectionSettings, - ItemConnectorsMicrosoftConnectionSettings, - ItemConnectorsMongoDBConnectionSettings, - ItemConnectorsMootaConnectionSettings, - ItemConnectorsOnebrickConnectionSettings, - ItemConnectorsOutreachConnectionSettings, - ItemConnectorsPipedriveConnectionSettings, - ItemConnectorsPlaidConnectionSettings, - ItemConnectorsPostgresConnectionSettings, - ItemConnectorsQboConnectionSettings, - ItemConnectorsRampConnectionSettings, - ItemConnectorsRevertConnectionSettings, - ItemConnectorsSalesforceConnectionSettings, - ItemConnectorsSalesloftConnectionSettings, - ItemConnectorsSaltedgeConnectionSettings, - ItemConnectorsSlackConnectionSettings, - ItemConnectorsSplitwiseConnectionSettings, - ItemConnectorsSpreadsheetConnectionSettings, - ItemConnectorsStripeConnectionSettings, - ItemConnectorsTellerConnectionSettings, - ItemConnectorsTogglConnectionSettings, - ItemConnectorsTwentyConnectionSettings, - ItemConnectorsVenmoConnectionSettings, - ItemConnectorsWebhookConnectionSettings, - ItemConnectorsWiseConnectionSettings, - ItemConnectorsXeroConnectionSettings, - ItemConnectorsYodleeConnectionSettings, - ItemConnectorsZohodeskConnectionSettings, - ItemConnectorsGoogledriveConnectionSettings, +GetConnectionResponse: TypeAlias = Union[ + ConnectorsAircallConnectionSettings, + ConnectorsAirtableConnectionSettings, + ConnectorsApolloConnectionSettings, + ConnectorsBeancountConnectionSettings, + ConnectorsBrexConnectionSettings, + ConnectorsCodaConnectionSettings, + ConnectorsConfluenceConnectionSettings, + ConnectorsDebugConnectionSettings, + ConnectorsDiscordConnectionSettings, + ConnectorsFinchConnectionSettings, + ConnectorsFirebaseConnectionSettings, + ConnectorsForeceiptConnectionSettings, + ConnectorsFsConnectionSettings, + ConnectorsGitHubConnectionSettings, + ConnectorsGongConnectionSettings, + ConnectorsGoogleConnectionSettings, + ConnectorsGreenhouseConnectionSettings, + ConnectorsHeronConnectionSettings, + ConnectorsHubspotConnectionSettings, + ConnectorsIntercomConnectionSettings, + ConnectorsJiraConnectionSettings, + ConnectorsKustomerConnectionSettings, + ConnectorsLeverConnectionSettings, + ConnectorsLinearConnectionSettings, + ConnectorsLunchmoneyConnectionSettings, + ConnectorsMercuryConnectionSettings, + ConnectorsMergeConnectionSettings, + ConnectorsMicrosoftConnectionSettings, + ConnectorsMongoDBConnectionSettings, + ConnectorsMootaConnectionSettings, + ConnectorsOnebrickConnectionSettings, + ConnectorsOutreachConnectionSettings, + ConnectorsPipedriveConnectionSettings, + ConnectorsPlaidConnectionSettings, + ConnectorsPostgresConnectionSettings, + ConnectorsQboConnectionSettings, + ConnectorsRampConnectionSettings, + ConnectorsRevertConnectionSettings, + ConnectorsSalesforceConnectionSettings, + ConnectorsSalesloftConnectionSettings, + ConnectorsSaltedgeConnectionSettings, + ConnectorsSlackConnectionSettings, + ConnectorsSplitwiseConnectionSettings, + ConnectorsSpreadsheetConnectionSettings, + ConnectorsStripeConnectionSettings, + ConnectorsTellerConnectionSettings, + ConnectorsTogglConnectionSettings, + ConnectorsTwentyConnectionSettings, + ConnectorsVenmoConnectionSettings, + ConnectorsWebhookConnectionSettings, + ConnectorsWiseConnectionSettings, + ConnectorsXeroConnectionSettings, + ConnectorsYodleeConnectionSettings, + ConnectorsZohodeskConnectionSettings, + ConnectorsGoogledriveConnectionSettings, ] - - -class GetConnectionResponse(BaseModel): - items: List[Item] - - limit: int - - offset: int - - total: float diff --git a/src/openint/types/list_connection_configs_response.py b/src/openint/types/list_connection_configs_response.py index cbdafd8..f182a0a 100644 --- a/src/openint/types/list_connection_configs_response.py +++ b/src/openint/types/list_connection_configs_response.py @@ -10,142 +10,141 @@ __all__ = [ "ListConnectionConfigsResponse", - "Item", - "ItemConnectorsAircallConnectorConfig", - "ItemConnectorsAirtableConnectorConfig", - "ItemConnectorsApolloConnectorConfig", - "ItemConnectorsBeancountConnectorConfig", - "ItemConnectorsBrexConnectorConfig", - "ItemConnectorsBrexConnectorConfigConfig", - "ItemConnectorsBrexConnectorConfigConfigOAuth", - "ItemConnectorsCodaConnectorConfig", - "ItemConnectorsConfluenceConnectorConfig", - "ItemConnectorsConfluenceConnectorConfigConfig", - "ItemConnectorsConfluenceConnectorConfigConfigOAuth", - "ItemConnectorsDebugConnectorConfig", - "ItemConnectorsDiscordConnectorConfig", - "ItemConnectorsDiscordConnectorConfigConfig", - "ItemConnectorsDiscordConnectorConfigConfigOAuth", - "ItemConnectorsFinchConnectorConfig", - "ItemConnectorsFinchConnectorConfigConfig", - "ItemConnectorsFirebaseConnectorConfig", - "ItemConnectorsForeceiptConnectorConfig", - "ItemConnectorsFsConnectorConfig", - "ItemConnectorsGitHubConnectorConfig", - "ItemConnectorsGitHubConnectorConfigConfig", - "ItemConnectorsGitHubConnectorConfigConfigOAuth", - "ItemConnectorsGongConnectorConfig", - "ItemConnectorsGongConnectorConfigConfig", - "ItemConnectorsGongConnectorConfigConfigOAuth", - "ItemConnectorsGoogleConnectorConfig", - "ItemConnectorsGoogleConnectorConfigConfig", - "ItemConnectorsGoogleConnectorConfigConfigIntegrations", - "ItemConnectorsGoogleConnectorConfigConfigIntegrationsCalendar", - "ItemConnectorsGoogleConnectorConfigConfigIntegrationsDocs", - "ItemConnectorsGoogleConnectorConfigConfigIntegrationsDrive", - "ItemConnectorsGoogleConnectorConfigConfigIntegrationsGmail", - "ItemConnectorsGoogleConnectorConfigConfigIntegrationsSheets", - "ItemConnectorsGoogleConnectorConfigConfigIntegrationsSlides", - "ItemConnectorsGoogleConnectorConfigConfigOAuth", - "ItemConnectorsGreenhouseConnectorConfig", - "ItemConnectorsHeronConnectorConfig", - "ItemConnectorsHeronConnectorConfigConfig", - "ItemConnectorsHubspotConnectorConfig", - "ItemConnectorsHubspotConnectorConfigConfig", - "ItemConnectorsHubspotConnectorConfigConfigOAuth", - "ItemConnectorsIntercomConnectorConfig", - "ItemConnectorsIntercomConnectorConfigConfig", - "ItemConnectorsIntercomConnectorConfigConfigOAuth", - "ItemConnectorsJiraConnectorConfig", - "ItemConnectorsJiraConnectorConfigConfig", - "ItemConnectorsJiraConnectorConfigConfigOAuth", - "ItemConnectorsKustomerConnectorConfig", - "ItemConnectorsKustomerConnectorConfigConfig", - "ItemConnectorsKustomerConnectorConfigConfigOAuth", - "ItemConnectorsLeverConnectorConfig", - "ItemConnectorsLeverConnectorConfigConfig", - "ItemConnectorsLeverConnectorConfigConfigOAuth", - "ItemConnectorsLinearConnectorConfig", - "ItemConnectorsLinearConnectorConfigConfig", - "ItemConnectorsLinearConnectorConfigConfigOAuth", - "ItemConnectorsLunchmoneyConnectorConfig", - "ItemConnectorsLunchmoneyConnectorConfigConfig", - "ItemConnectorsMercuryConnectorConfig", - "ItemConnectorsMercuryConnectorConfigConfig", - "ItemConnectorsMercuryConnectorConfigConfigOAuth", - "ItemConnectorsMergeConnectorConfig", - "ItemConnectorsMergeConnectorConfigConfig", - "ItemConnectorsMicrosoftConnectorConfig", - "ItemConnectorsMicrosoftConnectorConfigConfig", - "ItemConnectorsMicrosoftConnectorConfigConfigIntegrations", - "ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsOutlook", - "ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsSharepoint", - "ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsTeams", - "ItemConnectorsMicrosoftConnectorConfigConfigOAuth", - "ItemConnectorsMongoDBConnectorConfig", - "ItemConnectorsMootaConnectorConfig", - "ItemConnectorsMootaConnectorConfigConfig", - "ItemConnectorsOnebrickConnectorConfig", - "ItemConnectorsOnebrickConnectorConfigConfig", - "ItemConnectorsOutreachConnectorConfig", - "ItemConnectorsOutreachConnectorConfigConfig", - "ItemConnectorsOutreachConnectorConfigConfigOAuth", - "ItemConnectorsPipedriveConnectorConfig", - "ItemConnectorsPipedriveConnectorConfigConfig", - "ItemConnectorsPipedriveConnectorConfigConfigOAuth", - "ItemConnectorsPlaidConnectorConfig", - "ItemConnectorsPlaidConnectorConfigConfig", - "ItemConnectorsPlaidConnectorConfigConfigCredentials", - "ItemConnectorsPostgresConnectorConfig", - "ItemConnectorsQboConnectorConfig", - "ItemConnectorsQboConnectorConfigConfig", - "ItemConnectorsQboConnectorConfigConfigOAuth", - "ItemConnectorsRampConnectorConfig", - "ItemConnectorsRampConnectorConfigConfig", - "ItemConnectorsRampConnectorConfigConfigOAuth", - "ItemConnectorsRevertConnectorConfig", - "ItemConnectorsRevertConnectorConfigConfig", - "ItemConnectorsSalesforceConnectorConfig", - "ItemConnectorsSalesforceConnectorConfigConfig", - "ItemConnectorsSalesforceConnectorConfigConfigOAuth", - "ItemConnectorsSalesloftConnectorConfig", - "ItemConnectorsSalesloftConnectorConfigConfig", - "ItemConnectorsSalesloftConnectorConfigConfigOAuth", - "ItemConnectorsSaltedgeConnectorConfig", - "ItemConnectorsSaltedgeConnectorConfigConfig", - "ItemConnectorsSlackConnectorConfig", - "ItemConnectorsSlackConnectorConfigConfig", - "ItemConnectorsSlackConnectorConfigConfigOAuth", - "ItemConnectorsSplitwiseConnectorConfig", - "ItemConnectorsSpreadsheetConnectorConfig", - "ItemConnectorsSpreadsheetConnectorConfigConfig", - "ItemConnectorsStripeConnectorConfig", - "ItemConnectorsStripeConnectorConfigConfig", - "ItemConnectorsStripeConnectorConfigConfigOAuth", - "ItemConnectorsTellerConnectorConfig", - "ItemConnectorsTellerConnectorConfigConfig", - "ItemConnectorsTogglConnectorConfig", - "ItemConnectorsTwentyConnectorConfig", - "ItemConnectorsVenmoConnectorConfig", - "ItemConnectorsVenmoConnectorConfigConfig", - "ItemConnectorsVenmoConnectorConfigConfigProxy", - "ItemConnectorsWebhookConnectorConfig", - "ItemConnectorsWiseConnectorConfig", - "ItemConnectorsXeroConnectorConfig", - "ItemConnectorsXeroConnectorConfigConfig", - "ItemConnectorsXeroConnectorConfigConfigOAuth", - "ItemConnectorsYodleeConnectorConfig", - "ItemConnectorsYodleeConnectorConfigConfig", - "ItemConnectorsYodleeConnectorConfigConfigProxy", - "ItemConnectorsZohodeskConnectorConfig", - "ItemConnectorsZohodeskConnectorConfigConfig", - "ItemConnectorsZohodeskConnectorConfigConfigOAuth", - "ItemConnectorsGoogledriveConnectorConfig", - "ItemConnectorsGoogledriveConnectorConfigConfig", + "ConnectorsAircallConnectorConfig", + "ConnectorsAirtableConnectorConfig", + "ConnectorsApolloConnectorConfig", + "ConnectorsBeancountConnectorConfig", + "ConnectorsBrexConnectorConfig", + "ConnectorsBrexConnectorConfigConfig", + "ConnectorsBrexConnectorConfigConfigOAuth", + "ConnectorsCodaConnectorConfig", + "ConnectorsConfluenceConnectorConfig", + "ConnectorsConfluenceConnectorConfigConfig", + "ConnectorsConfluenceConnectorConfigConfigOAuth", + "ConnectorsDebugConnectorConfig", + "ConnectorsDiscordConnectorConfig", + "ConnectorsDiscordConnectorConfigConfig", + "ConnectorsDiscordConnectorConfigConfigOAuth", + "ConnectorsFinchConnectorConfig", + "ConnectorsFinchConnectorConfigConfig", + "ConnectorsFirebaseConnectorConfig", + "ConnectorsForeceiptConnectorConfig", + "ConnectorsFsConnectorConfig", + "ConnectorsGitHubConnectorConfig", + "ConnectorsGitHubConnectorConfigConfig", + "ConnectorsGitHubConnectorConfigConfigOAuth", + "ConnectorsGongConnectorConfig", + "ConnectorsGongConnectorConfigConfig", + "ConnectorsGongConnectorConfigConfigOAuth", + "ConnectorsGoogleConnectorConfig", + "ConnectorsGoogleConnectorConfigConfig", + "ConnectorsGoogleConnectorConfigConfigIntegrations", + "ConnectorsGoogleConnectorConfigConfigIntegrationsCalendar", + "ConnectorsGoogleConnectorConfigConfigIntegrationsDocs", + "ConnectorsGoogleConnectorConfigConfigIntegrationsDrive", + "ConnectorsGoogleConnectorConfigConfigIntegrationsGmail", + "ConnectorsGoogleConnectorConfigConfigIntegrationsSheets", + "ConnectorsGoogleConnectorConfigConfigIntegrationsSlides", + "ConnectorsGoogleConnectorConfigConfigOAuth", + "ConnectorsGreenhouseConnectorConfig", + "ConnectorsHeronConnectorConfig", + "ConnectorsHeronConnectorConfigConfig", + "ConnectorsHubspotConnectorConfig", + "ConnectorsHubspotConnectorConfigConfig", + "ConnectorsHubspotConnectorConfigConfigOAuth", + "ConnectorsIntercomConnectorConfig", + "ConnectorsIntercomConnectorConfigConfig", + "ConnectorsIntercomConnectorConfigConfigOAuth", + "ConnectorsJiraConnectorConfig", + "ConnectorsJiraConnectorConfigConfig", + "ConnectorsJiraConnectorConfigConfigOAuth", + "ConnectorsKustomerConnectorConfig", + "ConnectorsKustomerConnectorConfigConfig", + "ConnectorsKustomerConnectorConfigConfigOAuth", + "ConnectorsLeverConnectorConfig", + "ConnectorsLeverConnectorConfigConfig", + "ConnectorsLeverConnectorConfigConfigOAuth", + "ConnectorsLinearConnectorConfig", + "ConnectorsLinearConnectorConfigConfig", + "ConnectorsLinearConnectorConfigConfigOAuth", + "ConnectorsLunchmoneyConnectorConfig", + "ConnectorsLunchmoneyConnectorConfigConfig", + "ConnectorsMercuryConnectorConfig", + "ConnectorsMercuryConnectorConfigConfig", + "ConnectorsMercuryConnectorConfigConfigOAuth", + "ConnectorsMergeConnectorConfig", + "ConnectorsMergeConnectorConfigConfig", + "ConnectorsMicrosoftConnectorConfig", + "ConnectorsMicrosoftConnectorConfigConfig", + "ConnectorsMicrosoftConnectorConfigConfigIntegrations", + "ConnectorsMicrosoftConnectorConfigConfigIntegrationsOutlook", + "ConnectorsMicrosoftConnectorConfigConfigIntegrationsSharepoint", + "ConnectorsMicrosoftConnectorConfigConfigIntegrationsTeams", + "ConnectorsMicrosoftConnectorConfigConfigOAuth", + "ConnectorsMongoDBConnectorConfig", + "ConnectorsMootaConnectorConfig", + "ConnectorsMootaConnectorConfigConfig", + "ConnectorsOnebrickConnectorConfig", + "ConnectorsOnebrickConnectorConfigConfig", + "ConnectorsOutreachConnectorConfig", + "ConnectorsOutreachConnectorConfigConfig", + "ConnectorsOutreachConnectorConfigConfigOAuth", + "ConnectorsPipedriveConnectorConfig", + "ConnectorsPipedriveConnectorConfigConfig", + "ConnectorsPipedriveConnectorConfigConfigOAuth", + "ConnectorsPlaidConnectorConfig", + "ConnectorsPlaidConnectorConfigConfig", + "ConnectorsPlaidConnectorConfigConfigCredentials", + "ConnectorsPostgresConnectorConfig", + "ConnectorsQboConnectorConfig", + "ConnectorsQboConnectorConfigConfig", + "ConnectorsQboConnectorConfigConfigOAuth", + "ConnectorsRampConnectorConfig", + "ConnectorsRampConnectorConfigConfig", + "ConnectorsRampConnectorConfigConfigOAuth", + "ConnectorsRevertConnectorConfig", + "ConnectorsRevertConnectorConfigConfig", + "ConnectorsSalesforceConnectorConfig", + "ConnectorsSalesforceConnectorConfigConfig", + "ConnectorsSalesforceConnectorConfigConfigOAuth", + "ConnectorsSalesloftConnectorConfig", + "ConnectorsSalesloftConnectorConfigConfig", + "ConnectorsSalesloftConnectorConfigConfigOAuth", + "ConnectorsSaltedgeConnectorConfig", + "ConnectorsSaltedgeConnectorConfigConfig", + "ConnectorsSlackConnectorConfig", + "ConnectorsSlackConnectorConfigConfig", + "ConnectorsSlackConnectorConfigConfigOAuth", + "ConnectorsSplitwiseConnectorConfig", + "ConnectorsSpreadsheetConnectorConfig", + "ConnectorsSpreadsheetConnectorConfigConfig", + "ConnectorsStripeConnectorConfig", + "ConnectorsStripeConnectorConfigConfig", + "ConnectorsStripeConnectorConfigConfigOAuth", + "ConnectorsTellerConnectorConfig", + "ConnectorsTellerConnectorConfigConfig", + "ConnectorsTogglConnectorConfig", + "ConnectorsTwentyConnectorConfig", + "ConnectorsVenmoConnectorConfig", + "ConnectorsVenmoConnectorConfigConfig", + "ConnectorsVenmoConnectorConfigConfigProxy", + "ConnectorsWebhookConnectorConfig", + "ConnectorsWiseConnectorConfig", + "ConnectorsXeroConnectorConfig", + "ConnectorsXeroConnectorConfigConfig", + "ConnectorsXeroConnectorConfigConfigOAuth", + "ConnectorsYodleeConnectorConfig", + "ConnectorsYodleeConnectorConfigConfig", + "ConnectorsYodleeConnectorConfigConfigProxy", + "ConnectorsZohodeskConnectorConfig", + "ConnectorsZohodeskConnectorConfigConfig", + "ConnectorsZohodeskConnectorConfigConfigOAuth", + "ConnectorsGoogledriveConnectorConfig", + "ConnectorsGoogledriveConnectorConfigConfig", ] -class ItemConnectorsAircallConnectorConfig(BaseModel): +class ConnectorsAircallConnectorConfig(BaseModel): config: None connector_name: Literal["aircall"] @@ -159,7 +158,7 @@ class ItemConnectorsAircallConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsAirtableConnectorConfig(BaseModel): +class ConnectorsAirtableConnectorConfig(BaseModel): config: None connector_name: Literal["airtable"] @@ -173,7 +172,7 @@ class ItemConnectorsAirtableConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsApolloConnectorConfig(BaseModel): +class ConnectorsApolloConnectorConfig(BaseModel): config: None connector_name: Literal["apollo"] @@ -187,7 +186,7 @@ class ItemConnectorsApolloConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsBeancountConnectorConfig(BaseModel): +class ConnectorsBeancountConnectorConfig(BaseModel): config: None connector_name: Literal["beancount"] @@ -201,20 +200,20 @@ class ItemConnectorsBeancountConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsBrexConnectorConfigConfigOAuth(BaseModel): +class ConnectorsBrexConnectorConfigConfigOAuth(BaseModel): client_id: str = FieldInfo(alias="clientId") client_secret: str = FieldInfo(alias="clientSecret") -class ItemConnectorsBrexConnectorConfigConfig(BaseModel): +class ConnectorsBrexConnectorConfigConfig(BaseModel): apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) - oauth: Optional[ItemConnectorsBrexConnectorConfigConfigOAuth] = None + oauth: Optional[ConnectorsBrexConnectorConfigConfigOAuth] = None -class ItemConnectorsBrexConnectorConfig(BaseModel): - config: ItemConnectorsBrexConnectorConfigConfig +class ConnectorsBrexConnectorConfig(BaseModel): + config: ConnectorsBrexConnectorConfigConfig connector_name: Literal["brex"] @@ -227,7 +226,7 @@ class ItemConnectorsBrexConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsCodaConnectorConfig(BaseModel): +class ConnectorsCodaConnectorConfig(BaseModel): config: None connector_name: Literal["coda"] @@ -241,7 +240,7 @@ class ItemConnectorsCodaConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsConfluenceConnectorConfigConfigOAuth(BaseModel): +class ConnectorsConfluenceConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -249,12 +248,12 @@ class ItemConnectorsConfluenceConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsConfluenceConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsConfluenceConnectorConfigConfigOAuth +class ConnectorsConfluenceConnectorConfigConfig(BaseModel): + oauth: ConnectorsConfluenceConnectorConfigConfigOAuth -class ItemConnectorsConfluenceConnectorConfig(BaseModel): - config: ItemConnectorsConfluenceConnectorConfigConfig +class ConnectorsConfluenceConnectorConfig(BaseModel): + config: ConnectorsConfluenceConnectorConfigConfig connector_name: Literal["confluence"] @@ -267,7 +266,7 @@ class ItemConnectorsConfluenceConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsDebugConnectorConfig(BaseModel): +class ConnectorsDebugConnectorConfig(BaseModel): connector_name: Literal["debug"] id: Optional[str] = None @@ -281,7 +280,7 @@ class ItemConnectorsDebugConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsDiscordConnectorConfigConfigOAuth(BaseModel): +class ConnectorsDiscordConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -289,12 +288,12 @@ class ItemConnectorsDiscordConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsDiscordConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsDiscordConnectorConfigConfigOAuth +class ConnectorsDiscordConnectorConfigConfig(BaseModel): + oauth: ConnectorsDiscordConnectorConfigConfigOAuth -class ItemConnectorsDiscordConnectorConfig(BaseModel): - config: ItemConnectorsDiscordConnectorConfigConfig +class ConnectorsDiscordConnectorConfig(BaseModel): + config: ConnectorsDiscordConnectorConfigConfig connector_name: Literal["discord"] @@ -307,7 +306,7 @@ class ItemConnectorsDiscordConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsFinchConnectorConfigConfig(BaseModel): +class ConnectorsFinchConnectorConfigConfig(BaseModel): client_id: str client_secret: str @@ -319,8 +318,8 @@ class ItemConnectorsFinchConnectorConfigConfig(BaseModel): api_version: Optional[str] = None -class ItemConnectorsFinchConnectorConfig(BaseModel): - config: ItemConnectorsFinchConnectorConfigConfig +class ConnectorsFinchConnectorConfig(BaseModel): + config: ConnectorsFinchConnectorConfigConfig connector_name: Literal["finch"] @@ -333,7 +332,7 @@ class ItemConnectorsFinchConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsFirebaseConnectorConfig(BaseModel): +class ConnectorsFirebaseConnectorConfig(BaseModel): config: None connector_name: Literal["firebase"] @@ -347,7 +346,7 @@ class ItemConnectorsFirebaseConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsForeceiptConnectorConfig(BaseModel): +class ConnectorsForeceiptConnectorConfig(BaseModel): config: None connector_name: Literal["foreceipt"] @@ -361,7 +360,7 @@ class ItemConnectorsForeceiptConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsFsConnectorConfig(BaseModel): +class ConnectorsFsConnectorConfig(BaseModel): config: None connector_name: Literal["fs"] @@ -375,7 +374,7 @@ class ItemConnectorsFsConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGitHubConnectorConfigConfigOAuth(BaseModel): +class ConnectorsGitHubConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -383,12 +382,12 @@ class ItemConnectorsGitHubConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsGitHubConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsGitHubConnectorConfigConfigOAuth +class ConnectorsGitHubConnectorConfigConfig(BaseModel): + oauth: ConnectorsGitHubConnectorConfigConfigOAuth -class ItemConnectorsGitHubConnectorConfig(BaseModel): - config: ItemConnectorsGitHubConnectorConfigConfig +class ConnectorsGitHubConnectorConfig(BaseModel): + config: ConnectorsGitHubConnectorConfigConfig connector_name: Literal["github"] @@ -401,7 +400,7 @@ class ItemConnectorsGitHubConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGongConnectorConfigConfigOAuth(BaseModel): +class ConnectorsGongConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -409,12 +408,12 @@ class ItemConnectorsGongConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsGongConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsGongConnectorConfigConfigOAuth +class ConnectorsGongConnectorConfigConfig(BaseModel): + oauth: ConnectorsGongConnectorConfigConfigOAuth -class ItemConnectorsGongConnectorConfig(BaseModel): - config: ItemConnectorsGongConnectorConfigConfig +class ConnectorsGongConnectorConfig(BaseModel): + config: ConnectorsGongConnectorConfigConfig connector_name: Literal["gong"] @@ -427,57 +426,57 @@ class ItemConnectorsGongConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrationsCalendar(BaseModel): +class ConnectorsGoogleConnectorConfigConfigIntegrationsCalendar(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrationsDocs(BaseModel): +class ConnectorsGoogleConnectorConfigConfigIntegrationsDocs(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrationsDrive(BaseModel): +class ConnectorsGoogleConnectorConfigConfigIntegrationsDrive(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrationsGmail(BaseModel): +class ConnectorsGoogleConnectorConfigConfigIntegrationsGmail(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrationsSheets(BaseModel): +class ConnectorsGoogleConnectorConfigConfigIntegrationsSheets(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrationsSlides(BaseModel): +class ConnectorsGoogleConnectorConfigConfigIntegrationsSlides(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfigIntegrations(BaseModel): - calendar: Optional[ItemConnectorsGoogleConnectorConfigConfigIntegrationsCalendar] = None +class ConnectorsGoogleConnectorConfigConfigIntegrations(BaseModel): + calendar: Optional[ConnectorsGoogleConnectorConfigConfigIntegrationsCalendar] = None - docs: Optional[ItemConnectorsGoogleConnectorConfigConfigIntegrationsDocs] = None + docs: Optional[ConnectorsGoogleConnectorConfigConfigIntegrationsDocs] = None - drive: Optional[ItemConnectorsGoogleConnectorConfigConfigIntegrationsDrive] = None + drive: Optional[ConnectorsGoogleConnectorConfigConfigIntegrationsDrive] = None - gmail: Optional[ItemConnectorsGoogleConnectorConfigConfigIntegrationsGmail] = None + gmail: Optional[ConnectorsGoogleConnectorConfigConfigIntegrationsGmail] = None - sheets: Optional[ItemConnectorsGoogleConnectorConfigConfigIntegrationsSheets] = None + sheets: Optional[ConnectorsGoogleConnectorConfigConfigIntegrationsSheets] = None - slides: Optional[ItemConnectorsGoogleConnectorConfigConfigIntegrationsSlides] = None + slides: Optional[ConnectorsGoogleConnectorConfigConfigIntegrationsSlides] = None -class ItemConnectorsGoogleConnectorConfigConfigOAuth(BaseModel): +class ConnectorsGoogleConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -485,14 +484,14 @@ class ItemConnectorsGoogleConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsGoogleConnectorConfigConfig(BaseModel): - integrations: ItemConnectorsGoogleConnectorConfigConfigIntegrations +class ConnectorsGoogleConnectorConfigConfig(BaseModel): + integrations: ConnectorsGoogleConnectorConfigConfigIntegrations - oauth: ItemConnectorsGoogleConnectorConfigConfigOAuth + oauth: ConnectorsGoogleConnectorConfigConfigOAuth -class ItemConnectorsGoogleConnectorConfig(BaseModel): - config: ItemConnectorsGoogleConnectorConfigConfig +class ConnectorsGoogleConnectorConfig(BaseModel): + config: ConnectorsGoogleConnectorConfigConfig connector_name: Literal["google"] @@ -505,7 +504,7 @@ class ItemConnectorsGoogleConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGreenhouseConnectorConfig(BaseModel): +class ConnectorsGreenhouseConnectorConfig(BaseModel): config: None connector_name: Literal["greenhouse"] @@ -519,12 +518,12 @@ class ItemConnectorsGreenhouseConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsHeronConnectorConfigConfig(BaseModel): +class ConnectorsHeronConnectorConfigConfig(BaseModel): api_key: str = FieldInfo(alias="apiKey") -class ItemConnectorsHeronConnectorConfig(BaseModel): - config: ItemConnectorsHeronConnectorConfigConfig +class ConnectorsHeronConnectorConfig(BaseModel): + config: ConnectorsHeronConnectorConfigConfig connector_name: Literal["heron"] @@ -537,7 +536,7 @@ class ItemConnectorsHeronConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsHubspotConnectorConfigConfigOAuth(BaseModel): +class ConnectorsHubspotConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -545,12 +544,12 @@ class ItemConnectorsHubspotConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsHubspotConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsHubspotConnectorConfigConfigOAuth +class ConnectorsHubspotConnectorConfigConfig(BaseModel): + oauth: ConnectorsHubspotConnectorConfigConfigOAuth -class ItemConnectorsHubspotConnectorConfig(BaseModel): - config: ItemConnectorsHubspotConnectorConfigConfig +class ConnectorsHubspotConnectorConfig(BaseModel): + config: ConnectorsHubspotConnectorConfigConfig connector_name: Literal["hubspot"] @@ -563,7 +562,7 @@ class ItemConnectorsHubspotConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsIntercomConnectorConfigConfigOAuth(BaseModel): +class ConnectorsIntercomConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -571,12 +570,12 @@ class ItemConnectorsIntercomConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsIntercomConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsIntercomConnectorConfigConfigOAuth +class ConnectorsIntercomConnectorConfigConfig(BaseModel): + oauth: ConnectorsIntercomConnectorConfigConfigOAuth -class ItemConnectorsIntercomConnectorConfig(BaseModel): - config: ItemConnectorsIntercomConnectorConfigConfig +class ConnectorsIntercomConnectorConfig(BaseModel): + config: ConnectorsIntercomConnectorConfigConfig connector_name: Literal["intercom"] @@ -589,7 +588,7 @@ class ItemConnectorsIntercomConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsJiraConnectorConfigConfigOAuth(BaseModel): +class ConnectorsJiraConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -597,12 +596,12 @@ class ItemConnectorsJiraConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsJiraConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsJiraConnectorConfigConfigOAuth +class ConnectorsJiraConnectorConfigConfig(BaseModel): + oauth: ConnectorsJiraConnectorConfigConfigOAuth -class ItemConnectorsJiraConnectorConfig(BaseModel): - config: ItemConnectorsJiraConnectorConfigConfig +class ConnectorsJiraConnectorConfig(BaseModel): + config: ConnectorsJiraConnectorConfigConfig connector_name: Literal["jira"] @@ -615,7 +614,7 @@ class ItemConnectorsJiraConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsKustomerConnectorConfigConfigOAuth(BaseModel): +class ConnectorsKustomerConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -623,12 +622,12 @@ class ItemConnectorsKustomerConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsKustomerConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsKustomerConnectorConfigConfigOAuth +class ConnectorsKustomerConnectorConfigConfig(BaseModel): + oauth: ConnectorsKustomerConnectorConfigConfigOAuth -class ItemConnectorsKustomerConnectorConfig(BaseModel): - config: ItemConnectorsKustomerConnectorConfigConfig +class ConnectorsKustomerConnectorConfig(BaseModel): + config: ConnectorsKustomerConnectorConfigConfig connector_name: Literal["kustomer"] @@ -641,7 +640,7 @@ class ItemConnectorsKustomerConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsLeverConnectorConfigConfigOAuth(BaseModel): +class ConnectorsLeverConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -649,14 +648,14 @@ class ItemConnectorsLeverConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsLeverConnectorConfigConfig(BaseModel): +class ConnectorsLeverConnectorConfigConfig(BaseModel): env_name: Literal["sandbox", "production"] = FieldInfo(alias="envName") - oauth: ItemConnectorsLeverConnectorConfigConfigOAuth + oauth: ConnectorsLeverConnectorConfigConfigOAuth -class ItemConnectorsLeverConnectorConfig(BaseModel): - config: ItemConnectorsLeverConnectorConfigConfig +class ConnectorsLeverConnectorConfig(BaseModel): + config: ConnectorsLeverConnectorConfigConfig connector_name: Literal["lever"] @@ -669,7 +668,7 @@ class ItemConnectorsLeverConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsLinearConnectorConfigConfigOAuth(BaseModel): +class ConnectorsLinearConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -677,12 +676,12 @@ class ItemConnectorsLinearConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsLinearConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsLinearConnectorConfigConfigOAuth +class ConnectorsLinearConnectorConfigConfig(BaseModel): + oauth: ConnectorsLinearConnectorConfigConfigOAuth -class ItemConnectorsLinearConnectorConfig(BaseModel): - config: ItemConnectorsLinearConnectorConfigConfig +class ConnectorsLinearConnectorConfig(BaseModel): + config: ConnectorsLinearConnectorConfigConfig connector_name: Literal["linear"] @@ -695,12 +694,12 @@ class ItemConnectorsLinearConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsLunchmoneyConnectorConfigConfig(BaseModel): +class ConnectorsLunchmoneyConnectorConfigConfig(BaseModel): access_token: str = FieldInfo(alias="accessToken") -class ItemConnectorsLunchmoneyConnectorConfig(BaseModel): - config: ItemConnectorsLunchmoneyConnectorConfigConfig +class ConnectorsLunchmoneyConnectorConfig(BaseModel): + config: ConnectorsLunchmoneyConnectorConfigConfig connector_name: Literal["lunchmoney"] @@ -713,20 +712,20 @@ class ItemConnectorsLunchmoneyConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMercuryConnectorConfigConfigOAuth(BaseModel): +class ConnectorsMercuryConnectorConfigConfigOAuth(BaseModel): client_id: str = FieldInfo(alias="clientId") client_secret: str = FieldInfo(alias="clientSecret") -class ItemConnectorsMercuryConnectorConfigConfig(BaseModel): +class ConnectorsMercuryConnectorConfigConfig(BaseModel): apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) - oauth: Optional[ItemConnectorsMercuryConnectorConfigConfigOAuth] = None + oauth: Optional[ConnectorsMercuryConnectorConfigConfigOAuth] = None -class ItemConnectorsMercuryConnectorConfig(BaseModel): - config: ItemConnectorsMercuryConnectorConfigConfig +class ConnectorsMercuryConnectorConfig(BaseModel): + config: ConnectorsMercuryConnectorConfigConfig connector_name: Literal["mercury"] @@ -739,12 +738,12 @@ class ItemConnectorsMercuryConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMergeConnectorConfigConfig(BaseModel): +class ConnectorsMergeConnectorConfigConfig(BaseModel): api_key: str = FieldInfo(alias="apiKey") -class ItemConnectorsMergeConnectorConfig(BaseModel): - config: ItemConnectorsMergeConnectorConfigConfig +class ConnectorsMergeConnectorConfig(BaseModel): + config: ConnectorsMergeConnectorConfigConfig connector_name: Literal["merge"] @@ -757,33 +756,33 @@ class ItemConnectorsMergeConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsOutlook(BaseModel): +class ConnectorsMicrosoftConnectorConfigConfigIntegrationsOutlook(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsSharepoint(BaseModel): +class ConnectorsMicrosoftConnectorConfigConfigIntegrationsSharepoint(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsTeams(BaseModel): +class ConnectorsMicrosoftConnectorConfigConfigIntegrationsTeams(BaseModel): enabled: Optional[bool] = None scopes: Optional[str] = None -class ItemConnectorsMicrosoftConnectorConfigConfigIntegrations(BaseModel): - outlook: Optional[ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsOutlook] = None +class ConnectorsMicrosoftConnectorConfigConfigIntegrations(BaseModel): + outlook: Optional[ConnectorsMicrosoftConnectorConfigConfigIntegrationsOutlook] = None - sharepoint: Optional[ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsSharepoint] = None + sharepoint: Optional[ConnectorsMicrosoftConnectorConfigConfigIntegrationsSharepoint] = None - teams: Optional[ItemConnectorsMicrosoftConnectorConfigConfigIntegrationsTeams] = None + teams: Optional[ConnectorsMicrosoftConnectorConfigConfigIntegrationsTeams] = None -class ItemConnectorsMicrosoftConnectorConfigConfigOAuth(BaseModel): +class ConnectorsMicrosoftConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -791,14 +790,14 @@ class ItemConnectorsMicrosoftConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsMicrosoftConnectorConfigConfig(BaseModel): - integrations: ItemConnectorsMicrosoftConnectorConfigConfigIntegrations +class ConnectorsMicrosoftConnectorConfigConfig(BaseModel): + integrations: ConnectorsMicrosoftConnectorConfigConfigIntegrations - oauth: ItemConnectorsMicrosoftConnectorConfigConfigOAuth + oauth: ConnectorsMicrosoftConnectorConfigConfigOAuth -class ItemConnectorsMicrosoftConnectorConfig(BaseModel): - config: ItemConnectorsMicrosoftConnectorConfigConfig +class ConnectorsMicrosoftConnectorConfig(BaseModel): + config: ConnectorsMicrosoftConnectorConfigConfig connector_name: Literal["microsoft"] @@ -811,7 +810,7 @@ class ItemConnectorsMicrosoftConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMongoDBConnectorConfig(BaseModel): +class ConnectorsMongoDBConnectorConfig(BaseModel): config: None connector_name: Literal["mongodb"] @@ -825,12 +824,12 @@ class ItemConnectorsMongoDBConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsMootaConnectorConfigConfig(BaseModel): +class ConnectorsMootaConnectorConfigConfig(BaseModel): token: str -class ItemConnectorsMootaConnectorConfig(BaseModel): - config: ItemConnectorsMootaConnectorConfigConfig +class ConnectorsMootaConnectorConfig(BaseModel): + config: ConnectorsMootaConnectorConfigConfig connector_name: Literal["moota"] @@ -843,7 +842,7 @@ class ItemConnectorsMootaConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsOnebrickConnectorConfigConfig(BaseModel): +class ConnectorsOnebrickConnectorConfigConfig(BaseModel): client_id: str = FieldInfo(alias="clientId") client_secret: str = FieldInfo(alias="clientSecret") @@ -857,8 +856,8 @@ class ItemConnectorsOnebrickConnectorConfigConfig(BaseModel): redirect_url: Optional[str] = FieldInfo(alias="redirectUrl", default=None) -class ItemConnectorsOnebrickConnectorConfig(BaseModel): - config: ItemConnectorsOnebrickConnectorConfigConfig +class ConnectorsOnebrickConnectorConfig(BaseModel): + config: ConnectorsOnebrickConnectorConfigConfig connector_name: Literal["onebrick"] @@ -871,7 +870,7 @@ class ItemConnectorsOnebrickConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsOutreachConnectorConfigConfigOAuth(BaseModel): +class ConnectorsOutreachConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -879,12 +878,12 @@ class ItemConnectorsOutreachConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsOutreachConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsOutreachConnectorConfigConfigOAuth +class ConnectorsOutreachConnectorConfigConfig(BaseModel): + oauth: ConnectorsOutreachConnectorConfigConfigOAuth -class ItemConnectorsOutreachConnectorConfig(BaseModel): - config: ItemConnectorsOutreachConnectorConfigConfig +class ConnectorsOutreachConnectorConfig(BaseModel): + config: ConnectorsOutreachConnectorConfigConfig connector_name: Literal["outreach"] @@ -897,7 +896,7 @@ class ItemConnectorsOutreachConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsPipedriveConnectorConfigConfigOAuth(BaseModel): +class ConnectorsPipedriveConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -905,12 +904,12 @@ class ItemConnectorsPipedriveConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsPipedriveConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsPipedriveConnectorConfigConfigOAuth +class ConnectorsPipedriveConnectorConfigConfig(BaseModel): + oauth: ConnectorsPipedriveConnectorConfigConfigOAuth -class ItemConnectorsPipedriveConnectorConfig(BaseModel): - config: ItemConnectorsPipedriveConnectorConfigConfig +class ConnectorsPipedriveConnectorConfig(BaseModel): + config: ConnectorsPipedriveConnectorConfigConfig connector_name: Literal["pipedrive"] @@ -923,13 +922,13 @@ class ItemConnectorsPipedriveConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsPlaidConnectorConfigConfigCredentials(BaseModel): +class ConnectorsPlaidConnectorConfigConfigCredentials(BaseModel): client_id: str = FieldInfo(alias="clientId") client_secret: str = FieldInfo(alias="clientSecret") -class ItemConnectorsPlaidConnectorConfigConfig(BaseModel): +class ConnectorsPlaidConnectorConfigConfig(BaseModel): client_name: str = FieldInfo(alias="clientName") country_codes: List[ @@ -962,11 +961,11 @@ class ItemConnectorsPlaidConnectorConfigConfig(BaseModel): ] ] - credentials: Optional[ItemConnectorsPlaidConnectorConfigConfigCredentials] = None + credentials: Optional[ConnectorsPlaidConnectorConfigConfigCredentials] = None -class ItemConnectorsPlaidConnectorConfig(BaseModel): - config: ItemConnectorsPlaidConnectorConfigConfig +class ConnectorsPlaidConnectorConfig(BaseModel): + config: ConnectorsPlaidConnectorConfigConfig connector_name: Literal["plaid"] @@ -979,7 +978,7 @@ class ItemConnectorsPlaidConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsPostgresConnectorConfig(BaseModel): +class ConnectorsPostgresConnectorConfig(BaseModel): config: None connector_name: Literal["postgres"] @@ -993,7 +992,7 @@ class ItemConnectorsPostgresConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsQboConnectorConfigConfigOAuth(BaseModel): +class ConnectorsQboConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -1001,18 +1000,18 @@ class ItemConnectorsQboConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsQboConnectorConfigConfig(BaseModel): +class ConnectorsQboConnectorConfigConfig(BaseModel): env_name: Literal["sandbox", "production"] = FieldInfo(alias="envName") - oauth: ItemConnectorsQboConnectorConfigConfigOAuth + oauth: ConnectorsQboConnectorConfigConfigOAuth url: Optional[str] = None verifier_token: Optional[str] = FieldInfo(alias="verifierToken", default=None) -class ItemConnectorsQboConnectorConfig(BaseModel): - config: ItemConnectorsQboConnectorConfigConfig +class ConnectorsQboConnectorConfig(BaseModel): + config: ConnectorsQboConnectorConfigConfig connector_name: Literal["qbo"] @@ -1025,18 +1024,18 @@ class ItemConnectorsQboConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsRampConnectorConfigConfigOAuth(BaseModel): +class ConnectorsRampConnectorConfigConfigOAuth(BaseModel): client_id: str = FieldInfo(alias="clientId") client_secret: str = FieldInfo(alias="clientSecret") -class ItemConnectorsRampConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsRampConnectorConfigConfigOAuth +class ConnectorsRampConnectorConfigConfig(BaseModel): + oauth: ConnectorsRampConnectorConfigConfigOAuth -class ItemConnectorsRampConnectorConfig(BaseModel): - config: ItemConnectorsRampConnectorConfigConfig +class ConnectorsRampConnectorConfig(BaseModel): + config: ConnectorsRampConnectorConfigConfig connector_name: Literal["ramp"] @@ -1049,14 +1048,14 @@ class ItemConnectorsRampConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsRevertConnectorConfigConfig(BaseModel): +class ConnectorsRevertConnectorConfigConfig(BaseModel): api_token: str api_version: Optional[str] = None -class ItemConnectorsRevertConnectorConfig(BaseModel): - config: ItemConnectorsRevertConnectorConfigConfig +class ConnectorsRevertConnectorConfig(BaseModel): + config: ConnectorsRevertConnectorConfigConfig connector_name: Literal["revert"] @@ -1069,7 +1068,7 @@ class ItemConnectorsRevertConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSalesforceConnectorConfigConfigOAuth(BaseModel): +class ConnectorsSalesforceConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -1077,12 +1076,12 @@ class ItemConnectorsSalesforceConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsSalesforceConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsSalesforceConnectorConfigConfigOAuth +class ConnectorsSalesforceConnectorConfigConfig(BaseModel): + oauth: ConnectorsSalesforceConnectorConfigConfigOAuth -class ItemConnectorsSalesforceConnectorConfig(BaseModel): - config: ItemConnectorsSalesforceConnectorConfigConfig +class ConnectorsSalesforceConnectorConfig(BaseModel): + config: ConnectorsSalesforceConnectorConfigConfig connector_name: Literal["salesforce"] @@ -1095,7 +1094,7 @@ class ItemConnectorsSalesforceConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSalesloftConnectorConfigConfigOAuth(BaseModel): +class ConnectorsSalesloftConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -1103,12 +1102,12 @@ class ItemConnectorsSalesloftConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsSalesloftConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsSalesloftConnectorConfigConfigOAuth +class ConnectorsSalesloftConnectorConfigConfig(BaseModel): + oauth: ConnectorsSalesloftConnectorConfigConfigOAuth -class ItemConnectorsSalesloftConnectorConfig(BaseModel): - config: ItemConnectorsSalesloftConnectorConfigConfig +class ConnectorsSalesloftConnectorConfig(BaseModel): + config: ConnectorsSalesloftConnectorConfigConfig connector_name: Literal["salesloft"] @@ -1121,7 +1120,7 @@ class ItemConnectorsSalesloftConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSaltedgeConnectorConfigConfig(BaseModel): +class ConnectorsSaltedgeConnectorConfigConfig(BaseModel): app_id: str = FieldInfo(alias="appId") secret: str @@ -1129,8 +1128,8 @@ class ItemConnectorsSaltedgeConnectorConfigConfig(BaseModel): url: Optional[str] = None -class ItemConnectorsSaltedgeConnectorConfig(BaseModel): - config: ItemConnectorsSaltedgeConnectorConfigConfig +class ConnectorsSaltedgeConnectorConfig(BaseModel): + config: ConnectorsSaltedgeConnectorConfigConfig connector_name: Literal["saltedge"] @@ -1143,7 +1142,7 @@ class ItemConnectorsSaltedgeConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSlackConnectorConfigConfigOAuth(BaseModel): +class ConnectorsSlackConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -1151,12 +1150,12 @@ class ItemConnectorsSlackConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsSlackConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsSlackConnectorConfigConfigOAuth +class ConnectorsSlackConnectorConfigConfig(BaseModel): + oauth: ConnectorsSlackConnectorConfigConfigOAuth -class ItemConnectorsSlackConnectorConfig(BaseModel): - config: ItemConnectorsSlackConnectorConfigConfig +class ConnectorsSlackConnectorConfig(BaseModel): + config: ConnectorsSlackConnectorConfigConfig connector_name: Literal["slack"] @@ -1169,7 +1168,7 @@ class ItemConnectorsSlackConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSplitwiseConnectorConfig(BaseModel): +class ConnectorsSplitwiseConnectorConfig(BaseModel): config: None connector_name: Literal["splitwise"] @@ -1183,7 +1182,7 @@ class ItemConnectorsSplitwiseConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsSpreadsheetConnectorConfigConfig(BaseModel): +class ConnectorsSpreadsheetConnectorConfigConfig(BaseModel): enabled_presets: Optional[ List[ Literal[ @@ -1207,12 +1206,12 @@ class ItemConnectorsSpreadsheetConnectorConfigConfig(BaseModel): source_providers: Optional[List[object]] = FieldInfo(alias="sourceProviders", default=None) -class ItemConnectorsSpreadsheetConnectorConfig(BaseModel): +class ConnectorsSpreadsheetConnectorConfig(BaseModel): connector_name: Literal["spreadsheet"] id: Optional[str] = None - config: Optional[ItemConnectorsSpreadsheetConnectorConfigConfig] = None + config: Optional[ConnectorsSpreadsheetConnectorConfigConfig] = None created_at: Optional[datetime] = None @@ -1221,20 +1220,20 @@ class ItemConnectorsSpreadsheetConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsStripeConnectorConfigConfigOAuth(BaseModel): +class ConnectorsStripeConnectorConfigConfigOAuth(BaseModel): client_id: str = FieldInfo(alias="clientId") client_secret: str = FieldInfo(alias="clientSecret") -class ItemConnectorsStripeConnectorConfigConfig(BaseModel): +class ConnectorsStripeConnectorConfigConfig(BaseModel): apikey_auth: Optional[bool] = FieldInfo(alias="apikeyAuth", default=None) - oauth: Optional[ItemConnectorsStripeConnectorConfigConfigOAuth] = None + oauth: Optional[ConnectorsStripeConnectorConfigConfigOAuth] = None -class ItemConnectorsStripeConnectorConfig(BaseModel): - config: ItemConnectorsStripeConnectorConfigConfig +class ConnectorsStripeConnectorConfig(BaseModel): + config: ConnectorsStripeConnectorConfigConfig connector_name: Literal["stripe"] @@ -1247,14 +1246,14 @@ class ItemConnectorsStripeConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsTellerConnectorConfigConfig(BaseModel): +class ConnectorsTellerConnectorConfigConfig(BaseModel): application_id: str = FieldInfo(alias="applicationId") token: Optional[str] = None -class ItemConnectorsTellerConnectorConfig(BaseModel): - config: ItemConnectorsTellerConnectorConfigConfig +class ConnectorsTellerConnectorConfig(BaseModel): + config: ConnectorsTellerConnectorConfigConfig connector_name: Literal["teller"] @@ -1267,7 +1266,7 @@ class ItemConnectorsTellerConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsTogglConnectorConfig(BaseModel): +class ConnectorsTogglConnectorConfig(BaseModel): config: None connector_name: Literal["toggl"] @@ -1281,7 +1280,7 @@ class ItemConnectorsTogglConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsTwentyConnectorConfig(BaseModel): +class ConnectorsTwentyConnectorConfig(BaseModel): config: None connector_name: Literal["twenty"] @@ -1295,22 +1294,22 @@ class ItemConnectorsTwentyConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsVenmoConnectorConfigConfigProxy(BaseModel): +class ConnectorsVenmoConnectorConfigConfigProxy(BaseModel): cert: str url: str -class ItemConnectorsVenmoConnectorConfigConfig(BaseModel): - proxy: Optional[ItemConnectorsVenmoConnectorConfigConfigProxy] = None +class ConnectorsVenmoConnectorConfigConfig(BaseModel): + proxy: Optional[ConnectorsVenmoConnectorConfigConfigProxy] = None v1_base_url: Optional[str] = FieldInfo(alias="v1BaseURL", default=None) v5_base_url: Optional[str] = FieldInfo(alias="v5BaseURL", default=None) -class ItemConnectorsVenmoConnectorConfig(BaseModel): - config: ItemConnectorsVenmoConnectorConfigConfig +class ConnectorsVenmoConnectorConfig(BaseModel): + config: ConnectorsVenmoConnectorConfigConfig connector_name: Literal["venmo"] @@ -1323,7 +1322,7 @@ class ItemConnectorsVenmoConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsWebhookConnectorConfig(BaseModel): +class ConnectorsWebhookConnectorConfig(BaseModel): config: None connector_name: Literal["webhook"] @@ -1337,7 +1336,7 @@ class ItemConnectorsWebhookConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsWiseConnectorConfig(BaseModel): +class ConnectorsWiseConnectorConfig(BaseModel): config: None connector_name: Literal["wise"] @@ -1351,7 +1350,7 @@ class ItemConnectorsWiseConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsXeroConnectorConfigConfigOAuth(BaseModel): +class ConnectorsXeroConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -1359,12 +1358,12 @@ class ItemConnectorsXeroConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsXeroConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsXeroConnectorConfigConfigOAuth +class ConnectorsXeroConnectorConfigConfig(BaseModel): + oauth: ConnectorsXeroConnectorConfigConfigOAuth -class ItemConnectorsXeroConnectorConfig(BaseModel): - config: ItemConnectorsXeroConnectorConfigConfig +class ConnectorsXeroConnectorConfig(BaseModel): + config: ConnectorsXeroConnectorConfigConfig connector_name: Literal["xero"] @@ -1377,13 +1376,13 @@ class ItemConnectorsXeroConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsYodleeConnectorConfigConfigProxy(BaseModel): +class ConnectorsYodleeConnectorConfigConfigProxy(BaseModel): cert: str url: str -class ItemConnectorsYodleeConnectorConfigConfig(BaseModel): +class ConnectorsYodleeConnectorConfigConfig(BaseModel): admin_login_name: str = FieldInfo(alias="adminLoginName") client_id: str = FieldInfo(alias="clientId") @@ -1392,13 +1391,13 @@ class ItemConnectorsYodleeConnectorConfigConfig(BaseModel): env_name: Literal["sandbox", "development", "production"] = FieldInfo(alias="envName") - proxy: Optional[ItemConnectorsYodleeConnectorConfigConfigProxy] = None + proxy: Optional[ConnectorsYodleeConnectorConfigConfigProxy] = None sandbox_login_name: Optional[str] = FieldInfo(alias="sandboxLoginName", default=None) -class ItemConnectorsYodleeConnectorConfig(BaseModel): - config: ItemConnectorsYodleeConnectorConfigConfig +class ConnectorsYodleeConnectorConfig(BaseModel): + config: ConnectorsYodleeConnectorConfigConfig connector_name: Literal["yodlee"] @@ -1411,7 +1410,7 @@ class ItemConnectorsYodleeConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsZohodeskConnectorConfigConfigOAuth(BaseModel): +class ConnectorsZohodeskConnectorConfigConfigOAuth(BaseModel): client_id: str client_secret: str @@ -1419,12 +1418,12 @@ class ItemConnectorsZohodeskConnectorConfigConfigOAuth(BaseModel): scopes: Optional[str] = None -class ItemConnectorsZohodeskConnectorConfigConfig(BaseModel): - oauth: ItemConnectorsZohodeskConnectorConfigConfigOAuth +class ConnectorsZohodeskConnectorConfigConfig(BaseModel): + oauth: ConnectorsZohodeskConnectorConfigConfigOAuth -class ItemConnectorsZohodeskConnectorConfig(BaseModel): - config: ItemConnectorsZohodeskConnectorConfigConfig +class ConnectorsZohodeskConnectorConfig(BaseModel): + config: ConnectorsZohodeskConnectorConfigConfig connector_name: Literal["zohodesk"] @@ -1437,7 +1436,7 @@ class ItemConnectorsZohodeskConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -class ItemConnectorsGoogledriveConnectorConfigConfig(BaseModel): +class ConnectorsGoogledriveConnectorConfigConfig(BaseModel): client_id: str client_secret: str @@ -1445,8 +1444,8 @@ class ItemConnectorsGoogledriveConnectorConfigConfig(BaseModel): scopes: Optional[List[str]] = None -class ItemConnectorsGoogledriveConnectorConfig(BaseModel): - config: ItemConnectorsGoogledriveConnectorConfigConfig +class ConnectorsGoogledriveConnectorConfig(BaseModel): + config: ConnectorsGoogledriveConnectorConfigConfig connector_name: Literal["googledrive"] @@ -1459,70 +1458,60 @@ class ItemConnectorsGoogledriveConnectorConfig(BaseModel): updated_at: Optional[datetime] = None -Item: TypeAlias = Union[ - ItemConnectorsAircallConnectorConfig, - ItemConnectorsAirtableConnectorConfig, - ItemConnectorsApolloConnectorConfig, - ItemConnectorsBeancountConnectorConfig, - ItemConnectorsBrexConnectorConfig, - ItemConnectorsCodaConnectorConfig, - ItemConnectorsConfluenceConnectorConfig, - ItemConnectorsDebugConnectorConfig, - ItemConnectorsDiscordConnectorConfig, - ItemConnectorsFinchConnectorConfig, - ItemConnectorsFirebaseConnectorConfig, - ItemConnectorsForeceiptConnectorConfig, - ItemConnectorsFsConnectorConfig, - ItemConnectorsGitHubConnectorConfig, - ItemConnectorsGongConnectorConfig, - ItemConnectorsGoogleConnectorConfig, - ItemConnectorsGreenhouseConnectorConfig, - ItemConnectorsHeronConnectorConfig, - ItemConnectorsHubspotConnectorConfig, - ItemConnectorsIntercomConnectorConfig, - ItemConnectorsJiraConnectorConfig, - ItemConnectorsKustomerConnectorConfig, - ItemConnectorsLeverConnectorConfig, - ItemConnectorsLinearConnectorConfig, - ItemConnectorsLunchmoneyConnectorConfig, - ItemConnectorsMercuryConnectorConfig, - ItemConnectorsMergeConnectorConfig, - ItemConnectorsMicrosoftConnectorConfig, - ItemConnectorsMongoDBConnectorConfig, - ItemConnectorsMootaConnectorConfig, - ItemConnectorsOnebrickConnectorConfig, - ItemConnectorsOutreachConnectorConfig, - ItemConnectorsPipedriveConnectorConfig, - ItemConnectorsPlaidConnectorConfig, - ItemConnectorsPostgresConnectorConfig, - ItemConnectorsQboConnectorConfig, - ItemConnectorsRampConnectorConfig, - ItemConnectorsRevertConnectorConfig, - ItemConnectorsSalesforceConnectorConfig, - ItemConnectorsSalesloftConnectorConfig, - ItemConnectorsSaltedgeConnectorConfig, - ItemConnectorsSlackConnectorConfig, - ItemConnectorsSplitwiseConnectorConfig, - ItemConnectorsSpreadsheetConnectorConfig, - ItemConnectorsStripeConnectorConfig, - ItemConnectorsTellerConnectorConfig, - ItemConnectorsTogglConnectorConfig, - ItemConnectorsTwentyConnectorConfig, - ItemConnectorsVenmoConnectorConfig, - ItemConnectorsWebhookConnectorConfig, - ItemConnectorsWiseConnectorConfig, - ItemConnectorsXeroConnectorConfig, - ItemConnectorsYodleeConnectorConfig, - ItemConnectorsZohodeskConnectorConfig, - ItemConnectorsGoogledriveConnectorConfig, +ListConnectionConfigsResponse: TypeAlias = Union[ + ConnectorsAircallConnectorConfig, + ConnectorsAirtableConnectorConfig, + ConnectorsApolloConnectorConfig, + ConnectorsBeancountConnectorConfig, + ConnectorsBrexConnectorConfig, + ConnectorsCodaConnectorConfig, + ConnectorsConfluenceConnectorConfig, + ConnectorsDebugConnectorConfig, + ConnectorsDiscordConnectorConfig, + ConnectorsFinchConnectorConfig, + ConnectorsFirebaseConnectorConfig, + ConnectorsForeceiptConnectorConfig, + ConnectorsFsConnectorConfig, + ConnectorsGitHubConnectorConfig, + ConnectorsGongConnectorConfig, + ConnectorsGoogleConnectorConfig, + ConnectorsGreenhouseConnectorConfig, + ConnectorsHeronConnectorConfig, + ConnectorsHubspotConnectorConfig, + ConnectorsIntercomConnectorConfig, + ConnectorsJiraConnectorConfig, + ConnectorsKustomerConnectorConfig, + ConnectorsLeverConnectorConfig, + ConnectorsLinearConnectorConfig, + ConnectorsLunchmoneyConnectorConfig, + ConnectorsMercuryConnectorConfig, + ConnectorsMergeConnectorConfig, + ConnectorsMicrosoftConnectorConfig, + ConnectorsMongoDBConnectorConfig, + ConnectorsMootaConnectorConfig, + ConnectorsOnebrickConnectorConfig, + ConnectorsOutreachConnectorConfig, + ConnectorsPipedriveConnectorConfig, + ConnectorsPlaidConnectorConfig, + ConnectorsPostgresConnectorConfig, + ConnectorsQboConnectorConfig, + ConnectorsRampConnectorConfig, + ConnectorsRevertConnectorConfig, + ConnectorsSalesforceConnectorConfig, + ConnectorsSalesloftConnectorConfig, + ConnectorsSaltedgeConnectorConfig, + ConnectorsSlackConnectorConfig, + ConnectorsSplitwiseConnectorConfig, + ConnectorsSpreadsheetConnectorConfig, + ConnectorsStripeConnectorConfig, + ConnectorsTellerConnectorConfig, + ConnectorsTogglConnectorConfig, + ConnectorsTwentyConnectorConfig, + ConnectorsVenmoConnectorConfig, + ConnectorsWebhookConnectorConfig, + ConnectorsWiseConnectorConfig, + ConnectorsXeroConnectorConfig, + ConnectorsYodleeConnectorConfig, + ConnectorsZohodeskConnectorConfig, + ConnectorsGoogledriveConnectorConfig, ] - - -class ListConnectionConfigsResponse(BaseModel): - items: List[Item] - - limit: int - - offset: int - - total: float diff --git a/src/openint/types/list_events_response.py b/src/openint/types/list_events_response.py index 9819f5d..701906b 100644 --- a/src/openint/types/list_events_response.py +++ b/src/openint/types/list_events_response.py @@ -4,10 +4,10 @@ from .._models import BaseModel -__all__ = ["ListEventsResponse", "Item"] +__all__ = ["ListEventsResponse"] -class Item(BaseModel): +class ListEventsResponse(BaseModel): id: str customer_id: Optional[str] = None @@ -25,13 +25,3 @@ class Item(BaseModel): user_id: Optional[str] = None v: Optional[str] = None - - -class ListEventsResponse(BaseModel): - items: List[Item] - - limit: int - - offset: int - - total: float diff --git a/tests/api_resources/test_client.py b/tests/api_resources/test_client.py index 53452b2..e653550 100644 --- a/tests/api_resources/test_client.py +++ b/tests/api_resources/test_client.py @@ -11,11 +11,14 @@ from tests.utils import assert_matches_type from openint.types import ( ListEventsResponse, + CreateTokenResponse, GetConnectionResponse, CheckConnectionResponse, + CreateMagicLinkResponse, ListConnectionsResponse, ListConnectionConfigsResponse, ) +from openint.pagination import SyncOffsetPagination, AsyncOffsetPagination base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -65,30 +68,123 @@ def test_path_params_check_connection(self, client: Openint) -> None: "", ) + @pytest.mark.skip() + @parametrize + def test_method_create_magic_link(self, client: Openint) -> None: + client_ = client.create_magic_link( + customer_id="x", + ) + assert_matches_type(CreateMagicLinkResponse, client_, path=["response"]) + + @pytest.mark.skip() + @parametrize + def test_method_create_magic_link_with_all_params(self, client: Openint) -> None: + client_ = client.create_magic_link( + customer_id="x", + connection_id="connection_id", + connector_names="aircall", + email="email", + redirect_url="redirect_url", + theme="light", + validity_in_seconds=0, + view="manage", + ) + assert_matches_type(CreateMagicLinkResponse, client_, path=["response"]) + + @pytest.mark.skip() + @parametrize + def test_raw_response_create_magic_link(self, client: Openint) -> None: + response = client.with_raw_response.create_magic_link( + customer_id="x", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(CreateMagicLinkResponse, client_, path=["response"]) + + @pytest.mark.skip() + @parametrize + def test_streaming_response_create_magic_link(self, client: Openint) -> None: + with client.with_streaming_response.create_magic_link( + customer_id="x", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(CreateMagicLinkResponse, client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip() + @parametrize + def test_method_create_token(self, client: Openint) -> None: + client_ = client.create_token( + customer_id="x", + ) + assert_matches_type(CreateTokenResponse, client_, path=["response"]) + + @pytest.mark.skip() + @parametrize + def test_method_create_token_with_all_params(self, client: Openint) -> None: + client_ = client.create_token( + customer_id="x", + validity_in_seconds=1, + ) + assert_matches_type(CreateTokenResponse, client_, path=["response"]) + + @pytest.mark.skip() + @parametrize + def test_raw_response_create_token(self, client: Openint) -> None: + response = client.with_raw_response.create_token( + customer_id="x", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client_ = response.parse() + assert_matches_type(CreateTokenResponse, client_, path=["response"]) + + @pytest.mark.skip() + @parametrize + def test_streaming_response_create_token(self, client: Openint) -> None: + with client.with_streaming_response.create_token( + customer_id="x", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client_ = response.parse() + assert_matches_type(CreateTokenResponse, client_, path=["response"]) + + assert cast(Any, response.is_closed) is True + @pytest.mark.skip() @parametrize def test_method_get_connection(self, client: Openint) -> None: - client_ = client.get_connection() + client_ = client.get_connection( + id="id", + ) assert_matches_type(GetConnectionResponse, client_, path=["response"]) @pytest.mark.skip() @parametrize def test_method_get_connection_with_all_params(self, client: Openint) -> None: client_ = client.get_connection( - connector_config_id="connector_config_id", - connector_name="connector_name", - customer_id="customer_id", + id="id", expand=["connector"], include_secrets="none", - limit=1, - offset=0, + refresh_policy="none", ) assert_matches_type(GetConnectionResponse, client_, path=["response"]) @pytest.mark.skip() @parametrize def test_raw_response_get_connection(self, client: Openint) -> None: - response = client.with_raw_response.get_connection() + response = client.with_raw_response.get_connection( + id="id", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -98,7 +194,9 @@ def test_raw_response_get_connection(self, client: Openint) -> None: @pytest.mark.skip() @parametrize def test_streaming_response_get_connection(self, client: Openint) -> None: - with client.with_streaming_response.get_connection() as response: + with client.with_streaming_response.get_connection( + id="id", + ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -107,22 +205,30 @@ def test_streaming_response_get_connection(self, client: Openint) -> None: assert cast(Any, response.is_closed) is True + @pytest.mark.skip() + @parametrize + def test_path_params_get_connection(self, client: Openint) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + client.with_raw_response.get_connection( + id="", + ) + @pytest.mark.skip() @parametrize def test_method_list_connection_configs(self, client: Openint) -> None: client_ = client.list_connection_configs() - assert_matches_type(ListConnectionConfigsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize def test_method_list_connection_configs_with_all_params(self, client: Openint) -> None: client_ = client.list_connection_configs( - connector_name="connector_name", + connector_name="aircall", expand=["connector"], limit=1, offset=0, ) - assert_matches_type(ListConnectionConfigsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize @@ -132,7 +238,7 @@ def test_raw_response_list_connection_configs(self, client: Openint) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(ListConnectionConfigsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize @@ -142,68 +248,57 @@ def test_streaming_response_list_connection_configs(self, client: Openint) -> No assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(ListConnectionConfigsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionConfigsResponse], client_, path=["response"]) assert cast(Any, response.is_closed) is True @pytest.mark.skip() @parametrize def test_method_list_connections(self, client: Openint) -> None: - client_ = client.list_connections( - id="id", - ) - assert_matches_type(ListConnectionsResponse, client_, path=["response"]) + client_ = client.list_connections() + assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize def test_method_list_connections_with_all_params(self, client: Openint) -> None: client_ = client.list_connections( - id="id", + connector_config_id="connector_config_id", + connector_name="aircall", + customer_id="x", expand=["connector"], include_secrets="none", - refresh_policy="none", + limit=1, + offset=0, ) - assert_matches_type(ListConnectionsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize def test_raw_response_list_connections(self, client: Openint) -> None: - response = client.with_raw_response.list_connections( - id="id", - ) + response = client.with_raw_response.list_connections() assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(ListConnectionsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize def test_streaming_response_list_connections(self, client: Openint) -> None: - with client.with_streaming_response.list_connections( - id="id", - ) as response: + with client.with_streaming_response.list_connections() as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(ListConnectionsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListConnectionsResponse], client_, path=["response"]) assert cast(Any, response.is_closed) is True - @pytest.mark.skip() - @parametrize - def test_path_params_list_connections(self, client: Openint) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): - client.with_raw_response.list_connections( - id="", - ) - @pytest.mark.skip() @parametrize def test_method_list_events(self, client: Openint) -> None: client_ = client.list_events() - assert_matches_type(ListEventsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize @@ -212,7 +307,7 @@ def test_method_list_events_with_all_params(self, client: Openint) -> None: limit=1, offset=0, ) - assert_matches_type(ListEventsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize @@ -222,7 +317,7 @@ def test_raw_response_list_events(self, client: Openint) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(ListEventsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) @pytest.mark.skip() @parametrize @@ -232,7 +327,7 @@ def test_streaming_response_list_events(self, client: Openint) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" client_ = response.parse() - assert_matches_type(ListEventsResponse, client_, path=["response"]) + assert_matches_type(SyncOffsetPagination[ListEventsResponse], client_, path=["response"]) assert cast(Any, response.is_closed) is True @@ -282,30 +377,123 @@ async def test_path_params_check_connection(self, async_client: AsyncOpenint) -> "", ) + @pytest.mark.skip() + @parametrize + async def test_method_create_magic_link(self, async_client: AsyncOpenint) -> None: + client = await async_client.create_magic_link( + customer_id="x", + ) + assert_matches_type(CreateMagicLinkResponse, client, path=["response"]) + + @pytest.mark.skip() + @parametrize + async def test_method_create_magic_link_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.create_magic_link( + customer_id="x", + connection_id="connection_id", + connector_names="aircall", + email="email", + redirect_url="redirect_url", + theme="light", + validity_in_seconds=0, + view="manage", + ) + assert_matches_type(CreateMagicLinkResponse, client, path=["response"]) + + @pytest.mark.skip() + @parametrize + async def test_raw_response_create_magic_link(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.create_magic_link( + customer_id="x", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(CreateMagicLinkResponse, client, path=["response"]) + + @pytest.mark.skip() + @parametrize + async def test_streaming_response_create_magic_link(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.create_magic_link( + customer_id="x", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(CreateMagicLinkResponse, client, path=["response"]) + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip() + @parametrize + async def test_method_create_token(self, async_client: AsyncOpenint) -> None: + client = await async_client.create_token( + customer_id="x", + ) + assert_matches_type(CreateTokenResponse, client, path=["response"]) + + @pytest.mark.skip() + @parametrize + async def test_method_create_token_with_all_params(self, async_client: AsyncOpenint) -> None: + client = await async_client.create_token( + customer_id="x", + validity_in_seconds=1, + ) + assert_matches_type(CreateTokenResponse, client, path=["response"]) + + @pytest.mark.skip() + @parametrize + async def test_raw_response_create_token(self, async_client: AsyncOpenint) -> None: + response = await async_client.with_raw_response.create_token( + customer_id="x", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + client = await response.parse() + assert_matches_type(CreateTokenResponse, client, path=["response"]) + + @pytest.mark.skip() + @parametrize + async def test_streaming_response_create_token(self, async_client: AsyncOpenint) -> None: + async with async_client.with_streaming_response.create_token( + customer_id="x", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + client = await response.parse() + assert_matches_type(CreateTokenResponse, client, path=["response"]) + + assert cast(Any, response.is_closed) is True + @pytest.mark.skip() @parametrize async def test_method_get_connection(self, async_client: AsyncOpenint) -> None: - client = await async_client.get_connection() + client = await async_client.get_connection( + id="id", + ) assert_matches_type(GetConnectionResponse, client, path=["response"]) @pytest.mark.skip() @parametrize async def test_method_get_connection_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.get_connection( - connector_config_id="connector_config_id", - connector_name="connector_name", - customer_id="customer_id", + id="id", expand=["connector"], include_secrets="none", - limit=1, - offset=0, + refresh_policy="none", ) assert_matches_type(GetConnectionResponse, client, path=["response"]) @pytest.mark.skip() @parametrize async def test_raw_response_get_connection(self, async_client: AsyncOpenint) -> None: - response = await async_client.with_raw_response.get_connection() + response = await async_client.with_raw_response.get_connection( + id="id", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -315,7 +503,9 @@ async def test_raw_response_get_connection(self, async_client: AsyncOpenint) -> @pytest.mark.skip() @parametrize async def test_streaming_response_get_connection(self, async_client: AsyncOpenint) -> None: - async with async_client.with_streaming_response.get_connection() as response: + async with async_client.with_streaming_response.get_connection( + id="id", + ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -324,22 +514,30 @@ async def test_streaming_response_get_connection(self, async_client: AsyncOpenin assert cast(Any, response.is_closed) is True + @pytest.mark.skip() + @parametrize + async def test_path_params_get_connection(self, async_client: AsyncOpenint) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + await async_client.with_raw_response.get_connection( + id="", + ) + @pytest.mark.skip() @parametrize async def test_method_list_connection_configs(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connection_configs() - assert_matches_type(ListConnectionConfigsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize async def test_method_list_connection_configs_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connection_configs( - connector_name="connector_name", + connector_name="aircall", expand=["connector"], limit=1, offset=0, ) - assert_matches_type(ListConnectionConfigsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize @@ -349,7 +547,7 @@ async def test_raw_response_list_connection_configs(self, async_client: AsyncOpe assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(ListConnectionConfigsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize @@ -359,68 +557,57 @@ async def test_streaming_response_list_connection_configs(self, async_client: As assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(ListConnectionConfigsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionConfigsResponse], client, path=["response"]) assert cast(Any, response.is_closed) is True @pytest.mark.skip() @parametrize async def test_method_list_connections(self, async_client: AsyncOpenint) -> None: - client = await async_client.list_connections( - id="id", - ) - assert_matches_type(ListConnectionsResponse, client, path=["response"]) + client = await async_client.list_connections() + assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize async def test_method_list_connections_with_all_params(self, async_client: AsyncOpenint) -> None: client = await async_client.list_connections( - id="id", + connector_config_id="connector_config_id", + connector_name="aircall", + customer_id="x", expand=["connector"], include_secrets="none", - refresh_policy="none", + limit=1, + offset=0, ) - assert_matches_type(ListConnectionsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize async def test_raw_response_list_connections(self, async_client: AsyncOpenint) -> None: - response = await async_client.with_raw_response.list_connections( - id="id", - ) + response = await async_client.with_raw_response.list_connections() assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(ListConnectionsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize async def test_streaming_response_list_connections(self, async_client: AsyncOpenint) -> None: - async with async_client.with_streaming_response.list_connections( - id="id", - ) as response: + async with async_client.with_streaming_response.list_connections() as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(ListConnectionsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListConnectionsResponse], client, path=["response"]) assert cast(Any, response.is_closed) is True - @pytest.mark.skip() - @parametrize - async def test_path_params_list_connections(self, async_client: AsyncOpenint) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): - await async_client.with_raw_response.list_connections( - id="", - ) - @pytest.mark.skip() @parametrize async def test_method_list_events(self, async_client: AsyncOpenint) -> None: client = await async_client.list_events() - assert_matches_type(ListEventsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize @@ -429,7 +616,7 @@ async def test_method_list_events_with_all_params(self, async_client: AsyncOpeni limit=1, offset=0, ) - assert_matches_type(ListEventsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize @@ -439,7 +626,7 @@ async def test_raw_response_list_events(self, async_client: AsyncOpenint) -> Non assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(ListEventsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) @pytest.mark.skip() @parametrize @@ -449,6 +636,6 @@ async def test_streaming_response_list_events(self, async_client: AsyncOpenint) assert response.http_request.headers.get("X-Stainless-Lang") == "python" client = await response.parse() - assert_matches_type(ListEventsResponse, client, path=["response"]) + assert_matches_type(AsyncOffsetPagination[ListEventsResponse], client, path=["response"]) assert cast(Any, response.is_closed) is True diff --git a/tests/conftest.py b/tests/conftest.py index 7e0d354..d5c0a7b 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -29,7 +29,6 @@ def pytest_collection_modifyitems(items: list[pytest.Function]) -> None: base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") api_key = "My API Key" -customer_token = "GENERATED_CUSTOMER_TOKEN" @pytest.fixture(scope="session") @@ -38,9 +37,7 @@ def client(request: FixtureRequest) -> Iterator[Openint]: if not isinstance(strict, bool): raise TypeError(f"Unexpected fixture parameter type {type(strict)}, expected {bool}") - with Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=strict - ) as client: + with Openint(base_url=base_url, api_key=api_key, _strict_response_validation=strict) as client: yield client @@ -50,7 +47,5 @@ async def async_client(request: FixtureRequest) -> AsyncIterator[AsyncOpenint]: if not isinstance(strict, bool): raise TypeError(f"Unexpected fixture parameter type {type(strict)}, expected {bool}") - async with AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=strict - ) as client: + async with AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=strict) as client: yield client diff --git a/tests/test_client.py b/tests/test_client.py index 3400914..ee6627f 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -24,8 +24,7 @@ from openint import Openint, AsyncOpenint, APIResponseValidationError from openint._types import Omit from openint._models import BaseModel, FinalRequestOptions -from openint._constants import RAW_RESPONSE_HEADER -from openint._exceptions import APIStatusError, APITimeoutError, APIResponseValidationError +from openint._exceptions import APIResponseValidationError from openint._base_client import ( DEFAULT_TIMEOUT, HTTPX_DEFAULT_TIMEOUT, @@ -37,7 +36,6 @@ base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") api_key = "My API Key" -customer_token = "GENERATED_CUSTOMER_TOKEN" def _get_params(client: BaseClient[Any, Any]) -> dict[str, str]: @@ -50,18 +48,8 @@ def _low_retry_timeout(*_args: Any, **_kwargs: Any) -> float: return 0.1 -def _get_open_connections(client: Openint | AsyncOpenint) -> int: - transport = client._client._transport - assert isinstance(transport, httpx.HTTPTransport) or isinstance(transport, httpx.AsyncHTTPTransport) - - pool = transport._pool - return len(pool._requests) - - class TestOpenint: - client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True) @pytest.mark.respx(base_url=base_url) def test_raw_response(self, respx_mock: MockRouter) -> None: @@ -91,10 +79,6 @@ def test_copy(self) -> None: assert copied.api_key == "another My API Key" assert self.client.api_key == "My API Key" - copied = self.client.copy(customer_token="another GENERATED_CUSTOMER_TOKEN") - assert copied.customer_token == "another GENERATED_CUSTOMER_TOKEN" - assert self.client.customer_token == "GENERATED_CUSTOMER_TOKEN" - def test_copy_default_options(self) -> None: # options that have a default are overridden correctly copied = self.client.copy(max_retries=7) @@ -113,11 +97,7 @@ def test_copy_default_options(self) -> None: def test_copy_default_headers(self) -> None: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_headers={"X-Foo": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_headers={"X-Foo": "bar"} ) assert client.default_headers["X-Foo"] == "bar" @@ -151,11 +131,7 @@ def test_copy_default_headers(self) -> None: def test_copy_default_query(self) -> None: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_query={"foo": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_query={"foo": "bar"} ) assert _get_params(client)["foo"] == "bar" @@ -279,13 +255,7 @@ def test_request_timeout(self) -> None: assert timeout == httpx.Timeout(100.0) def test_client_timeout_option(self) -> None: - client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - timeout=httpx.Timeout(0), - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True, timeout=httpx.Timeout(0)) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) timeout = httpx.Timeout(**request.extensions["timeout"]) # type: ignore @@ -295,11 +265,7 @@ def test_http_client_timeout_option(self) -> None: # custom timeout given to the httpx client should be used with httpx.Client(timeout=None) as http_client: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - http_client=http_client, + base_url=base_url, api_key=api_key, _strict_response_validation=True, http_client=http_client ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -309,11 +275,7 @@ def test_http_client_timeout_option(self) -> None: # no timeout given to the httpx client should not use the httpx default with httpx.Client() as http_client: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - http_client=http_client, + base_url=base_url, api_key=api_key, _strict_response_validation=True, http_client=http_client ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -323,11 +285,7 @@ def test_http_client_timeout_option(self) -> None: # explicitly passing the default timeout currently results in it being ignored with httpx.Client(timeout=HTTPX_DEFAULT_TIMEOUT) as http_client: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - http_client=http_client, + base_url=base_url, api_key=api_key, _strict_response_validation=True, http_client=http_client ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -340,18 +298,13 @@ async def test_invalid_http_client(self) -> None: Openint( base_url=base_url, api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=cast(Any, http_client), ) def test_default_headers_option(self) -> None: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_headers={"X-Foo": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_headers={"X-Foo": "bar"} ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) assert request.headers.get("x-foo") == "bar" @@ -360,7 +313,6 @@ def test_default_headers_option(self) -> None: client2 = Openint( base_url=base_url, api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, default_headers={ "X-Foo": "stainless", @@ -372,35 +324,27 @@ def test_default_headers_option(self) -> None: assert request.headers.get("x-stainless-lang") == "my-overriding-header" def test_validate_headers(self) -> None: - client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) - assert request.headers.get("Authorization") == f"Bearer {api_key}" + assert request.headers.get("authorization") == api_key with update_env(**{"OPENINT_API_KEY": Omit()}): - client2 = Openint( - base_url=base_url, api_key=None, customer_token=customer_token, _strict_response_validation=True - ) + client2 = Openint(base_url=base_url, api_key=None, _strict_response_validation=True) with pytest.raises( TypeError, - match="Could not resolve authentication method. Expected the api_key to be set. Or for the `Authorization` headers to be explicitly omitted", + match="Could not resolve authentication method. Expected either api_key or customer_token to be set. Or for one of the `authorization` or `Authorization` headers to be explicitly omitted", ): client2._build_request(FinalRequestOptions(method="get", url="/foo")) request2 = client2._build_request( - FinalRequestOptions(method="get", url="/foo", headers={"Authorization": Omit()}) + FinalRequestOptions(method="get", url="/foo", headers={"authorization": Omit()}) ) - assert request2.headers.get("Authorization") is None + assert request2.headers.get("authorization") is None def test_default_query_option(self) -> None: client = Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_query={"query_param": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_query={"query_param": "bar"} ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) url = httpx.URL(request.url) @@ -600,12 +544,7 @@ class Model(BaseModel): assert response.foo == 2 def test_base_url_setter(self) -> None: - client = Openint( - base_url="https://example.com/from_init", - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - ) + client = Openint(base_url="https://example.com/from_init", api_key=api_key, _strict_response_validation=True) assert client.base_url == "https://example.com/from_init/" client.base_url = "https://example.com/from_setter" # type: ignore[assignment] @@ -614,22 +553,16 @@ def test_base_url_setter(self) -> None: def test_base_url_env(self) -> None: with update_env(OPENINT_BASE_URL="http://localhost:5000/from/env"): - client = Openint(api_key=api_key, customer_token=customer_token, _strict_response_validation=True) + client = Openint(api_key=api_key, _strict_response_validation=True) assert client.base_url == "http://localhost:5000/from/env/" @pytest.mark.parametrize( "client", [ + Openint(base_url="http://localhost:5000/custom/path/", api_key=api_key, _strict_response_validation=True), Openint( base_url="http://localhost:5000/custom/path/", api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - ), - Openint( - base_url="http://localhost:5000/custom/path/", - api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=httpx.Client(), ), @@ -649,16 +582,10 @@ def test_base_url_trailing_slash(self, client: Openint) -> None: @pytest.mark.parametrize( "client", [ + Openint(base_url="http://localhost:5000/custom/path/", api_key=api_key, _strict_response_validation=True), Openint( base_url="http://localhost:5000/custom/path/", api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - ), - Openint( - base_url="http://localhost:5000/custom/path/", - api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=httpx.Client(), ), @@ -678,16 +605,10 @@ def test_base_url_no_trailing_slash(self, client: Openint) -> None: @pytest.mark.parametrize( "client", [ + Openint(base_url="http://localhost:5000/custom/path/", api_key=api_key, _strict_response_validation=True), Openint( base_url="http://localhost:5000/custom/path/", api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - ), - Openint( - base_url="http://localhost:5000/custom/path/", - api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=httpx.Client(), ), @@ -705,9 +626,7 @@ def test_absolute_request_url(self, client: Openint) -> None: assert request.url == "https://myapi.com/foo" def test_copied_client_does_not_close_http(self) -> None: - client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True) assert not client.is_closed() copied = client.copy() @@ -718,9 +637,7 @@ def test_copied_client_does_not_close_http(self) -> None: assert not client.is_closed() def test_client_context_manager(self) -> None: - client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True) with client as c2: assert c2 is client assert not c2.is_closed() @@ -741,13 +658,7 @@ class Model(BaseModel): def test_client_max_retries_validation(self) -> None: with pytest.raises(TypeError, match=r"max_retries cannot be None"): - Openint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - max_retries=cast(Any, None), - ) + Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True, max_retries=cast(Any, None)) @pytest.mark.respx(base_url=base_url) def test_received_text_for_expected_json(self, respx_mock: MockRouter) -> None: @@ -756,16 +667,12 @@ class Model(BaseModel): respx_mock.get("/foo").mock(return_value=httpx.Response(200, text="my-custom-format")) - strict_client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + strict_client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True) with pytest.raises(APIResponseValidationError): strict_client.get("/foo", cast_to=Model) - client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=False - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=False) response = client.get("/foo", cast_to=Model) assert isinstance(response, str) # type: ignore[unreachable] @@ -793,35 +700,13 @@ class Model(BaseModel): ) @mock.patch("time.time", mock.MagicMock(return_value=1696004797)) def test_parse_retry_after_header(self, remaining_retries: int, retry_after: str, timeout: float) -> None: - client = Openint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = Openint(base_url=base_url, api_key=api_key, _strict_response_validation=True) headers = httpx.Headers({"retry-after": retry_after}) options = FinalRequestOptions(method="get", url="/foo", max_retries=3) calculated = client._calculate_retry_timeout(remaining_retries, options, headers) assert calculated == pytest.approx(timeout, 0.5 * 0.875) # pyright: ignore[reportUnknownMemberType] - @mock.patch("openint._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) - @pytest.mark.respx(base_url=base_url) - def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.get("/connection").mock(side_effect=httpx.TimeoutException("Test timeout error")) - - with pytest.raises(APITimeoutError): - self.client.get("/connection", cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}}) - - assert _get_open_connections(self.client) == 0 - - @mock.patch("openint._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) - @pytest.mark.respx(base_url=base_url) - def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.get("/connection").mock(return_value=httpx.Response(500)) - - with pytest.raises(APIStatusError): - self.client.get("/connection", cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}}) - - assert _get_open_connections(self.client) == 0 - @pytest.mark.parametrize("failures_before_success", [0, 2, 4]) @mock.patch("openint._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) @pytest.mark.respx(base_url=base_url) @@ -848,7 +733,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: respx_mock.get("/connection").mock(side_effect=retry_handler) - response = client.with_raw_response.get_connection() + response = client.with_raw_response.list_connections() assert response.retries_taken == failures_before_success assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success @@ -872,7 +757,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: respx_mock.get("/connection").mock(side_effect=retry_handler) - response = client.with_raw_response.get_connection(extra_headers={"x-stainless-retry-count": Omit()}) + response = client.with_raw_response.list_connections(extra_headers={"x-stainless-retry-count": Omit()}) assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0 @@ -895,15 +780,13 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: respx_mock.get("/connection").mock(side_effect=retry_handler) - response = client.with_raw_response.get_connection(extra_headers={"x-stainless-retry-count": "42"}) + response = client.with_raw_response.list_connections(extra_headers={"x-stainless-retry-count": "42"}) assert response.http_request.headers.get("x-stainless-retry-count") == "42" class TestAsyncOpenint: - client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=True) @pytest.mark.respx(base_url=base_url) @pytest.mark.asyncio @@ -935,10 +818,6 @@ def test_copy(self) -> None: assert copied.api_key == "another My API Key" assert self.client.api_key == "My API Key" - copied = self.client.copy(customer_token="another GENERATED_CUSTOMER_TOKEN") - assert copied.customer_token == "another GENERATED_CUSTOMER_TOKEN" - assert self.client.customer_token == "GENERATED_CUSTOMER_TOKEN" - def test_copy_default_options(self) -> None: # options that have a default are overridden correctly copied = self.client.copy(max_retries=7) @@ -957,11 +836,7 @@ def test_copy_default_options(self) -> None: def test_copy_default_headers(self) -> None: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_headers={"X-Foo": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_headers={"X-Foo": "bar"} ) assert client.default_headers["X-Foo"] == "bar" @@ -995,11 +870,7 @@ def test_copy_default_headers(self) -> None: def test_copy_default_query(self) -> None: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_query={"foo": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_query={"foo": "bar"} ) assert _get_params(client)["foo"] == "bar" @@ -1124,11 +995,7 @@ async def test_request_timeout(self) -> None: async def test_client_timeout_option(self) -> None: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - timeout=httpx.Timeout(0), + base_url=base_url, api_key=api_key, _strict_response_validation=True, timeout=httpx.Timeout(0) ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -1139,11 +1006,7 @@ async def test_http_client_timeout_option(self) -> None: # custom timeout given to the httpx client should be used async with httpx.AsyncClient(timeout=None) as http_client: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - http_client=http_client, + base_url=base_url, api_key=api_key, _strict_response_validation=True, http_client=http_client ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -1153,11 +1016,7 @@ async def test_http_client_timeout_option(self) -> None: # no timeout given to the httpx client should not use the httpx default async with httpx.AsyncClient() as http_client: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - http_client=http_client, + base_url=base_url, api_key=api_key, _strict_response_validation=True, http_client=http_client ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -1167,11 +1026,7 @@ async def test_http_client_timeout_option(self) -> None: # explicitly passing the default timeout currently results in it being ignored async with httpx.AsyncClient(timeout=HTTPX_DEFAULT_TIMEOUT) as http_client: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - http_client=http_client, + base_url=base_url, api_key=api_key, _strict_response_validation=True, http_client=http_client ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) @@ -1184,18 +1039,13 @@ def test_invalid_http_client(self) -> None: AsyncOpenint( base_url=base_url, api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=cast(Any, http_client), ) def test_default_headers_option(self) -> None: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_headers={"X-Foo": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_headers={"X-Foo": "bar"} ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) assert request.headers.get("x-foo") == "bar" @@ -1204,7 +1054,6 @@ def test_default_headers_option(self) -> None: client2 = AsyncOpenint( base_url=base_url, api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, default_headers={ "X-Foo": "stainless", @@ -1216,35 +1065,27 @@ def test_default_headers_option(self) -> None: assert request.headers.get("x-stainless-lang") == "my-overriding-header" def test_validate_headers(self) -> None: - client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=True) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) - assert request.headers.get("Authorization") == f"Bearer {api_key}" + assert request.headers.get("authorization") == api_key with update_env(**{"OPENINT_API_KEY": Omit()}): - client2 = AsyncOpenint( - base_url=base_url, api_key=None, customer_token=customer_token, _strict_response_validation=True - ) + client2 = AsyncOpenint(base_url=base_url, api_key=None, _strict_response_validation=True) with pytest.raises( TypeError, - match="Could not resolve authentication method. Expected the api_key to be set. Or for the `Authorization` headers to be explicitly omitted", + match="Could not resolve authentication method. Expected either api_key or customer_token to be set. Or for one of the `authorization` or `Authorization` headers to be explicitly omitted", ): client2._build_request(FinalRequestOptions(method="get", url="/foo")) request2 = client2._build_request( - FinalRequestOptions(method="get", url="/foo", headers={"Authorization": Omit()}) + FinalRequestOptions(method="get", url="/foo", headers={"authorization": Omit()}) ) - assert request2.headers.get("Authorization") is None + assert request2.headers.get("authorization") is None def test_default_query_option(self) -> None: client = AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - default_query={"query_param": "bar"}, + base_url=base_url, api_key=api_key, _strict_response_validation=True, default_query={"query_param": "bar"} ) request = client._build_request(FinalRequestOptions(method="get", url="/foo")) url = httpx.URL(request.url) @@ -1445,10 +1286,7 @@ class Model(BaseModel): def test_base_url_setter(self) -> None: client = AsyncOpenint( - base_url="https://example.com/from_init", - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, + base_url="https://example.com/from_init", api_key=api_key, _strict_response_validation=True ) assert client.base_url == "https://example.com/from_init/" @@ -1458,22 +1296,18 @@ def test_base_url_setter(self) -> None: def test_base_url_env(self) -> None: with update_env(OPENINT_BASE_URL="http://localhost:5000/from/env"): - client = AsyncOpenint(api_key=api_key, customer_token=customer_token, _strict_response_validation=True) + client = AsyncOpenint(api_key=api_key, _strict_response_validation=True) assert client.base_url == "http://localhost:5000/from/env/" @pytest.mark.parametrize( "client", [ AsyncOpenint( - base_url="http://localhost:5000/custom/path/", - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, + base_url="http://localhost:5000/custom/path/", api_key=api_key, _strict_response_validation=True ), AsyncOpenint( base_url="http://localhost:5000/custom/path/", api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=httpx.AsyncClient(), ), @@ -1494,15 +1328,11 @@ def test_base_url_trailing_slash(self, client: AsyncOpenint) -> None: "client", [ AsyncOpenint( - base_url="http://localhost:5000/custom/path/", - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, + base_url="http://localhost:5000/custom/path/", api_key=api_key, _strict_response_validation=True ), AsyncOpenint( base_url="http://localhost:5000/custom/path/", api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=httpx.AsyncClient(), ), @@ -1523,15 +1353,11 @@ def test_base_url_no_trailing_slash(self, client: AsyncOpenint) -> None: "client", [ AsyncOpenint( - base_url="http://localhost:5000/custom/path/", - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, + base_url="http://localhost:5000/custom/path/", api_key=api_key, _strict_response_validation=True ), AsyncOpenint( base_url="http://localhost:5000/custom/path/", api_key=api_key, - customer_token=customer_token, _strict_response_validation=True, http_client=httpx.AsyncClient(), ), @@ -1549,9 +1375,7 @@ def test_absolute_request_url(self, client: AsyncOpenint) -> None: assert request.url == "https://myapi.com/foo" async def test_copied_client_does_not_close_http(self) -> None: - client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=True) assert not client.is_closed() copied = client.copy() @@ -1563,9 +1387,7 @@ async def test_copied_client_does_not_close_http(self) -> None: assert not client.is_closed() async def test_client_context_manager(self) -> None: - client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=True) async with client as c2: assert c2 is client assert not c2.is_closed() @@ -1588,11 +1410,7 @@ class Model(BaseModel): async def test_client_max_retries_validation(self) -> None: with pytest.raises(TypeError, match=r"max_retries cannot be None"): AsyncOpenint( - base_url=base_url, - api_key=api_key, - customer_token=customer_token, - _strict_response_validation=True, - max_retries=cast(Any, None), + base_url=base_url, api_key=api_key, _strict_response_validation=True, max_retries=cast(Any, None) ) @pytest.mark.respx(base_url=base_url) @@ -1603,16 +1421,12 @@ class Model(BaseModel): respx_mock.get("/foo").mock(return_value=httpx.Response(200, text="my-custom-format")) - strict_client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + strict_client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=True) with pytest.raises(APIResponseValidationError): await strict_client.get("/foo", cast_to=Model) - client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=False - ) + client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=False) response = await client.get("/foo", cast_to=Model) assert isinstance(response, str) # type: ignore[unreachable] @@ -1641,39 +1455,13 @@ class Model(BaseModel): @mock.patch("time.time", mock.MagicMock(return_value=1696004797)) @pytest.mark.asyncio async def test_parse_retry_after_header(self, remaining_retries: int, retry_after: str, timeout: float) -> None: - client = AsyncOpenint( - base_url=base_url, api_key=api_key, customer_token=customer_token, _strict_response_validation=True - ) + client = AsyncOpenint(base_url=base_url, api_key=api_key, _strict_response_validation=True) headers = httpx.Headers({"retry-after": retry_after}) options = FinalRequestOptions(method="get", url="/foo", max_retries=3) calculated = client._calculate_retry_timeout(remaining_retries, options, headers) assert calculated == pytest.approx(timeout, 0.5 * 0.875) # pyright: ignore[reportUnknownMemberType] - @mock.patch("openint._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) - @pytest.mark.respx(base_url=base_url) - async def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.get("/connection").mock(side_effect=httpx.TimeoutException("Test timeout error")) - - with pytest.raises(APITimeoutError): - await self.client.get( - "/connection", cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}} - ) - - assert _get_open_connections(self.client) == 0 - - @mock.patch("openint._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) - @pytest.mark.respx(base_url=base_url) - async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter) -> None: - respx_mock.get("/connection").mock(return_value=httpx.Response(500)) - - with pytest.raises(APIStatusError): - await self.client.get( - "/connection", cast_to=httpx.Response, options={"headers": {RAW_RESPONSE_HEADER: "stream"}} - ) - - assert _get_open_connections(self.client) == 0 - @pytest.mark.parametrize("failures_before_success", [0, 2, 4]) @mock.patch("openint._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout) @pytest.mark.respx(base_url=base_url) @@ -1701,7 +1489,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: respx_mock.get("/connection").mock(side_effect=retry_handler) - response = await client.with_raw_response.get_connection() + response = await client.with_raw_response.list_connections() assert response.retries_taken == failures_before_success assert int(response.http_request.headers.get("x-stainless-retry-count")) == failures_before_success @@ -1726,7 +1514,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: respx_mock.get("/connection").mock(side_effect=retry_handler) - response = await client.with_raw_response.get_connection(extra_headers={"x-stainless-retry-count": Omit()}) + response = await client.with_raw_response.list_connections(extra_headers={"x-stainless-retry-count": Omit()}) assert len(response.http_request.headers.get_list("x-stainless-retry-count")) == 0 @@ -1750,7 +1538,7 @@ def retry_handler(_request: httpx.Request) -> httpx.Response: respx_mock.get("/connection").mock(side_effect=retry_handler) - response = await client.with_raw_response.get_connection(extra_headers={"x-stainless-retry-count": "42"}) + response = await client.with_raw_response.list_connections(extra_headers={"x-stainless-retry-count": "42"}) assert response.http_request.headers.get("x-stainless-retry-count") == "42"